Example usage for com.google.gwt.core.ext SelectionProperty getCurrentValue

List of usage examples for com.google.gwt.core.ext SelectionProperty getCurrentValue

Introduction

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

Prototype

String getCurrentValue();

Source Link

Document

The value for the permutation currently being considered.

Usage

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;// w  w w  . ja  v a2 s  .co 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.googlecode.mgwt.ui.generator.DeviceDensityGenerator.java

License:Apache License

protected void writeImplementation(TreeLogger logger, SelectionProperty property, SourceWriter writer) {
    writer.println("public boolean isMidDPI() {");
    writer.println("return " + property.getCurrentValue().equals("mid") + ";");
    writer.println("}");

    writer.println("public boolean isHighDPI() {");
    writer.println("return " + property.getCurrentValue().equals("high") + ";");
    writer.println("}");

    writer.println("public boolean isXHighDPI() {");
    writer.println("return " + property.getCurrentValue().equals("xhigh") + ";");
    writer.println("}");

    writer.commit(logger);// w  w w. j  a  v  a2 s . c  o  m
}

From source file:com.googlecode.mgwt.ui.generator.FormFactorGenerator.java

License:Apache License

@Override
protected void writeImplementation(TreeLogger logger, SelectionProperty property, SourceWriter writer) {
    writer.println("public boolean isPhone() {");
    writer.println("return " + property.getCurrentValue().equals("phone") + ";");
    writer.println("}");

    writer.println("public boolean isTablet() {");
    writer.println("return " + property.getCurrentValue().equals("tablet") + ";");
    writer.println("}");

    writer.println("public boolean isDesktop() {");
    writer.println("return " + property.getCurrentValue().equals("desktop") + ";");
    writer.println("}");

    writer.commit(logger);/*  w  w  w.  ja va  2  s  .c  om*/
}

From source file:com.googlecode.mgwt.ui.generator.OsDetectionGenerator.java

License:Apache License

@Override
protected void writeImplementation(TreeLogger logger, SelectionProperty property, SourceWriter writer) {
    writer.println("public boolean isAndroid() {");
    writer.println("return isAndroidTablet() || isAndroidPhone();");
    writer.println("}");

    writer.println("public boolean isIPhone() {");
    writer.println("return " + property.getCurrentValue().equals("iphone") + " || "
            + property.getCurrentValue().equals("retina") + ";");
    writer.println("}");

    writer.println("public boolean isIPad() {");
    writer.println("return " + property.getCurrentValue().equals("ipad") + " || "
            + property.getCurrentValue().equals("ipad_retina") + ";");
    writer.println("}");

    writer.println("public boolean isIOs() {");
    writer.println("return isIPhone() || isIPad();");
    writer.println("}");

    writer.println("public boolean isDesktop() {");
    writer.println("return " + property.getCurrentValue().equals("desktop") + ";");
    writer.println("}");

    writer.println("public boolean isBlackBerry() {");
    writer.println("return false;");
    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 " + property.getCurrentValue().equals("android_tablet") + ";");
    writer.println("}");

    writer.println("public boolean isAndroidPhone() {");
    writer.println("return " + property.getCurrentValue().equals("android") + ";");
    writer.println("}");

    writer.println("public boolean isRetina() {");
    writer.println("return " + property.getCurrentValue().equals("retina") + ";");
    writer.println("}");

    writer.println("public boolean isIPadRetina() {");
    writer.println("return " + property.getCurrentValue().equals("ipad_retina") + ";");
    writer.println("}");

    writer.commit(logger);//from  ww  w . j  a v  a  2  s .  co m
}

From source file:com.googlecode.mgwt.ui.generator.RebindingGenerator.java

License:Apache License

private WriteHolder createWriteHolder(TreeLogger logger, GeneratorContext context, JClassType classType,
        SelectionProperty property, String typeName) {
    // get the package name
    String packageName = classType.getPackage().getName();
    // build name for implementation class
    String simpleName = classType.getSimpleSourceName() + "_" + property.getCurrentValue();
    PrintWriter printWriter = context.tryCreate(logger, packageName, simpleName);
    ClassSourceFileComposerFactory composer = new ClassSourceFileComposerFactory(packageName, simpleName);
    composer.addImplementedInterface(typeName);
    return new WriteHolder(packageName, simpleName, composer, printWriter);
}

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  www . j  a  v  a  2s .  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:com.guit.rebind.common.AbstractGenerator.java

License:Apache License

protected String processImplName(String implName) {
    SelectionProperty s = findSelectionProperty("ui.xml.prefix");
    String prefix = s.getCurrentValue();
    return prefix + implName;
}

From source file:com.sencha.gxt.core.rebind.BindingPropertyGenerator.java

License:sencha.com license

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

    JClassType toGenerate = oracle.findType(typeName).isInterface();
    if (toGenerate == null) {
        logger.log(Type.ERROR, typeName + " is not an interface");
        throw new UnableToCompleteException();
    }//from www .  j a v a 2  s .  c om

    PropertyName annotation = toGenerate.getAnnotation(PropertyName.class);
    if (annotation == null) {
        logger.log(Type.ERROR, "Cannot generate with a @PropertyName anntation on the type");
        throw new UnableToCompleteException();
    }

    String propertyName = annotation.value();
    SelectionProperty property;
    String value;
    try {
        property = context.getPropertyOracle().getSelectionProperty(logger, propertyName);
        value = property.getCurrentValue();
    } catch (BadPropertyValueException e) {
        logger.log(Type.ERROR, "Error occured loading property: ", e);
        throw new UnableToCompleteException();
    }
    String packageName = toGenerate.getPackage().getName();
    String simpleSourceName = toGenerate.getName().replace('.', '_') + "_" + value;
    PrintWriter pw = context.tryCreate(logger, packageName, simpleSourceName);
    if (pw == null) {
        return packageName + "." + simpleSourceName;
    }

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

    for (JMethod method : toGenerate.getMethods()) {
        if (method.getReturnType().isPrimitive() != JPrimitiveType.BOOLEAN && !method.getReturnType().isClass()
                .getQualifiedSourceName().equals(Name.getSourceNameForClass(Boolean.class))) {
            logger.log(Type.ERROR, "Methods must return boolean or Boolean");
            throw new UnableToCompleteException();
        }
        sw.println("%1$s {", method.getReadableDeclaration(false, true, true, true, true));

        PropertyValue val = method.getAnnotation(PropertyValue.class);
        if (val == null) {
            logger.log(Type.ERROR, "Method must have a @PropertyValue annotation");
            throw new UnableToCompleteException();
        }

        if (!property.getPossibleValues().contains(val.value()) && val.warn()) {
            logger.log(Type.WARN,
                    "Value '" + val
                            + "' is not present in the current set of possible values for selection property "
                            + propertyName);
        }
        sw.indentln("return %1$b;", val.value().equals(value));

        sw.println("}");
    }

    sw.commit(logger);

    return factory.getCreatedClassName();
}

From source file:de.swm.commons.mobile.generator.OsDetectionGenerator.java

License:Apache License

/**
 * {@inheritDoc}//w w  w  .ja  v a 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;

}

From source file:org.cruxframework.crux.core.rebind.AbstractInterfaceWrapperProxyCreator.java

License:Apache License

/**
 * //from  w w w.  j av  a2 s .  c  o m
 * @return
 */
protected String getUserAgent() {
    try {
        SelectionProperty userAgent = context.getPropertyOracle().getSelectionProperty(logger, "user.agent");
        return userAgent == null ? null : userAgent.getCurrentValue();
    } catch (BadPropertyValueException e) {
        logger.log(TreeLogger.ERROR, "Can not read user.agent property.", e);
        throw new CruxGeneratorException();
    }
}