List of usage examples for com.google.gwt.core.ext TreeLogger branch
public final TreeLogger branch(TreeLogger.Type type, String msg)
null caught and helpInfo. 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; }