Example usage for com.google.gwt.core.ext TreeLogger branch

List of usage examples for com.google.gwt.core.ext TreeLogger branch

Introduction

In this page you can find the example usage for com.google.gwt.core.ext TreeLogger branch.

Prototype

public final TreeLogger branch(TreeLogger.Type type, String msg) 

Source Link

Document

Calls #branch(com.google.gwt.core.ext.TreeLogger.Type,String,Throwable,com.google.gwt.core.ext.TreeLogger.HelpInfo) with a null caught and helpInfo.

Usage

From source file:com.arcbees.chosen.rebind.VersionInspectorLinker.java

License:Apache License

private void checkLatestVersionIfPresent(TreeLogger baseLogger, Dependency dependency) {
    if (dependency.isPresent()) {
        String artifactId = dependency.getArtifactId();
        logger = new Logger(baseLogger.branch(DEBUG, "Checking version information for " + artifactId));
        logger.debug("You can disable this check by adding this line to your GWT module:");
        logger.debug("<set-configuration-property name=\"verifyNewerVersion\" value=\"false\"/>");

        checkLatestVersion(dependency);//  w w w.jav a 2s. c o  m
    }
}

From source file:com.bedatadriven.rebar.style.rebind.less.LessCompiler.java

License:Apache License

public LessCompiler(TreeLogger parentLogger) {
    logger = parentLogger.branch(TreeLogger.Type.DEBUG, "Compiling LESS...");

}

From source file:com.colinalworth.gwt.websockets.rebind.ServerCreator.java

License:Apache License

/**
 * Helper method to build up the list of types that can go over the wire
 * @param logger/*from   w w  w . ja va2 s.c  o  m*/
 * @param serviceInterface
 * @param serviceSuperClass
 * @param serializerBuilder
 */
private void appendMethodParameters(TreeLogger logger, JClassType serviceInterface, Class<?> serviceSuperClass,
        SerializableTypeOracleBuilder serializerBuilder) {
    TreeLogger l = logger.branch(Type.DEBUG, "Adding params types to " + serviceInterface.getName());
    for (JMethod m : serviceInterface.getMethods()) {
        if (isRemoteMethod(m, serviceSuperClass)) {
            JParameter[] parameters = m.getParameters();
            for (int i = 0; i < parameters.length; i++) {
                JParameter param = parameters[i];
                if (i + 1 != m.getParameters().length || param.getType().isInterface() == null || !param
                        .getType().isInterface().getQualifiedSourceName().equals(Callback.class.getName())) {
                    serializerBuilder.addRootType(l, param.getType());
                }
            }
        }
    }
}

From source file:com.dom_distiller.client.JsTestEntryGenerator.java

License:Open Source License

public static List<JMethod> findTests(TreeLogger logger, GeneratorContext context, JClassType classType)
        throws UnableToCompleteException {
    if (DEBUG)/*from w w w. j  a  v a 2  s.  co m*/
        logger = logger.branch(TreeLogger.WARN, "Finding tests for class: " + classType.getName());

    List<JMethod> tests = new ArrayList<JMethod>();
    for (JMethod method : classType.getMethods()) {
        if (method.getName().startsWith("test")) {
            if (DEBUG)
                logger.log(TreeLogger.WARN, "Found test: " + method.getName());
            verifyTestSignature(logger, classType, method);
            tests.add(method);
        }
    }
    return tests;
}

From source file:com.gafactory.core.rebind.PropertyAccessGenerator.java

License:sencha.com license

@Override
public String generate(TreeLogger logger, GeneratorContext context, String typeName)
        throws UnableToCompleteException {
    // make sure it is an interface
    TypeOracle oracle = context.getTypeOracle();

    propertyAccessInterface = oracle.findType(Name.getSourceNameForClass(PropertyAccess.class));
    modelKeyProviderInterface = oracle.findType(Name.getSourceNameForClass(ModelKeyProvider.class));
    valueProviderInterface = oracle.findType(Name.getSourceNameForClass(ValueProvider.class));
    labelProviderInterface = oracle.findType(Name.getSourceNameForClass(LabelProvider.class));
    JClassType toGenerate = oracle.findType(typeName).isInterface();
    if (toGenerate == null) {
        logger.log(TreeLogger.ERROR, typeName + " is not an interface type");
        throw new UnableToCompleteException();
    }/*ww w .  j  ava  2  s.  c o  m*/
    if (!toGenerate.isAssignableTo(propertyAccessInterface)) {
        logger.log(Type.ERROR, "This isn't a PropertyAccess subtype...");
        throw new UnableToCompleteException();
    }

    // Get the name of the new type
    String packageName = toGenerate.getPackage().getName();
    String simpleSourceName = toGenerate.getName().replace('.', '_') + "Impl";
    PrintWriter pw = context.tryCreate(logger, packageName, simpleSourceName);
    if (pw == null) {
        return packageName + "." + simpleSourceName;
    }

    // start making the class, with basic imports
    ClassSourceFileComposerFactory factory = new ClassSourceFileComposerFactory(packageName, simpleSourceName);
    factory.addImplementedInterface(typeName);
    SourceWriter sw = factory.createSourceWriter(context, pw);

    // for each method,
    for (JMethod m : toGenerate.getOverridableMethods()) {
        TreeLogger l = logger.branch(Type.DEBUG, "Building method: " + m.getReadableDeclaration());

        // no support for params at this time
        if (m.getParameters().length != 0) {
            l.log(Type.ERROR, "Method " + m.toString() + " must not have parameters.");
            throw new UnableToCompleteException();
        }

        // ask for the types that provide the property data
        JClassType ret = m.getReturnType().isClassOrInterface();
        final AbstractCreator c;
        if (ret.isAssignableTo(valueProviderInterface)) {
            c = new ValueProviderCreator(context, l, m);
        } else if (ret.isAssignableTo(modelKeyProviderInterface)) {
            c = new ModelKeyProviderCreator(context, l, m);
        } else if (ret.isAssignableTo(labelProviderInterface)) {
            c = new LabelProviderCreator(context, l, m);
        } else {
            logger.log(Type.ERROR, "Method uses a return type that cannot be generated");
            throw new UnableToCompleteException();
        }
        c.create();
        // build the method
        // public ValueProvider<T, V> name() { return NameValueProvider.instance;
        // }
        sw.println("public %1$s %2$s() {", m.getReturnType().getQualifiedSourceName(), m.getName());
        sw.indentln("return %1$s;", c.getInstanceExpression());
        sw.println("}");
    }

    sw.commit(logger);

    return factory.getCreatedClassName();
}

From source file:com.google.code.gwt.database.rebind.DataServiceGenerator.java

License:Apache License

@Override
public String generate(TreeLogger logger, GeneratorContext context, String requestedClass)
        throws UnableToCompleteException {

    // Assertions:

    TypeOracle typeOracle = context.getTypeOracle();
    assert (typeOracle != null);

    JClassType dataService = typeOracle.findType(requestedClass);
    if (dataService == null) {
        logger.log(TreeLogger.ERROR, "Unable to find metadata for type '" + requestedClass + "'", null);
        throw new UnableToCompleteException();
    }//from  www  .  j a v  a 2  s.  c  o  m

    if (dataService.isInterface() == null) {
        logger.log(TreeLogger.ERROR, dataService.getQualifiedSourceName() + " is not an interface", null);
        throw new UnableToCompleteException();
    }

    Connection conAnnotation = getAnnotation(dataService, Connection.class);
    if (conAnnotation == null) {
        logger.log(TreeLogger.ERROR,
                "DataService interface (or the interface it is implementing) must be annotated"
                        + " with @Connection to define database connection details");
        throw new UnableToCompleteException();
    }

    // All basic assertions checked: Generate the code!

    SqlProxyCreator creator = new SqlProxyCreator(
            logger.branch(TreeLogger.DEBUG,
                    "Generating proxy methods to database '" + conAnnotation.name() + "'..."),
            context, dataService);
    return creator.create();
}

From source file:com.googlecode.serialization.JsonSerializationGenerator.java

License:Apache License

private static void addRequiredRoots(TreeLogger logger, final TypeOracle typeOracle,
        final SerializableTypeOracleBuilder stob) throws NotFoundException {
    logger = logger.branch(TreeLogger.DEBUG, "Analyzing implicit types");

    // String is always instantiable.
    final JClassType stringType = typeOracle.getType(String.class.getName());
    stob.addRootType(logger, stringType);

    // IncompatibleRemoteServiceException is always serializable
    final JClassType icseType = typeOracle.getType(IncompatibleRemoteServiceException.class.getName());
    stob.addRootType(logger, icseType);/*from   w  w  w .  j  a  v  a2  s. com*/
}

From source file:com.msco.mil.server.com.sencha.gxt.explorer.rebind.SampleGenerator.java

License:sencha.com license

@Override
public String generate(TreeLogger logger, GeneratorContext context, String typeName)
        throws UnableToCompleteException {
    // Get access to metadata about the type to be generated
    TypeOracle oracle = context.getTypeOracle();
    JClassType toGenerate = oracle.findType(typeName).isClass();

    // Get the name of the new type
    String packageName = toGenerate.getPackage().getName();
    String simpleSourceName = toGenerate.getName().replace('.', '_') + "Impl";
    PrintWriter pw = context.tryCreate(logger, packageName, simpleSourceName);
    if (pw == null) {
        return packageName + "." + simpleSourceName;
    }/*from  w ww .j  a  v  a 2 s  .c  o  m*/

    // Generate an HTML file resource for every example and write the source
    JClassType[] types = oracle.getTypes();

    // Build a ResourceOracle capable of reading java files
    sourceOracle = new ResourceOracleImpl(logger.branch(Type.DEBUG, "Gathering sources"));

    // Clean up these prefixes to not have filters
    PathPrefixSet prefixes = ((ResourceOracleImpl) context.getResourcesOracle()).getPathPrefixes();
    sourceOracle.setPathPrefixes(new PathPrefixSet());
    for (PathPrefix p : prefixes.values()) {
        sourceOracle.getPathPrefixes().add(new PathPrefix(p.getPrefix(), null));
    }
    ResourceOracleImpl.refresh(logger, sourceOracle);

    // Load the header and footer HTML content
    try {
        String slashyPackageName = getClass().getPackage().getName().replace('.', '/');
        javaHeader = Utility.getFileFromClassPath(slashyPackageName + "/header.html");
        footer = Utility.getFileFromClassPath(slashyPackageName + "/footer.html");
    } catch (IOException e) {
        logger.log(Type.ERROR, "Header or Footer failed to be read", e);
        throw new UnableToCompleteException();
    }

    // Find all examples, annotated with @Detail
    Set<ExampleDetailModel> examples = new HashSet<ExampleDetailModel>();
    Map<String, List<ExampleDetailModel>> hierarchy = new HashMap<String, List<ExampleDetailModel>>();

    Set<SourceModel> exampleSources = new HashSet<SourceModel>();
    for (JClassType type : types) {
        Example.Detail detail = type.getAnnotation(Example.Detail.class);
        if (detail != null) {
            ExampleDetailModel example = new ExampleDetailModel(logger, context, type, detail);

            // Collect sources to be built into html
            exampleSources.addAll(example.getAllSources());

            List<ExampleDetailModel> exampleList = hierarchy.get(detail.category());
            if (exampleList == null) {
                exampleList = new ArrayList<ExampleDetailModel>();
                hierarchy.put(detail.category(), exampleList);
            }
            examples.add(example);
            exampleList.add(example);
        }
    }

    // Sort folders, sort within those folders
    List<String> folders = new ArrayList<String>(hierarchy.keySet());
    Collections.sort(folders);
    for (List<ExampleDetailModel> contents : hierarchy.values()) {
        Collections.sort(contents);
    }

    // Actually build source for each type
    for (SourceModel type : exampleSources) {
        TreeLogger l = logger.branch(Type.DEBUG, "Writing HTML file for " + type.getName());

        // attempt to create the output file
        if (type.getType() == FileType.JAVA) {
            writeTypeToHtml(l, context, type.getJClassType());
        } else {
            writeFileToHtml(l, context, type.getPath());
        }
    }

    // Start making the class, with basic imports
    ClassSourceFileComposerFactory factory = new ClassSourceFileComposerFactory(packageName, simpleSourceName);
    factory.setSuperclass(typeName);
    factory.addImport(Name.getSourceNameForClass(Category.class));
    factory.addImport(Name.getSourceNameForClass(ImageResource.class));
    factory.addImport(Name.getSourceNameForClass(GWT.class));
    factory.addImport(Name.getSourceNameForClass(Example.class));
    factory.addImport(Name.getSourceNameForClass(Source.class));
    factory.addImport(Name.getSourceNameForClass(Source.FileType.class));
    SourceWriter sw = factory.createSourceWriter(context, pw);

    // Write the ctor
    sw.println("public %1$s() {", simpleSourceName);
    sw.indent();
    // Declare variables that will be used
    sw.println("Category c;");
    sw.println("ImageResource icon;");
    sw.println("Example e;");
    sw.println("Source dir;");
    Set<String> names = new HashSet<String>();
    Map<JClassType, String> bundles = new HashMap<JClassType, String>();
    for (String folder : folders) {
        // TODO escape name
        sw.println("c = new Category(\"%1$s\");", folder);
        for (ExampleDetailModel example : hierarchy.get(folder)) {
            // make sure the bundle to be used exists
            if (!bundles.containsKey(example.getClientBundleType())) {
                String bundleName = getNextName("bundle", names);
                sw.println("%1$s %2$s = GWT.create(%1$s.class);",
                        example.getClientBundleType().getQualifiedSourceName(), bundleName);

                bundles.put(example.getClientBundleType(), bundleName);
            }

            // write out the example, adding it to the current category
            writeExample(sw, bundles.get(example.getClientBundleType()), example);
        }
        sw.println("categories.add(c);");
    }
    sw.outdent();
    sw.println("}");// end ctor

    sw.commit(logger);

    return factory.getCreatedClassName();
}

From source file:com.promis.generators.BaseGenerator.java

License:Mozilla Public License

@Override
public String generate(TreeLogger treeLogger, GeneratorContext generatorContext, String typeName)
        throws UnableToCompleteException {
    JClassType interfaceType = interfaceType(generatorContext.getTypeOracle(), typeName, treeLogger);

    String packageName = getPackageName(interfaceType);
    String implName = interfaceType.getName().replace(".", "_") + "Impl";
    TreeLogger logger = treeLogger.branch(Type.INFO, "Generating: " + implName);
    logger.log(Type.INFO, "Package: " + packageName);
    PrintWriter printWriter = generatorContext.tryCreate(treeLogger, packageName, implName);
    if (printWriter != null) {
        BaseGeneratorClient client = getClient();

        client.writer = new IndentedWriter(printWriter);
        client.implName = implName;/* w ww . ja v  a 2  s.  co m*/
        client.generatorContext = generatorContext;
        client.oracle = generatorContext.getTypeOracle();
        client.interfaceType = interfaceType;
        client.logger = logger;

        client.generate(packageName);
        generatorContext.commit(treeLogger, printWriter);
    }
    return packageName + "." + implName;
}

From source file:com.rhizospherejs.gwt.rebind.RhizosphereGenerator.java

License:Open Source License

@Override
public String generate(TreeLogger logger, GeneratorContext context, String requestedClass)
        throws UnableToCompleteException {
    TypeOracle oracle = context.getTypeOracle();
    JClassType modelType;/*from   w  w w.  j  av  a 2s .c o m*/
    try {
        modelType = oracle.getType(requestedClass);
    } catch (NotFoundException e) {
        logger.log(TreeLogger.ERROR, "Unable to find class type for " + requestedClass + ":" + e);
        throw new UnableToCompleteException();
    }

    BridgeCapabilities bridgeCapabilities = new BridgeCapabilities(
            logger.branch(TreeLogger.TRACE, "Initializing BridgeCapabilities."), oracle).configure();
    ModelInspector inspector = new ModelInspector(
            logger.branch(TreeLogger.TRACE, "Initializing ModelInspector."), oracle, modelType,
            bridgeCapabilities).configure();

    String mappingPackageName = modelType.getPackage().getName();
    String mappingClassName = MappingWriter.getMappingClassName(modelType.getSimpleSourceName());
    PrintWriter pw = context.tryCreate(logger, mappingPackageName, mappingClassName);
    if (pw == null) {
        logger.log(TreeLogger.INFO, mappingClassName + " already exists. Nothing to do.");
        return mappingPackageName + "." + mappingClassName;
    }

    MappingWriter writer = new MappingWriter(logger.branch(TreeLogger.TRACE, "Initializing MappingWriter."), pw,
            mappingPackageName, modelType.getSimpleSourceName(), bridgeCapabilities, inspector);
    writer.write();
    context.commit(logger, pw);
    return mappingPackageName + "." + mappingClassName;
}