Example usage for com.google.gwt.user.rebind SourceWriter indent

List of usage examples for com.google.gwt.user.rebind SourceWriter indent

Introduction

In this page you can find the example usage for com.google.gwt.user.rebind SourceWriter indent.

Prototype

void indent();

Source Link

Usage

From source file:org.rstudio.core.rebind.StaticDataResourceGenerator.java

License:Open Source License

@Override
public String createAssignment(TreeLogger logger, ResourceContext context, JMethod method)
        throws UnableToCompleteException {

    URL[] resources = ResourceGeneratorUtil.findResources(logger, context, method);

    if (resources.length != 1) {
        logger.log(TreeLogger.ERROR, "Exactly one resource must be specified", null);
        throw new UnableToCompleteException();
    }//  w  w w.ja  va2 s  .c  o m

    URL resource = resources[0];
    String outputUrlExpression = context.deploy(resource, null, true);

    SourceWriter sw = new StringSourceWriter();
    // Write the expression to create the subtype.
    sw.println("new " + StaticDataResource.class.getName() + "() {");
    sw.indent();

    // Convenience when examining the generated code.
    sw.println("// " + resource.toExternalForm());

    sw.println("public String getUrl() {");
    sw.indent();
    sw.println("return " + outputUrlExpression + ";");
    sw.outdent();
    sw.println("}");

    sw.println("public com.google.gwt.safehtml.shared.SafeUri getSafeUri() {");
    sw.indent();
    sw.println("return new org.rstudio.core.client.SafeUriStringImpl(" + outputUrlExpression + ");");
    sw.outdent();
    sw.println("}");

    sw.println("public String getName() {");
    sw.indent();
    sw.println("return \"" + method.getName() + "\";");
    sw.outdent();
    sw.println("}");

    sw.outdent();
    sw.println("}");

    return sw.toString();
}

From source file:org.senchalabs.gwt.gwtdriver.SeExporterGenerator.java

License:Apache License

@Override
public String generate(TreeLogger logger, GeneratorContext context, String typeName)
        throws UnableToCompleteException {
    TypeOracle oracle = context.getTypeOracle();

    JClassType jso = oracle.findType(Name.getSourceNameForClass(JavaScriptObject.class));

    JClassType toGenerate = oracle.findType(typeName).isClass();

    String packageName = toGenerate.getPackage().getName();
    String simpleSourceName = toGenerate.getName().replace('.', '_') + "Impl";
    PrintWriter pw = context.tryCreate(logger, packageName, simpleSourceName);
    if (pw == null) {
        return packageName + "." + simpleSourceName;
    }//w w w. ja  v  a2  s  . c om

    ClassSourceFileComposerFactory factory = new ClassSourceFileComposerFactory(packageName, simpleSourceName);
    factory.setSuperclass(typeName);
    SourceWriter sw = factory.createSourceWriter(context, pw);

    List<String> exportedTypes;
    try {
        exportedTypes = context.getPropertyOracle().getConfigurationProperty(SELENIUM_METHODS).getValues();
    } catch (BadPropertyValueException e) {
        logger.log(TreeLogger.Type.ERROR,
                "Can't find any config property for " + SELENIUM_METHODS + " declared", e);
        throw new UnableToCompleteException();
    }
    sw.println("protected void exportRegisteredTypes() {");
    sw.indent();
    //for each type set up in a config property,
    for (String exportedType : exportedTypes) {
        JClassType toExport = oracle.findType(exportedType);
        if (toExport == null) {
            logger.log(TreeLogger.Type.ERROR,
                    "Cannot find " + exportedType + " be sure it is a valid GWT type");
            throw new UnableToCompleteException();
        }
        MethodsFor refersToType = toExport.getAnnotation(MethodsFor.class);
        if (refersToType == null) {
            logger.log(Type.ERROR, "Type " + exportedType
                    + " is declared as having webdriver methods, but has no @MethodsFor annotation");
            throw new UnableToCompleteException();
        }
        //verify a default ctor - if not, methods must be static
        boolean requireStatic = toExport.getConstructors().length != 0
                && toExport.findConstructor(new JType[] {}) == null;
        if (requireStatic) {
            logger.log(Type.INFO, "No default constructor found, all marked methods must be static");
        }
        TreeLogger typeLogger = logger.branch(TreeLogger.Type.DEBUG, "Exporting methods in " + exportedType);
        //iterate through the methods
        for (JMethod m : toExport.getInheritableMethods()) {
            Method refersToMethod = m.getAnnotation(Method.class);
            if (refersToMethod == null) {
                continue;
            }
            TreeLogger methodLogger = typeLogger.branch(Type.DEBUG, "Examining " + m.getName());
            if (requireStatic && !m.isStatic()) {
                typeLogger.log(Type.ERROR, "No default constructor found for " + exportedType
                        + ", can't export instance method" + m.getName());
                typeLogger.log(Type.ERROR,
                        "Either mark the method as static, or ensure there is a default constructor.");
                throw new UnableToCompleteException();
            }
            //verify that the method matches exactly one method in the webdriver side
            //TODO make this a little faster
            String matchingMethod = null;
            for (java.lang.reflect.Method exportableMethod : refersToType.value().getMethods()) {
                if (refersToMethod.value().equals(exportableMethod.getName())) {
                    if (matchingMethod != null) {
                        methodLogger.log(Type.ERROR,
                                "Multiple methods found that match " + refersToMethod.value());
                        throw new UnableToCompleteException();
                    }
                    matchingMethod = refersToMethod.value();
                }
            }
            if (matchingMethod == null) {
                methodLogger.log(Type.ERROR, "Can't find a method that matches " + refersToMethod.value());
                throw new UnableToCompleteException();
            }

            //emit a registerFunction call wrapping it
            sw.println("registerFunction(\"%1$s\", \"%2$s\", new %3$s() {",
                    escape(refersToType.value().getName()), escape(matchingMethod),
                    Name.getSourceNameForClass(Function.class));
            sw.indent();
            sw.println("public Object apply(%1$s<?> args) {", Name.getSourceNameForClass(JsArray.class));
            sw.indent();
            JType retType = m.getReturnType();
            if (retType.isPrimitive() != null) {
                switch (retType.isPrimitive()) {
                case VOID:
                    //do nothing
                    break;
                case INT:
                case DOUBLE:
                case BOOLEAN:
                    sw.print("return \"\" + ");
                    break;
                default:
                    methodLogger.log(Type.ERROR, "Can't return primitive " + retType + " from exported method");
                    throw new UnableToCompleteException();
                }
            } else if (retType.isClass() != null && retType.getQualifiedSourceName().equals("java.lang.String")
                    || ((retType.isClass() != null) && retType.isClass().isAssignableTo(jso))
                    || ((retType.isInterface() != null)
                            && oracle.getSingleJsoImplInterfaces().contains(retType))) {
                sw.print("return ");
            } else {
                methodLogger.log(Type.ERROR,
                        "Can't return non-jso, non-supported primitive " + retType + " from exported method");
                throw new UnableToCompleteException();
            }
            if (m.isStatic()) {
                sw.print(exportedType);
            } else {
                sw.print("%1$s.<%2$s>create(%2$s.class)", GWT.class.getName(), exportedType);
            }
            sw.print(".%1$s(", matchingMethod);
            //iterate through the arguments
            //verify the arg type is legal
            JType[] erasedParameterTypes = m.getErasedParameterTypes();
            for (int i = 0; i < erasedParameterTypes.length; i++) {
                JType type = erasedParameterTypes[i];

                if (type.isPrimitive() != null || type.getQualifiedSourceName().equals("java.lang.String")) {
                    //cast uglyness
                    sw.print("args.<%2$s>cast().get(%1$d)", i, getJsArray(type));
                } else if (type.isClass() != null && type.isClass().isAssignableTo(jso)) {
                    //normal array plus cast() trickery
                    sw.print("args.get(%1$d).<%2$s>cast()", i, type.getQualifiedSourceName());
                } else if (type.isInterface() != null
                        && oracle.getSingleJsoImplInterfaces().contains(type.isInterface())) {
                    //single jso cast thing
                    sw.print("args.get(%1$d).<%2$s>cast()", i,
                            oracle.getSingleJsoImpl(type.isInterface()).getQualifiedSourceName());
                } else {//TODO goktug's magic new jsinterface
                    methodLogger.log(Type.ERROR, "Can't handle argument of type " + type);
                    throw new UnableToCompleteException();
                }
                if (i != erasedParameterTypes.length - 1) {
                    sw.println(",");
                }
            }
            sw.println(");");

            if (m.getReturnType() == JPrimitiveType.VOID) {
                sw.println("return null;");
            }

            sw.outdent();
            sw.println("}");
            sw.outdent();
            sw.println("});");
        }
    }
    sw.outdent();
    sw.println("}");

    sw.commit(logger);

    return factory.getCreatedClassName();
}

From source file:org.switchyard.console.components.rebind.ComponentExtensionManagerGenerator.java

License:Apache License

private void generateClass(TreeLogger logger, GeneratorContext context, String packageName, String className,
        List<JClassType> componentExtensionClasses) {
    PrintWriter pw = context.tryCreate(logger, packageName, className);
    if (pw == null) {
        return;/*from ww  w.  j  av  a  2 s  .c  o m*/
    }

    ClassSourceFileComposerFactory composerFactory = new ClassSourceFileComposerFactory(packageName, className);

    // imports
    composerFactory.addImport(HashMap.class.getCanonicalName());
    composerFactory.addImport(Map.class.getCanonicalName());
    composerFactory.addImport(ComponentProvider.class.getCanonicalName());
    composerFactory.addImport(ComponentExtensionManager.class.getCanonicalName());
    composerFactory.addImport(ComponentProviderProxyImpl.class.getCanonicalName());
    composerFactory.addImport(GWT.class.getCanonicalName());
    composerFactory.addImport(Inject.class.getCanonicalName());

    // interface
    composerFactory.addImplementedInterface(ComponentExtensionManager.class.getCanonicalName());

    SourceWriter sw = composerFactory.createSourceWriter(context, pw);

    // fields
    sw.println(
            "private Map<String, ComponentProviderProxy> _providers = new HashMap<String, ComponentProviderProxy>();");
    sw.println("private Map<String, String> _typeToName = new HashMap<String, String>();");

    // constructor
    sw.println("public " + className + "() {");
    sw.indent();
    for (JClassType extensionClass : componentExtensionClasses) {
        ComponentExtension extensionAnnotation = extensionClass.getAnnotation(ComponentExtension.class);
        sw.println("_providers.put(\"" + extensionAnnotation.componentName()
                + "\", new ComponentProviderProxyImpl(\"" + extensionAnnotation.displayName() + "\") {");
        sw.indent();
        sw.println("public ComponentProvider instantiate() {");
        sw.indentln("return GWT.create(" + extensionClass.getQualifiedSourceName() + ".class);");
        sw.println("}");
        sw.outdent();
        sw.println("});");
        for (String type : extensionAnnotation.activationTypes()) {
            sw.println("_typeToName.put(\"" + type + "\", \"" + extensionAnnotation.componentName() + "\");");
        }
    }
    sw.outdent();
    sw.println("}");

    // methods
    // getExtensionProviders
    sw.println("public Map<String, ComponentProviderProxy> getExtensionProviders() {");
    sw.indentln("return _providers;");
    sw.println("}");

    // getExtensionProviderByComponentName
    sw.println("public ComponentProviderProxy getExtensionProviderByComponentName(String componentName) {");
    sw.indent();
    sw.println("if (_providers.containsKey(componentName)) {");
    sw.indentln("return _providers.get(componentName);");
    sw.println("}");
    sw.println("return null;");
    sw.outdent();
    sw.println("}");

    // getExtensionProviderByTypeName
    sw.println("public ComponentProviderProxy getExtensionProviderByTypeName(String typeName) {");
    sw.indent();
    sw.println("if (_typeToName.containsKey(typeName)) {");
    sw.indentln("return getExtensionProviderByComponentName(_typeToName.get(typeName));");
    sw.println("}");
    sw.println("return null;");
    sw.outdent();
    sw.println("}");

    // close it out
    sw.outdent();
    sw.println("}");

    context.commit(logger, pw);
}

From source file:org.tiwonk.gwt.rest.generator.ClientResourceGenerator.java

License:Apache License

private void saveMethodReturnsLocation(GeneratorInfo info, SourceWriter writer, JMethod method)
        throws UnableToCompleteException {

    String callbackParam = info.asyncCallbackParam.getName();
    String resourceParam = info.resourceParam.getName();
    String methodName = info.httpMethod.toString();

    // RequestBuilder request = new RequestBuilder(RequestBuilder.POST, getResourceURL());
    writer.println();/*from   w  w w  .j  av  a  2  s  .  c  o  m*/
    writer.indent();
    writer.println("RequestBuilder request = new RequestBuilder(RequestBuilder." + methodName
            + ", getResourceURL());");

    // request.setHeader("Content-Type", "application/vnd.example.v1.person");

    String consumes = info.consumes(method);
    if (consumes != null) {
        writer.print("request.setHeader(\"Content-Type\", \"");
        writer.print(consumes);
        writer.println("\");");
    }

    String produces = info.produces(method);
    if (produces != null) {
        writer.print("request.setHeader(\"Accept\", \"");
        writer.print(produces);
        writer.println("\");");
    }

    // JSONObject json = new JSONObject(person);
    // String payload = json.toString();
    writer.println();
    writer.print("JSONObject json = new JSONObject(");
    writer.print(resourceParam);
    writer.println(");");
    writer.println("String payload = json.toString();");

    //    try {
    //     request.sendRequest(payload, new RequestCallback() {
    writer.println();
    writer.println("try {");
    writer.indent();
    writer.println("request.sendRequest(payload, new RequestCallback() {");
    writer.indent();

    //    @Override
    //    public void onResponseReceived(Request request, Response response) {
    //      
    //      if (
    //        response.getStatusCode() != Response.SC_CREATED &&
    //        response.getStatusCode() != Response.SC_OK
    //      ) {
    //        onError(request, new ResourceAccessException(response));
    //        return;
    //      }
    //      
    //      String location = response.getHeader("Location");
    //      callback.onSuccess(location);
    //      
    //    }
    writer.println();
    writer.println("@Override");
    writer.println("public void onResponseReceived(Request request, Response response) {");
    writer.indent();
    writer.println("if (");
    writer.println("  response.getStatusCode() != Response.SC_CREATED &&");
    writer.println("  response.getStatusCode() != Response.SC_OK");
    writer.println(") {");
    writer.println("  onError(request, new ResourceAccessException(response));");
    writer.println("  return;");
    writer.println("}");
    writer.println();
    writer.println("String location = response.getHeader(\"Location\");");
    writer.print(callbackParam);
    writer.println(".onSuccess(location);");
    writer.outdent();
    writer.println("}");

    //    @Override
    //    public void onError(Request request, Throwable e) {
    //      callback.onFailure(e);
    //    }
    //  });
    writer.println();
    writer.println("@Override");
    writer.println("public void onError(Request request, Throwable e) {");
    writer.print("  ");
    writer.print(callbackParam);
    writer.println(".onFailure(e);");
    writer.println("}");
    writer.outdent();
    writer.println("});");
    writer.outdent();

    //  } catch (RequestException e) {
    //    callback.onFailure(e);
    //  }
    writer.println();
    writer.println("} catch (RequestException e) {");
    writer.print("  ");
    writer.print(callbackParam);
    writer.println(".onFailure(e);");
    writer.println("}");
    writer.outdent();

}

From source file:org.tiwonk.gwt.rest.generator.ClientResourceGenerator.java

License:Apache License

private void saveMethodReturnsEntity(GeneratorInfo info, SourceWriter writer, JMethod method)
        throws UnableToCompleteException {

    String callbackParam = info.asyncCallbackParam.getName();
    String resourceParam = info.resourceParam.getName();
    String callbackType = info.asyncType.getSimpleSourceName();
    String methodName = info.httpMethod.toString();

    // RequestBuilder request = new RequestBuilder(RequestBuilder.POST, getResourceURL());
    writer.println();//from   ww w.j  a  v  a2 s.c  om
    writer.indent();
    writer.println("RequestBuilder request = new RequestBuilder(RequestBuilder." + methodName
            + ", getResourceURL());");

    // request.setHeader("Content-Type", "application/vnd.example.v1.person");
    String consumes = info.consumes(method);
    if (consumes != null) {
        writer.print("request.setHeader(\"Content-Type\", \"");
        writer.print(consumes);
        writer.println("\");");
    }

    String produces = info.produces(method);
    if (produces != null) {
        writer.print("request.setHeader(\"Accept\", \"");
        writer.print(produces);
        writer.println("\");");
    }

    // JSONObject json = new JSONObject(person);
    // String payload = json.toString();
    writer.println();
    writer.print("JSONObject json = new JSONObject(");
    writer.print(resourceParam);
    writer.println(");");
    writer.println("String payload = json.toString();");

    //    try {
    //     request.sendRequest(payload, new RequestCallback() {
    writer.println();
    writer.println("try {");
    writer.indent();
    writer.println("request.sendRequest(payload, new RequestCallback() {");
    writer.indent();

    //    @Override
    //    public void onResponseReceived(Request request, Response response) {
    //      
    //      if (
    //        response.getStatusCode() != Response.SC_CREATED &&
    //        response.getStatusCode() != Response.SC_OK
    //      ) {
    //        onError(request, new ResourceAccessException(response));
    //        return;
    //      }
    //      JSONValue value = JSONParser.parseStrict(response.getText());
    //      PersonRef entity = value.isObject().getJavaScriptObject().cast();
    //      callback.onSuccess(entity);
    //    }
    writer.println();
    writer.println("@Override");
    writer.println("public void onResponseReceived(Request request, Response response) {");
    writer.indent();
    writer.println("if (");
    writer.println("  response.getStatusCode() != Response.SC_CREATED &&");
    writer.println("  response.getStatusCode() != Response.SC_OK");
    writer.println(") {");
    writer.println("  onError(request, new ResourceAccessException(response));");
    writer.println("  return;");
    writer.println("}");
    writer.println();
    writer.println("JSONValue value = JSONParser.parseStrict(response.getText());");
    writer.print(callbackType);
    writer.println(" entity = value.isObject().getJavaScriptObject().cast();");
    writer.print(callbackParam);
    writer.println(".onSuccess(entity);");
    writer.outdent();
    writer.println("}");

    //    @Override
    //    public void onError(Request request, Throwable e) {
    //      callback.onFailure(e);
    //    }
    //  });
    writer.println();
    writer.println("@Override");
    writer.println("public void onError(Request request, Throwable e) {");
    writer.print("  ");
    writer.print(callbackParam);
    writer.println(".onFailure(e);");
    writer.println("}");
    writer.outdent();
    writer.println("});");
    writer.outdent();

    //  } catch (RequestException e) {
    //    callback.onFailure(e);
    //  }
    writer.println();
    writer.println("} catch (RequestException e) {");
    writer.print("  ");
    writer.print(callbackParam);
    writer.println(".onFailure(e);");
    writer.println("}");
    writer.outdent();

}

From source file:org.tiwonk.gwt.rest.generator.ClientResourceGenerator.java

License:Apache License

private void saveMethodReturnsVoid(GeneratorInfo info, SourceWriter writer, JMethod method)
        throws UnableToCompleteException {

    String callbackParam = info.asyncCallbackParam.getName();
    String resourceParam = info.resourceParam.getName();
    String methodName = info.httpMethod.toString();

    // RequestBuilder request = new RequestBuilder(RequestBuilder.POST, getResourceURL());
    writer.println();//from  w ww  . j a  va 2s.c om
    writer.indent();
    writer.println("RequestBuilder request = new RequestBuilder(RequestBuilder." + methodName
            + ", getResourceURL());");
    writer.indent();
    // request.setHeader("Content-Type", "application/vnd.example.v1.person");
    String consumes = info.consumes(method);
    if (consumes != null) {
        writer.print("request.setHeader(\"Content-Type\", \"");
        writer.print(consumes);
        writer.println("\");");
    }

    String produces = info.produces(method);
    if (produces != null) {
        writer.print("request.setHeader(\"Accept\", \"");
        writer.print(produces);
        writer.println("\");");
    }

    // JSONObject json = new JSONObject(person);
    // String payload = json.toString();
    writer.println();
    writer.print("JSONObject json = new JSONObject(");
    writer.print(resourceParam);
    writer.println(");");
    writer.println("String payload = json.toString();");

    //    try {
    //     request.sendRequest(payload, new RequestCallback() {
    writer.println();
    writer.println("try {");
    writer.indent();
    writer.println("request.sendRequest(payload, new RequestCallback() {");

    //    @Override
    //    public void onResponseReceived(Request request, Response response) {
    //      
    //      if (
    //        response.getStatusCode() != Response.SC_CREATED &&
    //        response.getStatusCode() != Response.SC_OK
    //      ) {
    //        onError(request, new ResourceAccessException(response));
    //        return;
    //      }
    //      callback.onSuccess(null);
    //    }
    writer.println();
    writer.println("@Override");
    writer.println("public void onResponseReceived(Request request, Response response) {");
    writer.indent();
    writer.println("if (");
    writer.println("  response.getStatusCode() != Response.SC_CREATED &&");
    writer.println("  response.getStatusCode() != Response.SC_OK");
    writer.println(") {");
    writer.println("  onError(request, new ResourceAccessException(response));");
    writer.println("  return;");
    writer.println("}");
    writer.println();
    writer.print(callbackParam);
    writer.println(".onSuccess(null);");
    writer.outdent();
    writer.println("}");

    //    @Override
    //    public void onError(Request request, Throwable e) {
    //      callback.onFailure(e);
    //    }
    //  });
    writer.println();
    writer.println("@Override");
    writer.println("public void onError(Request request, Throwable e) {");
    writer.print("  ");
    writer.print(callbackParam);
    writer.println(".onFailure(e);");
    writer.println("}");
    writer.outdent();
    writer.println("});");
    writer.outdent();

    //  } catch (RequestException e) {
    //    callback.onFailure(e);
    //  }
    writer.println();
    writer.println("} catch (RequestException e) {");
    writer.print("  ");
    writer.print(callbackParam);
    writer.println(".onFailure(e);");
    writer.println("}");
    writer.outdent();

}

From source file:org.tiwonk.gwt.rest.generator.ClientResourceGenerator.java

License:Apache License

private void buildGetMethod(GeneratorInfo info, SourceWriter writer, JMethod method) {

    if (info.asyncType == null) {
        info.logger.log(TreeLogger.ERROR,
                "GET method must have a single parameter of type AsyncCallback<T> where T is the resource type.");
        return;//from   www  .  j a v a  2 s  .c  o m
    }

    String callbackParam = info.asyncCallbackParam.getName();

    String resourceSimpleName = info.asyncType.getSimpleSourceName();
    String contentType = info.produces(method);

    writer.indent();
    // RequestBuilder request = new RequestBuilder(RequestBuilder.GET, getResourceURL());
    writer.println("RequestBuilder request = new RequestBuilder(RequestBuilder.GET, getResourceURL());");

    // request.setHeader("Content-Type", "...");
    if (contentType != null) {
        writer.print("request.setHeader(\"Accept\", \"");
        writer.print(contentType);
        writer.println("\");");
    }

    /*
    request.setCallback(new RequestCallback() {
              
      @Override
      public void onResponseReceived(Request request, Response response) {
        if (response.getStatusCode() != Response.SC_OK) {
          onError(request, new ResourceAccessException(response));
          return;
        }
        JSONValue value = JSONParser.parseStrict(response.getText());
        Person entity = toPerson(value.isObject().getJavaScriptObject());
        callback.onSuccess(entity);
      }      
    */

    writer.println("request.setCallback(new RequestCallback() {");
    writer.indent();
    writer.println();
    writer.println("@Override");
    writer.println("public void onResponseReceived(Request request, Response response) {");
    writer.indent();
    writer.println("if (response.getStatusCode() != Response.SC_OK) {");
    writer.indent();
    writer.println("onError(request, new ResourceAccessException(response));");
    writer.println("return;");
    writer.outdent();
    writer.println("}");
    writer.println("JSONValue value = JSONParser.parseStrict(response.getText());");
    writer.print(resourceSimpleName);
    writer.print(" entity = ");
    writer.println("value.isObject().getJavaScriptObject().cast();");
    writer.print(callbackParam);
    writer.println(".onSuccess(entity);");

    writer.outdent();
    writer.println("}");

    /*/
      @Override
      public void onError(Request request, Throwable exception) {
        callback.onFailure(exception);
      }
    });
     */
    writer.println();
    writer.println("@Override");
    writer.println("public void onError(Request request, Throwable exception) {");
    writer.indent();
    writer.print(callbackParam);
    writer.println(".onFailure(exception);");
    writer.outdent();
    writer.println("}");
    writer.outdent();
    writer.println("});");

    /*
    try {
      request.send();
    } catch (RequestException e) {
      callback.onFailure(e);
    }
     */
    writer.println("try {");
    writer.println("  request.send();");
    writer.println("} catch (RequestException e) {");
    writer.print("  ");
    writer.print(callbackParam);
    writer.println(".onFailure(e);");
    writer.println("}");
    writer.outdent();

}

From source file:org.vaadin.alump.offlinebuilder.OfflineConnectorReflectionGenerator.java

License:Open Source License

/**
 * Generated method that returns new instances matching with given class names
 * @param allInstantiableClasses/*  w  w w  .  ja v a 2 s.  c om*/
 * @param sourceWriter
 */
private void generateFactoryMethod(List<JClassType> allInstantiableClasses, SourceWriter sourceWriter) {
    sourceWriter.println("public Object instantiate(String className) {");
    sourceWriter.indent();
    sourceWriter.println("if (className == null) { return null; }");
    for (JClassType classType : allInstantiableClasses) {
        if (classType.isAbstract()) {
            continue;
        }
        sourceWriter.println("else if (className.equals(\"" + classType.getQualifiedSourceName() + "\")) {");
        sourceWriter.indent();
        sourceWriter.println("return new " + classType.getQualifiedSourceName() + "( );");
        sourceWriter.outdent();
        sourceWriter.println("}");
    }
    sourceWriter.println("return null;");
    sourceWriter.outdent();
    sourceWriter.println("}");
}

From source file:org.vectomatic.dev.svg.impl.gen.ExternalSVGResourceGenerator.java

License:Apache License

@Override
public String createAssignment(TreeLogger logger, ResourceContext context, JMethod method)
        throws UnableToCompleteException {
    String name = method.getName();

    SourceWriter sw = new StringSourceWriter();
    sw.println("new " + ExternalSVGResourcePrototype.class.getName() + "(");
    sw.indent();
    sw.println('"' + name + "\",");
    // These are field names
    sw.println(externalSVGUrlIdent + ", " + externalSVGCacheIdent + ", ");
    sw.println(offsets.get(method.getName()).toString());
    sw.outdent();/*from  w ww  .j a  v a 2s .co m*/
    sw.print(")");

    return sw.toString();
}

From source file:org.vectomatic.dev.svg.impl.gen.SVGResourceGenerator.java

License:Open Source License

@Override
public String createAssignment(TreeLogger logger, ResourceContext context, JMethod method)
        throws UnableToCompleteException {

    // Extract the SVG name from the @Source annotation
    URL[] resources = ResourceGeneratorUtil.findResources(logger, context, method);
    if (resources.length != 1) {
        logger.log(TreeLogger.ERROR, "Exactly one resource must be specified", null);
        throw new UnableToCompleteException();
    }//from w  ww  . j av a2  s.com
    URL resource = resources[0];

    // The SVGResource is implemented as an anonymous inner class
    // xxx = new SVGResource() {
    //   public OMSVGSVGElement getSvg() {
    //     return OMSVGParser.parse("...");
    //   }
    // };
    SourceWriter sw = new StringSourceWriter();
    sw.println("new " + SVGResource.class.getName() + "() {");
    sw.indent();

    // Convenience when examining the generated code.
    sw.println("// " + resource.toExternalForm());

    sw.println("public " + OMSVGSVGElement.class.getName() + " getSvg() {");
    sw.indent();
    String toWrite = Util.readURLAsString(resource);
    if (getValidated(method)) {
        SVGValidator.validate(toWrite, resource.toExternalForm(), logger, null);
    }
    sw.println("return " + OMSVGParser.class.getName() + ".parse(\"" + Generator.escape(toWrite) + "\");");
    sw.outdent();
    sw.println("}");

    sw.println("public String getName() {");
    sw.indent();
    sw.println("return \"" + method.getName() + "\";");
    sw.outdent();
    sw.println("}");

    sw.outdent();
    sw.println("}");

    return sw.toString();
}