List of usage examples for com.google.gwt.core.ext PropertyOracle getSelectionProperty
SelectionProperty getSelectionProperty(TreeLogger logger, String propertyName) throws BadPropertyValueException;
From source file:com.allen_sauer.gwt.voices.crowd.rebind.GwtUserAgentProviderGenerator.java
License:Apache License
@Override public String generate(TreeLogger logger, GeneratorContext context, String typeName) throws UnableToCompleteException { TypeOracle typeOracle = context.getTypeOracle(); JClassType userType;/*from w w w .j a v a 2 s. c o m*/ try { userType = typeOracle.getType(typeName); } catch (NotFoundException e) { logger.log(TreeLogger.ERROR, "OOPS", e); throw new UnableToCompleteException(); } String packageName = userType.getPackage().getName(); String className = userType.getName(); JClassType remoteService = typeOracle.findType(typeName); if (remoteService == null) { logger.log(TreeLogger.ERROR, "Unable to find metadata for type '" + typeName + "'", null); throw new UnableToCompleteException(); } if (remoteService.isInterface() == null) { logger.log(TreeLogger.ERROR, remoteService.getQualifiedSourceName() + " is not an interface", null); throw new UnableToCompleteException(); } ClassSourceFileComposerFactory composerFactory = new ClassSourceFileComposerFactory(packageName, className + "Impl"); composerFactory.addImplementedInterface(remoteService.getQualifiedSourceName()); PrintWriter pw = context.tryCreate(logger, packageName, className + "Impl"); if (pw != null) { SourceWriter sw = composerFactory.createSourceWriter(context, pw); PropertyOracle propertyOracle = context.getPropertyOracle(); String userAgent; try { SelectionProperty userAgentProperty = propertyOracle.getSelectionProperty(logger, PROPERTY_USER_AGENT); // ALWAYS RETURNS 'gecko' userAgent = userAgentProperty.getCurrentValue(); } catch (BadPropertyValueException e) { logger.log(TreeLogger.ERROR, "Unable to find value for '" + PROPERTY_USER_AGENT + "'", e); throw new UnableToCompleteException(); } sw.println(); sw.println("public String getGwtUserAgent() {"); sw.indent(); if (userAgent == null) { sw.println("return null;"); } else { sw.println("return \"" + userAgent + "\";"); } sw.outdent(); sw.println("}\n"); sw.commit(logger); } return composerFactory.getCreatedClassName(); }
From source file:com.cgxlib.xq.rebind.BrowserGenerator.java
License:Apache License
@Override public String generate(TreeLogger logger, GeneratorContext context, String typeName) throws UnableToCompleteException { TypeOracle oracle = context.getTypeOracle(); PropertyOracle propOracle = context.getPropertyOracle(); String ua = null;/*from ww w . j av a 2s.c o m*/ try { ua = propOracle.getSelectionProperty(logger, "user.agent").getCurrentValue(); } catch (BadPropertyValueException e) { logger.log(TreeLogger.ERROR, "Can not resolve user.agent property", e); throw new UnableToCompleteException(); } JClassType clz = oracle.findType(typeName); String pName = clz.getPackage().getName(); String cName = clz.getName() + "_" + ua; PrintWriter pWriter = context.tryCreate(logger, pName, cName); if (pWriter != null) { ClassSourceFileComposerFactory cFact = new ClassSourceFileComposerFactory(pName, cName); cFact.setSuperclass(pName + "." + clz.getName()); SourceWriter writer = cFact.createSourceWriter(context, pWriter); writer.println("protected boolean isWebkit() {return " + "safari".equals(ua) + ";}"); writer.println("protected boolean isSafari() {return " + "safari".equals(ua) + ";}"); writer.println("protected boolean isOpera() {return " + "opera".equals(ua) + ";}"); writer.println("protected boolean isMozilla() {return " + ua.contains("gecko") + ";}"); writer.println("protected boolean isMsie() {return " + ua.contains("ie") + ";}"); writer.println("protected boolean isIe6() {return " + "ie6".equals(ua) + ";}"); writer.println("protected boolean isIe8() {return " + "ie8".equals(ua) + ";}"); writer.println("protected boolean isIe9() {return " + "ie9".equals(ua) + ";}"); writer.println("protected boolean isIe10() {return " + "ie10".equals(ua) + ";}"); writer.println("protected boolean isIe11() {return " + "gecko1_8".equals(ua) + ";}"); writer.println("public String toString() {return \"Browser:\"" + " + \" webkit=\" + webkit" + " + \" mozilla=\" + mozilla" + " + \" opera=\" + opera" + " + \" msie=\" + msie" + " + \" ie6=\" + ie6" + " + \" ie8=\" + ie8" + " + \" ie9=\" + ie9" + ";}"); writer.commit(logger); } return pName + "." + cName; }
From source file:com.googlecode.mgwt.ui.generator.RebindingGenerator.java
License:Apache License
private SelectionProperty getSelectionProperty(TreeLogger logger, GeneratorContext context, String propertyName) throws UnableToCompleteException { // get the property oracle PropertyOracle propertyOracle = context.getPropertyOracle(); SelectionProperty property = null;/*from w w w. j a va2 s .c o m*/ try { // get mgwt.os variable property = propertyOracle.getSelectionProperty(logger, propertyName); } catch (BadPropertyValueException e) { // if we can`t find it die logger.log(TreeLogger.ERROR, "can not resolve " + propertyName + " variable", e); throw new UnableToCompleteException(); } return property; }
From source file:com.googlecode.mgwt.useragent.rebind.UserAgentGenerator.java
License:Apache License
@Override public String generate(TreeLogger logger, GeneratorContext context, String typeName) throws UnableToCompleteException { TypeOracle typeOracle = context.getTypeOracle(); JClassType userType;/*from w w w. j a v a2s .c o m*/ try { userType = typeOracle.getType(typeName); } catch (NotFoundException e) { logger.log(TreeLogger.ERROR, "Unable to find metadata for type: " + typeName, e); throw new UnableToCompleteException(); } String packageName = userType.getPackage().getName(); String className = userType.getName(); className = className.replace('.', '_'); if (userType.isInterface() == null) { logger.log(TreeLogger.ERROR, userType.getQualifiedSourceName() + " is not an interface", null); throw new UnableToCompleteException(); } PropertyOracle propertyOracle = context.getPropertyOracle(); String userAgentValue; SelectionProperty selectionProperty; try { selectionProperty = propertyOracle.getSelectionProperty(logger, PROPERTY_USER_AGENT); userAgentValue = selectionProperty.getCurrentValue(); } catch (BadPropertyValueException e) { logger.log(TreeLogger.ERROR, "Unable to find value for '" + PROPERTY_USER_AGENT + "'", e); throw new UnableToCompleteException(); } String userAgentValueInitialCap = userAgentValue.substring(0, 1).toUpperCase(Locale.ENGLISH) + userAgentValue.substring(1); className = className + "Impl" + userAgentValueInitialCap; ClassSourceFileComposerFactory composerFactory = new ClassSourceFileComposerFactory(packageName, className); composerFactory.addImplementedInterface(userType.getQualifiedSourceName()); PrintWriter pw = context.tryCreate(logger, packageName, className); if (pw != null) { SourceWriter sw = composerFactory.createSourceWriter(context, pw); sw.println(); sw.println("public native String getRuntimeValue() /*-{"); sw.indent(); UserAgentPropertyGenerator.writeUserAgentPropertyJavaScript(sw, selectionProperty.getPossibleValues(), null); sw.outdent(); sw.println("}-*/;"); sw.println(); sw.println(); sw.println("public String getCompileTimeValue() {"); sw.indent(); sw.println("return \"" + userAgentValue.trim() + "\";"); sw.outdent(); sw.println("}"); sw.commit(logger); } return composerFactory.getCreatedClassName(); }
From source file:de.swm.commons.mobile.generator.OsDetectionGenerator.java
License:Apache License
/** * {@inheritDoc}/* w ww. j ava 2 s.c o m*/ */ @Override public String generate(TreeLogger logger, GeneratorContext context, String typeName) throws UnableToCompleteException { // get the property oracle PropertyOracle propertyOracle = context.getPropertyOracle(); SelectionProperty property = null; try { // get mgwt.os variable property = propertyOracle.getSelectionProperty(logger, "swmmmobile.os"); } catch (BadPropertyValueException e) { // if we can`t find it die logger.log(TreeLogger.ERROR, "can not resolve mgwt.os variable", e); throw new UnableToCompleteException(); } JClassType classType = null; try { // get the type we are looking for classType = context.getTypeOracle().getType(typeName); } catch (NotFoundException e) { // if we can`t get it die logger.log(TreeLogger.ERROR, "can not find type: '" + typeName + "'", e); throw new UnableToCompleteException(); } // get value of mmobile.os String mmobileProperty = property.getCurrentValue(); // get the package name String packageName = classType.getPackage().getName(); // build name for implementation class String simpleName = classType.getSimpleSourceName() + "_" + property.getCurrentValue(); // combine package name and simple name to full qualified String fullName = packageName + "." + simpleName; ClassSourceFileComposerFactory composer = new ClassSourceFileComposerFactory(packageName, simpleName); composer.addImplementedInterface(typeName); composer.addImport(typeName); PrintWriter printWriter = context.tryCreate(logger, packageName, simpleName); if (printWriter == null) { return fullName; } // start writing the implementation SourceWriter writer = composer.createSourceWriter(context, printWriter); writer.println("public boolean isAndroid() {"); writer.println("return isAndroidTablet() || isAndroidPhone();"); writer.println("}"); writer.println("public boolean isIPhone() {"); writer.println( "return " + mmobileProperty.equals("iphone") + " || " + mmobileProperty.equals("retina") + ";"); writer.println("}"); writer.println("public boolean isIPad() {"); writer.println("return " + mmobileProperty.equals("ipad") + ";"); writer.println("}"); writer.println("public boolean isIOs() {"); writer.println("return isIPhone() || isIPad();"); writer.println("}"); writer.println("public boolean isDesktop() {"); writer.println("return " + mmobileProperty.equals("desktop") + ";"); writer.println("}"); writer.println("public boolean isBlackBerry() {"); writer.println("return " + mmobileProperty.equals("blackberry") + ";"); writer.println("}"); writer.println("public boolean isTablet() {"); writer.println("return isDesktop() || isIPad() || isAndroidTablet();"); writer.println("}"); writer.println("public boolean isPhone() {"); writer.println("return isIPhone() || isAndroidPhone() || isBlackBerry();"); writer.println("}"); writer.println("public boolean isAndroidTablet() {"); writer.println("return " + mmobileProperty.equals("android_tablet") + ";"); writer.println("}"); writer.println("public boolean isAndroidPhone() {"); writer.println("return " + mmobileProperty.equals("android") + ";"); writer.println("}"); writer.println("public boolean isRetina() {"); writer.println("return " + mmobileProperty.equals("retina") + ";"); writer.println("}"); writer.commit(logger); return fullName; }