Refine search
private InvocableMemberBodyBuilder getInterfaceMethodBody(JavaType returnType) { final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("// Interface Implementation"); bodyBuilder.appendFormalLine(RETURN_0); return bodyBuilder; }
ImportRegistrationResolver importRegistrationResolver) { String typeName = target.getSimpleTypeName(); final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("if (!(" + OBJECT_NAME + " instanceof " + typeName + ")) {"); bodyBuilder.indent(); bodyBuilder.appendFormalLine("return false;"); bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("}"); bodyBuilder.appendFormalLine("if (this == " + OBJECT_NAME + ") {"); bodyBuilder.indent(); bodyBuilder.appendFormalLine("return true;"); bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("}"); bodyBuilder.appendFormalLine(typeName + " rhs = (" + typeName + ") " + OBJECT_NAME + ";"); bodyBuilder.appendFormalLine(builder.toString()); return bodyBuilder;
private InvocableMemberBodyBuilder getSingularEntityMutator(final FieldMetadata field, final JavaSymbolName hiddenIdFieldName) { final String entityName = field.getFieldName().getSymbolName(); final String entityIdName = hiddenIdFieldName.getSymbolName(); final String identifierMethodName = getIdentifierMethodName(field).getSymbolName(); final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("if (" + entityName + " != null) {"); bodyBuilder.indent(); bodyBuilder.appendFormalLine("if (" + entityName + "." + identifierMethodName + " () == null) {"); bodyBuilder.indent(); bodyBuilder.appendFormalLine(entityName + ".persist();"); bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("}"); bodyBuilder.appendFormalLine(THIS_DOT + entityIdName + " = " + entityName + "." + identifierMethodName + "();"); bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("} else {"); bodyBuilder.indent(); bodyBuilder.appendFormalLine(THIS_DOT + entityIdName + " = null;"); bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("}"); bodyBuilder.appendFormalLine(THIS_DOT + entityName + " = " + entityName + ";"); return bodyBuilder; }
private InvocableMemberBodyBuilder getSingularEntityAccessor(final FieldMetadata field, final JavaSymbolName hiddenIdFieldName) { final String entityName = field.getFieldName().getSymbolName(); final String entityIdName = hiddenIdFieldName.getSymbolName(); final String simpleFieldTypeName = field.getFieldType().getSimpleTypeName(); final String identifierMethodName = getIdentifierMethodName(field).getSymbolName(); final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("if (this." + entityIdName + " != null) {"); bodyBuilder.indent(); bodyBuilder.appendFormalLine("if (this." + entityName + " == null || this." + entityName + "." + identifierMethodName + "() != this." + entityIdName + ") {"); bodyBuilder.indent(); bodyBuilder.appendFormalLine(THIS_DOT + entityName + " = " + simpleFieldTypeName + ".find" + simpleFieldTypeName + "(this." + entityIdName + ");"); bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("}"); bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("} else {"); bodyBuilder.indent(); bodyBuilder.appendFormalLine(THIS_DOT + entityName + " = null;"); bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("}"); bodyBuilder.appendFormalLine("return this." + entityName + ";"); return bodyBuilder; }
private ConstructorMetadata getConstructor() { InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); // Generating constructor ConstructorMetadataBuilder constructor = new ConstructorMetadataBuilder(getId()); constructor.setModifier(Modifier.PUBLIC); bodyBuilder.appendFormalLine("// Mixin registration"); bodyBuilder.newLine(); // Generating body for (Entry<JavaType, JavaType> item : mixins.entrySet()) { bodyBuilder.appendFormalLine("setMixInAnnotation(%s.class, %s.class);", getNameOfJavaType(item.getKey()), getNameOfJavaType(item.getValue())); } // Adding body constructor.setBodyBuilder(bodyBuilder); return constructor.build(); }
InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("// Setup"); bodyBuilder.appendFormalLine("// Previous tasks"); bodyBuilder.newLine(); bodyBuilder.appendFormalLine("// Exercise"); bodyBuilder.appendFormalLine("// Execute method to test"); bodyBuilder.newLine(); bodyBuilder.appendFormalLine("// Verify"); bodyBuilder.appendFormalLine("// Check results with assertions");
/** * Builds a method to obtain the id value of a random generated entity * instance generated with data-on-demand. * * @return {@link MethodMetadata} */ private MethodMetadata getRandomIdMethod() { MethodMetadata method = getGovernorMethod(this.getRandomIdMethodName); if (method != null) { return method; } InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); // Pet pet = dod.getRandomPet(); bodyBuilder.appendFormalLine("%s %s = %s().%s();", getNameOfJavaType(this.entity), this.entityVar, getAccessorMethod(this.dodField).getMethodName(), this.getRandomMethodName); // Long id = pet.getId(); bodyBuilder.appendFormalLine("%s id = %s.%s();", getNameOfJavaType(this.identifierType), this.entityVar, this.identifierAccessorMethodName); // assertThat(id).as("Check the Data on demand generated a 'Pet' with an identifier").isNotNull(); bodyBuilder.appendFormalLine( "%s(id).as(\"Check the Data on demand generated a '%s' with an identifier\").isNotNull();", getNameOfJavaType(ASSERT_THAT), getNameOfJavaType(this.entity)); // return id; bodyBuilder.appendFormalLine("return id;"); MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PRIVATE, this.getRandomIdMethodName, this.identifierType, bodyBuilder); return methodBuilder.build(); }
/** * Build method body which delegates on repository * * @param methodToBeImplemented * @param isBatch * @param isDelete * @return */ private InvocableMemberBodyBuilder builMethodBody(final MethodMetadata methodToBeImplemented) { // Generate body InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); // Getting parameters String String parametersString = ""; for (JavaSymbolName parameterName : methodToBeImplemented.getParameterNames()) { parametersString = parametersString.concat(parameterName.getSymbolName()).concat(", "); } if (StringUtils.isNotBlank(parametersString)) { parametersString = parametersString.substring(0, parametersString.length() - 2); } bodyBuilder.appendFormalLine("%s %s().%s(%s);", methodToBeImplemented.getReturnType().equals(JavaType.VOID_PRIMITIVE) ? "" : "return", getAccessorMethod(repositoryFieldMetadata).getMethodName(), methodToBeImplemented .getMethodName().getSymbolName(), parametersString); return bodyBuilder; }
/** * Build "findOneForUpdate" method body which delegates on repository * * @param methodToBeImplemented * @return */ private InvocableMemberBodyBuilder buildFindOneForUpdateBody(MethodMetadata methodToBeImplemented) { // Generate body InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); final JavaSymbolName param0 = methodToBeImplemented.getParameterNames().get(0); // return entityRepository.findOneDetached(id); bodyBuilder.appendFormalLine("%s %s().%s(%s);", methodToBeImplemented.getReturnType().equals(JavaType.VOID_PRIMITIVE) ? "" : "return", getAccessorMethod(repositoryFieldMetadata).getMethodName(), FIND_ONE_DETACHED.getSymbolName(), param0); return bodyBuilder; }
private String getDigitsBody(final FieldMetadata field, final AnnotationMetadata digitsAnnotation, final String suffix) { final String fieldName = field.getFieldName().getSymbolName(); final JavaType fieldType = field.getFieldType(); final Integer integerValue = (Integer) digitsAnnotation.getAttribute(new JavaSymbolName("integer")).getValue(); final Integer fractionValue = (Integer) digitsAnnotation.getAttribute(new JavaSymbolName("fraction")).getValue(); final BigDecimal maxValue = new BigDecimal(StringUtils.rightPad("9", integerValue, '9') + "." + StringUtils.rightPad("9", fractionValue, '9')); final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); if (fieldType.equals(BIG_DECIMAL)) { bodyBuilder.appendFormalLine("if (" + fieldName + ".compareTo(new " + BIG_DECIMAL.getSimpleTypeName() + "(\"" + maxValue + "\")) == 1) {"); bodyBuilder.indent(); bodyBuilder.appendFormalLine(fieldName + " = new " + BIG_DECIMAL.getSimpleTypeName() + "(\"" + maxValue + "\");"); } else { bodyBuilder.appendFormalLine("if (" + fieldName + " > " + maxValue.doubleValue() + suffix + ") {"); bodyBuilder.indent(); bodyBuilder.appendFormalLine(fieldName + " = " + maxValue.doubleValue() + suffix + ";"); } bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("}"); return bodyBuilder.getOutput(); }
InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine( "model.addAttribute(\"application_locale\", %s.getLocale().getLanguage());", getNameOfJavaType(SpringJavaType.LOCALE_CONTEXT_HOLDER)); bodyBuilder.appendFormalLine("return \"accessibility\";");
InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); .appendFormalLine("LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();"); bodyBuilder.appendFormalLine("localeChangeInterceptor.setParamName(\"lang\");"); bodyBuilder.appendFormalLine("return localeChangeInterceptor;");
final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("return \"%s\";", entityItemName);
final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("return \"%s/edit\";", viewsPath);
private ConstructorMetadata getConstructor() { // Getting MessageSource field name final String messageSource = String.valueOf(this.messageSourceField.getFieldName()); // Generating constructor ConstructorMetadataBuilder constructor = new ConstructorMetadataBuilder(getId()); constructor.setModifier(Modifier.PUBLIC); constructor.addAnnotation(new AnnotationMetadataBuilder(SpringJavaType.AUTOWIRED)); // Adding parameters constructor.addParameter(messageSource, SpringJavaType.MESSAGE_SOURCE); // Generating body InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine(String.format("this.%s = %s;", messageSource, messageSource)); // Adding body constructor.setBodyBuilder(bodyBuilder); return constructor.build(); }
/** * Builds a method which returns the class of entity JavaType. * * @return MethodMetadataBuilder */ private MethodMetadata getEntityTypeGetterMethod() { List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); MethodMetadata existingMethod = getGovernorMethod(GET_ENTITY_TYPE_METHOD_NAME, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); // return ENTITY_TYPE.class; bodyBuilder.appendFormalLine("return %s.class;", this.entity.getNameIncludingTypeParameters(false, importResolver)); // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC, GET_ENTITY_TYPE_METHOD_NAME, JavaType.wrapperOf(JavaType.CLASS, this.entity), parameterTypes, parameterNames, bodyBuilder); // Build and return a MethodMetadata instance return methodBuilder.build(); }
InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("%s(model);", populateFormatsMethod.getMethodName());
final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.appendFormalLine("super();"); for (final FieldMetadataBuilder field : fields) { final String fieldName = field.getFieldName().getSymbolName(); bodyBuilder.appendFormalLine("this." + fieldName + " = " + fieldName + ";"); parameterNames.add(field.getFieldName());
/** * Builds a method which returns the class of the entity identifier JavaType. * * @return MethodMetadataBuilder */ private MethodMetadata getIdentifierTypeGetterMethod() { List<JavaSymbolName> parameterNames = new ArrayList<JavaSymbolName>(); List<AnnotatedJavaType> parameterTypes = new ArrayList<AnnotatedJavaType>(); MethodMetadata existingMethod = getGovernorMethod(GET_ID_TYPE_METHOD_NAME, AnnotatedJavaType.convertFromAnnotatedJavaTypes(parameterTypes)); if (existingMethod != null) { return existingMethod; } InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); // return IDENTIFIER_TYPE.class; bodyBuilder.appendFormalLine("return %s.class;", getNameOfJavaType(this.entityIdentifierType)); // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC, GET_ID_TYPE_METHOD_NAME, JavaType.wrapperOf(JavaType.CLASS, this.serviceMetadata.getIdType()), parameterTypes, parameterNames, bodyBuilder); // Build and return a MethodMetadata instance return methodBuilder.build(); }
/** * Builds constructor with EntityManager argument. * * @return ConstructorMetadataBuilder for adding constructor to ITD */ private ConstructorMetadataBuilder getConstructorWithEntityManager() { ConstructorMetadataBuilder constructorBuilder = new ConstructorMetadataBuilder(getId()); InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); constructorBuilder.addParameter(ENTITY_MANAGER_VAR, JpaJavaType.ENTITY_MANAGER); // this(entityManager, 10); bodyBuilder.appendFormalLine(String.format("this(%1$s, 10);", ENTITY_MANAGER_VAR)); constructorBuilder.setModifier(Modifier.PUBLIC); constructorBuilder.setBodyBuilder(bodyBuilder); CommentStructure comment = new CommentStructure(); List<String> paramsInfo = new ArrayList<String>(); paramsInfo.add(ENTITY_MANAGER_VAR + " to persist entities"); JavadocComment javadocComment = new JavadocComment(String.format("Creates a new {@link %s}.", this.governorPhysicalTypeMetadata.getType().getSimpleTypeName()), paramsInfo, null, null); comment.addComment(javadocComment, CommentLocation.BEGINNING); constructorBuilder.setCommentStructure(comment); return constructorBuilder; }