Commit 6ef9ceb30701de40c2662073957e7e8a9a43021d
- Diff rendering mode:
- inline
- side by side
addon-finder/src/main/java/org/springframework/roo/addon/finder/FinderMetadata.java
(23 / 2)
|   | |||
| 95 | 95 | // We declared the field in this ITD, so produce a public accessor for it | |
| 96 | 96 | InvocableMemberBodyBuilder bodyBuilder = new InvocableMemberBodyBuilder(); | |
| 97 | 97 | ||
| 98 | for (JavaSymbolName name : paramNames) { | ||
| 99 | bodyBuilder.appendFormalLine("if (" + name + " == null) throw new IllegalArgumentException(\"The " + name+ " argument is required\");"); | ||
| 98 | for (int i = 0; i < paramTypes.size(); i++) { | ||
| 99 | String name = paramNames.get(i).getSymbolName(); | ||
| 100 | |||
| 101 | StringBuilder length = new StringBuilder(); | ||
| 102 | if (paramTypes.get(i).equals(new JavaType("java.lang.String"))) { | ||
| 103 | length.append(" || ").append(paramNames.get(i)).append(".length() == 0"); | ||
| 104 | } | ||
| 105 | |||
| 106 | bodyBuilder.appendFormalLine("if (" + name + " == null" + length.toString() + ") throw new IllegalArgumentException(\"The " + name + " argument is required\");"); | ||
| 107 | |||
| 108 | if (length.length() > 0 && dynamicFinderMethodName.substring(dynamicFinderMethodName.indexOf(paramNames.get(i).getSymbolNameCapitalisedFirstLetter()) + name.length()).startsWith("Like")){ | ||
| 109 | bodyBuilder.appendFormalLine(name + " = " + name + ".replace('*', '%');"); | ||
| 110 | bodyBuilder.appendFormalLine("if (" + name + ".charAt(0) != '%') {"); | ||
| 111 | bodyBuilder.indent(); | ||
| 112 | bodyBuilder.appendFormalLine(name + " = \"%\" + " + name + ";"); | ||
| 113 | bodyBuilder.indentRemove(); | ||
| 114 | bodyBuilder.appendFormalLine("}"); | ||
| 115 | bodyBuilder.appendFormalLine("if (" + name + ".charAt(" + name + ".length() -1) != '%') {"); | ||
| 116 | bodyBuilder.indent(); | ||
| 117 | bodyBuilder.appendFormalLine(name + " = " + name + " + \"%\";"); | ||
| 118 | bodyBuilder.indentRemove(); | ||
| 119 | bodyBuilder.appendFormalLine("}"); | ||
| 120 | } | ||
| 100 | 121 | } | |
| 101 | 122 | ||
| 102 | 123 | bodyBuilder.appendFormalLine("javax.persistence.EntityManager em = new " + governorTypeDetails.getName().getSimpleTypeName() + "()." + entityMetadata.getEntityManagerField().getFieldName().getSymbolName() + ";"); |
classpath/src/main/resources/clinic.roo
(1 / 0)
|   | |||
| 42 | 42 | install finder -class ~.domain.Pet -finderName findPetsByNameAndWeight | |
| 43 | 43 | install finder -class ~.domain.Pet -finderName findPetsByOwner | |
| 44 | 44 | install finder -class ~.domain.Pet -finderName findPetsBySendRemindersAndWeightLessThan | |
| 45 | install finder -class ~.domain.Pet -finderName findPetsByTypeAndNameLike | ||
| 45 | 46 | install finder -class ~.domain.Visit -finderName findVisitsByDescriptionAndVisitDate | |
| 46 | 47 | install finder -class ~.domain.Visit -finderName findVisitsByVisitDateBetween | |
| 47 | 48 | install finder -class ~.domain.Visit -finderName findVisitsByDescriptionLike |
Comments
Add your comment
Please log in to comment



Add a new comment:
Login or create an account to post a comment