Package org.springframework.roo.classpath.itd

Examples of org.springframework.roo.classpath.itd.InvocableMemberBodyBuilder


                if (listType.equals(LIST)) {
                    realListType = ARRAY_LIST;
                }
                builder.getImportRegistrationResolver().addImport(realListType);

                final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
                bodyBuilder.appendFormalLine("if ("
                        + selectedFieldName.getSymbolName() + " != null) {");
                bodyBuilder.indent();
                bodyBuilder.appendFormalLine(entityName.getSymbolName()
                        + ".set" + StringUtils.capitalize(fieldName)
                        + "(new " + realListType.getSimpleTypeName() + "<" + parameterType.getSimpleTypeName()
                        + ">(" + selectedFieldName + "));");
                bodyBuilder.indentRemove();
                bodyBuilder.appendFormalLine("}");
                bodyBuilder.appendFormalLine("this."
                        + selectedFieldName.getSymbolName() + " = "
                        + selectedFieldName.getSymbolName() + ";");
                builderMethods.add(getMutatorMethod(selectedFieldName,
                        listType, bodyBuilder));
            }
            else if (field.getAnnotation(ROO_UPLOADED_FILE) != null) {
                builder.getImportRegistrationResolver().addImports(
                        PRIMEFACES_STREAMED_CONTENT,
                        PRIMEFACES_DEFAULT_STREAMED_CONTENT,
                        BYTE_ARRAY_INPUT_STREAM);

                final String fieldName = field.getFieldName().getSymbolName();
                final JavaSymbolName streamedContentFieldName = new JavaSymbolName(
                        fieldName + "StreamedContent");

                builderMethods.add(getFileUploadListenerMethod(field));

                final AnnotationMetadata annotation = field
                        .getAnnotation(ROO_UPLOADED_FILE);
                final String contentType = (String) annotation.getAttribute(
                        "contentType").getValue();
                final String fileExtension = StringUtils
                        .lowerCase(UploadedFileContentType.getFileExtension(
                                contentType).name());

                final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
                bodyBuilder.appendFormalLine("if ("
                        + entityName.getSymbolName() + " != null && "
                        + entityName.getSymbolName() + ".get"
                        + StringUtils.capitalize(fieldName) + "() != null) {");
                bodyBuilder.indent();
                bodyBuilder
                        .appendFormalLine("return new DefaultStreamedContent(new ByteArrayInputStream("
                                + entityName.getSymbolName()
                                + ".get"
                                + StringUtils.capitalize(fieldName)
                                + "()), \""
                                + contentType
                                + "\", \""
                                + fieldName
                                + "."
                                + fileExtension + "\");");
                bodyBuilder.indentRemove();
                bodyBuilder.appendFormalLine("}");
                bodyBuilder
                        .appendFormalLine("return new DefaultStreamedContent(new ByteArrayInputStream(\"\".getBytes()));");
                builderMethods.add(getAccessorMethod(streamedContentFieldName,
                        PRIMEFACES_STREAMED_CONTENT, bodyBuilder));
            }
        }
View Full Code Here


                        // A lower layer implements it
                        lowerLayerCallAdditions.copyAdditionsTo(builder,
                                governorTypeDetails);
                    }
                    final String body = method.getBody(lowerLayerCallAdditions);
                    final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
                    bodyBuilder.appendFormalLine(body);
                    List<JavaSymbolName> parameterNames = method
                            .getParameterNames(domainType, idType);
                    MethodMetadataBuilder methodMetadataBuilder = new MethodMetadataBuilder(
                            getId(), Modifier.PUBLIC, methodName,
                            method.getReturnType(domainType),
View Full Code Here

            return new MethodMetadataBuilder(userMethod);
        }

        final List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>();

        final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
        bodyBuilder.appendFormalLine("Object obj = getValue();");
        bodyBuilder.appendFormalLine("if (obj == null) {");
        bodyBuilder.indent();
        bodyBuilder.appendFormalLine("return null;");
        bodyBuilder.indentRemove();
        bodyBuilder.appendFormalLine("}");
        bodyBuilder
                .appendFormalLine("return (String) typeConverter.convertIfNecessary((("
                        + javaType.getNameIncludingTypeParameters(false,
                                builder.getImportRegistrationResolver())
                        + ") obj)."
                        + identifierAccessorMethod.getMethodName()
View Full Code Here

        final String identifierTypeName = idType
                .getNameIncludingTypeParameters(false,
                        builder.getImportRegistrationResolver());

        final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
        bodyBuilder
                .appendFormalLine("if (text == null || 0 == text.length()) {");
        bodyBuilder.indent();
        bodyBuilder.appendFormalLine("setValue(null);");
        bodyBuilder.appendFormalLine("return;");
        bodyBuilder.indentRemove();
        bodyBuilder.appendFormalLine("}");
        bodyBuilder.newLine();
        bodyBuilder.appendFormalLine(identifierTypeName + " identifier = ("
                + identifierTypeName
                + ") typeConverter.convertIfNecessary(text, "
                + identifierTypeName + ".class);");
        bodyBuilder.appendFormalLine("if (identifier == null) {");
        bodyBuilder.indent();
        bodyBuilder.appendFormalLine("setValue(null);");
        bodyBuilder.appendFormalLine("return;");
        bodyBuilder.indentRemove();
        bodyBuilder.appendFormalLine("}");
        bodyBuilder.newLine();
        bodyBuilder.appendFormalLine("setValue("
                + javaType.getNameIncludingTypeParameters(false,
                        builder.getImportRegistrationResolver()) + "."
                + findMethod.getMethodName() + "(identifier));");

        return new MethodMetadataBuilder(getId(), Modifier.PUBLIC, methodName,
View Full Code Here

    itdTypeDetails = builder.build();
  }

  private MethodMetadataBuilder getInstallEmbeddableConvertersMethod() {

    final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();

    if (this.embeddableTypes.isEmpty()) {
      return null;
    }
   
    // Generating all embeddableToString methods
    List<MethodMetadataBuilder> embeddableMethods = generateEmbeddableTypeToStringMethods();
   
    for (MethodMetadataBuilder method : embeddableMethods) {
      builder.addMethod(method);
      bodyBuilder
          .appendFormalLine(String.format(
              "registry.addConverter(%s());",
              method.getMethodName()));
    }
View Full Code Here

        "afterPropertiesSet");
    if (governorHasMethod(methodName)) {
      return null;
    }

    final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
    bodyBuilder.appendFormalLine("super.afterPropertiesSet();");
    bodyBuilder.appendFormalLine(INSTALL_LABEL_CONVERTERS.getSymbolName()
        + "(getObject());");
    if (!this.embeddableTypes.isEmpty()) {
      bodyBuilder.appendFormalLine(INSTALL_EMBEDDABLE_CONVERTERS
          .getSymbolName() + "(getObject());");
    }
    return new MethodMetadataBuilder(getId(), Modifier.PUBLIC, methodName,
        JavaType.VOID_PRIMITIVE, bodyBuilder);
  }
View Full Code Here

  private MethodMetadataBuilder getInstallLabelConvertersMethod() {
    final List<JavaType> sortedRelevantDomainTypes = new ArrayList<JavaType>(
        relevantDomainTypes);
    Collections.sort(sortedRelevantDomainTypes);

    final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();

    final Set<String> methodNames = new HashSet<String>();
    for (final JavaType formBackingObject : sortedRelevantDomainTypes) {
      String simpleName = formBackingObject.getSimpleTypeName();
      while (methodNames.contains(simpleName)) {
        simpleName += "_";
      }
      methodNames.add(simpleName);

      final JavaSymbolName toIdMethodName = new JavaSymbolName("get"
          + simpleName + "ToStringConverter");
      builder.addMethod(getToStringConverterMethod(formBackingObject,
          toIdMethodName, toStringMethods.get(formBackingObject)));
      bodyBuilder.appendFormalLine("registry.addConverter("
          + toIdMethodName.getSymbolName() + "());");

      final JavaSymbolName toTypeMethodName = new JavaSymbolName(
          "getIdTo" + simpleName + CONVERTER);
      final MethodMetadataBuilder toTypeConverterMethod = getToTypeConverterMethod(
          formBackingObject, toTypeMethodName,
          findMethods.get(formBackingObject),
          idTypes.get(formBackingObject));
      if (toTypeConverterMethod != null) {
        builder.addMethod(toTypeConverterMethod);
        bodyBuilder.appendFormalLine("registry.addConverter("
            + toTypeMethodName.getSymbolName() + "());");
      }

      // Only allow conversion if ID type is not String already.
      if (!idTypes.get(formBackingObject).equals(JavaType.STRING)) {
        final JavaSymbolName stringToTypeMethodName = new JavaSymbolName(
            "getStringTo" + simpleName + CONVERTER);
        builder.addMethod(getStringToTypeConverterMethod(
            formBackingObject, stringToTypeMethodName,
            idTypes.get(formBackingObject)));
        bodyBuilder.appendFormalLine("registry.addConverter("
            + stringToTypeMethodName.getSymbolName() + "());");
      }
    }

    for (final Entry<JavaType, Map<Object, JavaSymbolName>> entry : compositePrimaryKeyTypes
        .entrySet()) {
      final JavaType targetType = entry.getKey();
      final Map<Object, JavaSymbolName> jsonMethodNames = entry
          .getValue();

      final MethodMetadataBuilder jsonToConverterMethod = getJsonToConverterMethod(
          targetType,
          jsonMethodNames.get(CustomDataJsonTags.FROM_JSON_METHOD));
      if (jsonToConverterMethod != null) {
        builder.addMethod(jsonToConverterMethod);
        bodyBuilder.appendFormalLine("registry.addConverter("
            + jsonToConverterMethod.getMethodName().getSymbolName()
            + "());");
      }

      final MethodMetadataBuilder toJsonConverterMethod = getToJsonConverterMethod(
          targetType,
          jsonMethodNames.get(CustomDataJsonTags.TO_JSON_METHOD));
      if (toJsonConverterMethod != null) {
        builder.addMethod(toJsonConverterMethod);
        bodyBuilder.appendFormalLine("registry.addConverter("
            + toJsonConverterMethod.getMethodName().getSymbolName()
            + "());");
      }
    }
View Full Code Here

    final String base64Name = BASE_64.getNameIncludingTypeParameters(false,
        builder.getImportRegistrationResolver());
    final String typeName = targetType.getNameIncludingTypeParameters(
        false, builder.getImportRegistrationResolver());

    final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
    bodyBuilder.appendFormalLine("return new "
        + converterJavaType.getNameIncludingTypeParameters() + "() {");
    bodyBuilder.indent();
    bodyBuilder.appendFormalLine("public " + targetType.getSimpleTypeName()
        + " convert(String encodedJson) {");
    bodyBuilder.indent();
    bodyBuilder.appendFormalLine("return " + typeName + "."
        + jsonMethodName.getSymbolName() + "(new String(" + base64Name
        + ".decodeBase64(encodedJson)));");
    bodyBuilder.indentRemove();
    bodyBuilder.appendFormalLine("}");
    bodyBuilder.indentRemove();
    bodyBuilder.appendFormalLine("};");

    return new MethodMetadataBuilder(getId(), Modifier.PUBLIC, methodName,
        converterJavaType, bodyBuilder);
  }
View Full Code Here

    final JavaType converterJavaType = SpringJavaType.getConverterType(
        JavaType.STRING, targetType);
    final String idTypeName = idType.getNameIncludingTypeParameters(false,
        builder.getImportRegistrationResolver());

    final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
    bodyBuilder.appendFormalLine("return new "
        + converterJavaType.getNameIncludingTypeParameters() + "() {");
    bodyBuilder.indent();
    bodyBuilder.appendFormalLine("public "
        + targetType.getFullyQualifiedTypeName()
        + " convert(String id) {");
    bodyBuilder.indent();
    bodyBuilder
        .appendFormalLine("return getObject().convert(getObject().convert(id, "
            + idTypeName
            + ".class), "
            + targetType.getSimpleTypeName() + ".class);");
    bodyBuilder.indentRemove();
    bodyBuilder.appendFormalLine("}");
    bodyBuilder.indentRemove();
    bodyBuilder.appendFormalLine("};");

    return new MethodMetadataBuilder(getId(), Modifier.PUBLIC, methodName,
        converterJavaType, bodyBuilder);
  }
View Full Code Here

    final String base64Name = BASE_64.getNameIncludingTypeParameters(false,
        builder.getImportRegistrationResolver());
    final String targetTypeName = StringUtils.uncapitalize(targetType
        .getSimpleTypeName());

    final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder();
    bodyBuilder.appendFormalLine("return new "
        + converterJavaType.getNameIncludingTypeParameters() + "() {");
    bodyBuilder.indent();
    bodyBuilder
        .appendFormalLine("public String convert("
            + targetType.getSimpleTypeName() + " " + targetTypeName
            + ") {");
    bodyBuilder.indent();
    bodyBuilder.appendFormalLine("return " + base64Name
        + ".encodeBase64URLSafeString(" + targetTypeName + "."
        + jsonMethodName.getSymbolName() + "().getBytes());");
    bodyBuilder.indentRemove();
    bodyBuilder.appendFormalLine("}");
    bodyBuilder.indentRemove();
    bodyBuilder.appendFormalLine("};");

    return new MethodMetadataBuilder(getId(), Modifier.PUBLIC, methodName,
        converterJavaType, bodyBuilder);
  }
View Full Code Here

TOP

Related Classes of org.springframework.roo.classpath.itd.InvocableMemberBodyBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.