/** * Checks field type and creates a proper expression to check against null. * Mainly differences will be between primitive and non primitive values. * * @return a String with the expression to check. */ private String createNullExpression(FieldMetadata field) { String expression = ""; JavaType versionType = field.getFieldType(); if (versionType.isPrimitive()) { expression = String.format("%s.get%s() != 0", entityItemName, field.getFieldName() .getSymbolNameCapitalisedFirstLetter()); } else { expression = String.format("%s.get%s() != null", entityItemName, field.getFieldName() .getSymbolNameCapitalisedFirstLetter()); } return expression; }
+ relationInfo.fieldMetadata.getFieldName().getSymbolNameCapitalisedFirstLetter());
entityItemName, relationField.getSymbolNameCapitalisedFirstLetter(), relatedEntityIdentifier.getSymbolNameCapitalisedFirstLetter(), storedName);
.getFieldName().getSymbolNameCapitalisedFirstLetter(), storedName, entityIdentifier .getFieldName().getSymbolNameCapitalisedFirstLetter());
new AnnotationMetadataBuilder(JavaType.REQUEST_WRAPPER); requestWrapperAnnotation.addStringAttribute("className", String.format("%s.%sRequest", sei .getType().getPackage(), seiMethod.getMethodName().getSymbolNameCapitalisedFirstLetter())); requestWrapperAnnotation .addStringAttribute("localName", String.format("%sRequest", seiMethod.getMethodName() .getSymbolNameCapitalisedFirstLetter())); requestWrapperAnnotation.addStringAttribute( "targetNamespace", new AnnotationMetadataBuilder(JavaType.RESPONSE_WRAPPER); responseWrapperAnnotation.addStringAttribute("className", String.format("%s.%sResponse", sei .getType().getPackage(), seiMethod.getMethodName().getSymbolNameCapitalisedFirstLetter())); responseWrapperAnnotation.addStringAttribute("localName", String.format("%sResponse", seiMethod .getMethodName().getSymbolNameCapitalisedFirstLetter())); responseWrapperAnnotation.addStringAttribute( "targetNamespace", new AnnotationMetadataBuilder(JavaType.WEB_METHOD); webMethodAnnotation.addStringAttribute("action", String.format("urn:%s", seiMethod.getMethodName().getSymbolNameCapitalisedFirstLetter())); seiMethod.addAnnotation(webMethodAnnotation);
.append( "%1$s.get%2$s() != null && (%1$s.get%2$s().get%3$s() != null || %1$s.get%2$s().get%4$s() != null)", entityItemName, relationFieldName.getSymbolNameCapitalisedFirstLetter(), idFieldName.getSymbolNameCapitalisedFirstLetter(), versionFieldName.getSymbolNameCapitalisedFirstLetter()); bodyBuilder.append(")"); bodyBuilder.append("|| ( "); bodyBuilder.append("%1$s.get%2$s() != null && %1$s.get%2$s().get%3$s() != null", entityItemName, relationFieldName.getSymbolNameCapitalisedFirstLetter(), idFieldName.getSymbolNameCapitalisedFirstLetter()); bodyBuilder.append(")");
bodyBuilder.appendFormalLine("%s.get%s().get%s().remove(%s);", param0, mappedByCapitalized, info.fieldMetadata.getFieldName() .getSymbolNameCapitalisedFirstLetter(), param0); bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("}"); bodyBuilder.indent(); bodyBuilder.appendFormalLine("item.get%s().remove(%s);", info.fieldMetadata .getFieldName().getSymbolNameCapitalisedFirstLetter(), param0); bodyBuilder.indentRemove(); bodyBuilder.appendFormalLine("}"); "// Clear bidirectional one-to-many parent relationship with %s", childTypeName); bodyBuilder.appendFormalLine("for (%s item : %s.get%s()) {", childTypeName, param0, info.fieldMetadata.getFieldName().getSymbolNameCapitalisedFirstLetter()); bodyBuilder.indent(); bodyBuilder.appendFormalLine("item.set%s(null);", StringUtils.capitalize(info.mappedBy)); "// Clear bidirectional many-to-many parent relationship with %s", childTypeName); bodyBuilder.appendFormalLine("for (%s item : %s.get%s()) {", childTypeName, param0, info.fieldMetadata.getFieldName().getSymbolNameCapitalisedFirstLetter()); bodyBuilder.indent(); bodyBuilder.appendFormalLine("item.get%s().remove(%s);",
"%s.info(\"Web Service client %s has been created. URL: '{}'\", this.%s);", getLoggerField().getFieldName(), getEndPointField(endPoint).getFieldName() .getSymbolNameCapitalisedFirstLetter(), getEndPointField(endPoint).getFieldName());
relationInfo.fieldMetadata.getFieldName().getSymbolNameCapitalisedFirstLetter());
.replaceAll("[.]", "_"), new JavaSymbolName( controllerMapPath) .getSymbolNameCapitalisedFirstLetter());
.getFullyQualifiedPackageName().replaceAll("[.]", "_"), new JavaSymbolName(controllerPath) .getSymbolNameCapitalisedFirstLetter());
.replaceAll("[.]", "_"), new JavaSymbolName( controllerPath) .getSymbolNameCapitalisedFirstLetter());
/** * * This method returns valid id from received entity controller * * @param entity * @param typeLocationService * @return */ private String generateIdFromEntity(JavaType controller, TypeLocationService typeLocationService) { ClassOrInterfaceTypeDetails controllerDetails = typeLocationService .getTypeDetails(controller); AnnotationMetadata scaffoldAnnotation = controllerDetails .getAnnotation(RooJavaType.ROO_WEB_SCAFFOLD); JavaType entity = (JavaType) scaffoldAnnotation.getAttribute( "formBackingObject").getValue(); String entityPackage = entity.getPackage() .getFullyQualifiedPackageName(); String entityName = entity.getSimpleTypeName(); String mapId = String.format("l_%s_%s", entityPackage.replaceAll("[.]", "_"), new JavaSymbolName(entityName) .getSymbolNameCapitalisedFirstLetter()); return mapId; }
String entityId = String.format("l_%s_%s", entityPackage.replaceAll( "[.]", "_"), new JavaSymbolName(entityName) .getSymbolNameCapitalisedFirstLetter()); String entityPK = "";
.getFullyQualifiedPackageName().replaceAll("[.]", "_"), new JavaSymbolName(path.replaceAll("/", "")) .getSymbolNameCapitalisedFirstLetter());
private MethodMetadataBuilder getMethod(MethodMetadata method) { final InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); bodyBuilder.newLine(); bodyBuilder.appendFormalLine("// Setup"); bodyBuilder.appendFormalLine("// Implement additional setup if necessary"); bodyBuilder.newLine(); bodyBuilder.appendFormalLine("// Exercise"); bodyBuilder.newLine(); bodyBuilder.appendFormalLine("// Verify"); bodyBuilder.appendFormalLine("// Implement assertions"); bodyBuilder.newLine(); String methodName = "test".concat(method.getMethodName().getSymbolNameCapitalisedFirstLetter()); // Use the MethodMetadataBuilder for easy creation of MethodMetadata MethodMetadataBuilder methodBuilder = new MethodMetadataBuilder(getId(), Modifier.PUBLIC, new JavaSymbolName(methodName), JavaType.VOID_PRIMITIVE, bodyBuilder); // add annotations @Test and @Ignore("To be implemented by developer") methodBuilder.addAnnotation(new AnnotationMetadataBuilder(TEST).build()); AnnotationMetadataBuilder ignoreAnnotationBuilder = new AnnotationMetadataBuilder(IGNORE); ignoreAnnotationBuilder.addStringAttribute("value", "To be implemented by developer"); AnnotationMetadata ignoreAnnotation = ignoreAnnotationBuilder.build(); methodBuilder.addAnnotation(ignoreAnnotation); return methodBuilder; }