/** * Method that returns @RooDetail annotation * * @param relationField * Field that set the relationship * @param viewsList * Separated comma list that defines the parent views where the * new detail will be displayed. * @return */ private AnnotationMetadataBuilder getRooDetailAnnotation(final String relationField, final String viewsList) { AnnotationMetadataBuilder annotationDetail = new AnnotationMetadataBuilder(RooJavaType.ROO_DETAIL); annotationDetail.addStringAttribute(RELATION_FIELD_KEY, relationField); // Including views attribute if needed if (StringUtils.isNotEmpty(viewsList)) { String[] views = viewsList.split(","); List<StringAttributeValue> viewsValues = new ArrayList<StringAttributeValue>(); for (String view : views) { viewsValues.add(new StringAttributeValue(VALUE_SYM, view)); } ArrayAttributeValue<StringAttributeValue> viewsAttr = new ArrayAttributeValue<StringAttributeValue>(VIEWS_SYM, viewsValues); annotationDetail.addAttribute(viewsAttr); } return annotationDetail; }
final List<String> result = new ArrayList<String>(); final List<JavaType> result1 = new ArrayList<JavaType>(); for (final AnnotationAttributeValue<?> val : castValue.getValue()) {
@Override public String toString() { return getName() + " -> {" + StringUtils.join(value, ",") + "}"; } }
.getAttribute(new JavaSymbolName("excludeFields")); if (value == null) { value = new ArrayAttributeValue<StringAttributeValue>( new JavaSymbolName("excludeFields"), new ArrayList<StringAttributeValue>()); Validate.isInstanceOf(ArrayAttributeValue.class, value, errMsg); final ArrayAttributeValue<?> arrayVal = (ArrayAttributeValue<?>) value; for (final Object obj : arrayVal.getValue()) { Validate.isInstanceOf(StringAttributeValue.class, obj, errMsg); final StringAttributeValue sv = (StringAttributeValue) obj; attributes.add(new ArrayAttributeValue<StringAttributeValue>( new JavaSymbolName("excludeFields"), ignoreFields)); final AnnotationMetadataBuilder toStringAnnotationBuilder = new AnnotationMetadataBuilder(
for (Object o : arrayVal.getValue()) { if (!(o instanceof StringAttributeValue)) { logger.warning(getErrorMsg()); attributes.add(new ArrayAttributeValue<StringAttributeValue>( new JavaSymbolName("value"), desiredReports)); AnnotationMetadataBuilder annotationBuilder = new AnnotationMetadataBuilder(
new AnnotationMetadataBuilder(searchAnnotation); ArrayAttributeValue<AnnotationAttributeValue<?>> allFinders = new ArrayAttributeValue<AnnotationAttributeValue<?>>(new JavaSymbolName("finders"), findersToAdd); searchAnnotationBuilder.addAttribute(allFinders);
entityAttributes.addAll(mapViewerAttributesOld.getValue()); .getValue(); for (ClassAttributeValue currentEntity : mapViewerAttributesOldValues) { if (currentEntity.getValue().equals(controller)) { ArrayAttributeValue<ClassAttributeValue> entityLayersArray = new ArrayAttributeValue<ClassAttributeValue>( new JavaSymbolName("entityLayers"), entityAttributes);
@Override public Object getTagValue(final MemberHoldingTypeDetails type) { final AnnotationMetadata layerAnnotation = MemberFindingUtils.getAnnotationOfType(type.getAnnotations(), layerAnnotationType); if (layerAnnotation == null || layerAnnotation.getAttribute(domainTypesAttribute) == null) { return null; } final AnnotationAttributeValue<?> value = layerAnnotation.getAttribute(domainTypesAttribute); final List<JavaType> domainTypes = new ArrayList<JavaType>(); if (value instanceof ClassAttributeValue) { domainTypes.add(((ClassAttributeValue) value).getValue()); } else if (value instanceof ArrayAttributeValue<?>) { final ArrayAttributeValue<?> castValue = (ArrayAttributeValue<?>) value; for (final AnnotationAttributeValue<?> val : castValue.getValue()) { if (val instanceof ClassAttributeValue) { domainTypes.add(((ClassAttributeValue) val).getValue()); } } } return domainTypes; } }
@Override public String toString() { return getName() + " -> {" + StringUtils.join(value, ",") + "}"; } }
/** * This method provides {@link RooSecurityAuthorization} annotation with all the necessary * attributes * * @param method Method to add the annotation * @param lstParamTypes Parameter types of the method to add the annotation * @param roles Roles to apply by the filter * @param usernames Usernames apply by the filter * @return the annotation created */ private AnnotationMetadataBuilder getRooSecurityAuthorizationsAnnotation(final String method, final List<AnnotationAttributeValue<?>> lstParamTypes, final String roles, final String usernames) { final List<AnnotationAttributeValue<?>> attributes = new ArrayList<AnnotationAttributeValue<?>>(); attributes.add(new StringAttributeValue(new JavaSymbolName("method"), method)); ArrayAttributeValue<AnnotationAttributeValue<?>> newParameters = new ArrayAttributeValue<AnnotationAttributeValue<?>>(new JavaSymbolName("parameters"), lstParamTypes); attributes.add(newParameters); if (roles != null) { attributes.add(new StringAttributeValue(new JavaSymbolName("roles"), roles)); } if (usernames != null) { attributes.add(new StringAttributeValue(new JavaSymbolName("usernames"), usernames)); } return new AnnotationMetadataBuilder(RooJavaType.ROO_SECURITY_AUTHORIZATION, attributes); }
ArrayAttributeValue<StringAttributeValue> elements = new ArrayAttributeValue<StringAttributeValue>( new JavaSymbolName("elementList"), values); if (elements != null && !elements.getValue().isEmpty()) {
final StringBuilder data = new StringBuilder("{ "); int i = 0; for (final AnnotationAttributeValue<?> val : array.getValue()) { i++; if (i > 1) {
"joinColumns"), joinColumnAnnotation.build())); joinTableAttributes.add(new ArrayAttributeValue<AnnotationAttributeValue<?>>( new JavaSymbolName("joinColumns"), joinColumnsAnnotations)); joinTableAttributes.add(new ArrayAttributeValue<AnnotationAttributeValue<?>>( new JavaSymbolName("inverseJoinColumns"), inverseJoinColumnsAnnotations)); new JavaSymbolName("value"), joinColumnAnnotation.build())); joinColumnsAnnotation.addAttribute(new ArrayAttributeValue<AnnotationAttributeValue<?>>( new JavaSymbolName("value"), joinColumnsAnnotations));
.getValue(); ArrayAttributeValue<ClassAttributeValue> entityLayersArray = new ArrayAttributeValue<ClassAttributeValue>( new JavaSymbolName("entityLayers"), entityAttributes);
for (final AnnotationAttributeValue<?> v : castValue.getValue()) { final MemberValuePair converted = convert(v, compilationUnitServices); if (converted != null) {
/** * Builds and returns `@Import` annotation * * @return {@link AnnotationMetadataBuilder} */ private AnnotationMetadataBuilder getImportAnnotation() { AnnotationMetadataBuilder annotationBuilder = new AnnotationMetadataBuilder(SpringJavaType.ANNOTATION_IMPORT); // Create List of ClassAttributeValue List<ClassAttributeValue> typesToImport = new ArrayList<ClassAttributeValue>(); typesToImport.add(new ClassAttributeValue(new JavaSymbolName("value"), this.annotationValues .getDodConfigurationClass())); typesToImport.add(new ClassAttributeValue(new JavaSymbolName("value"), this.jpaDetachableRepositoryClass)); // Convert List to ArrayAttributeValue ArrayAttributeValue<ClassAttributeValue> importAttr = new ArrayAttributeValue<ClassAttributeValue>(new JavaSymbolName("value"), typesToImport); // Add annotation attribute annotationBuilder.addAttribute(importAttr); return annotationBuilder; }
StringAttributeValue sAttrValue = null; String[] reportNameFormat; for (Object o : arrayVal.getValue()) { if (!(o instanceof StringAttributeValue)) { return null;
"joinColumns"), joinColumnAnnotation.build())); joinTableAttributes.add(new ArrayAttributeValue<AnnotationAttributeValue<?>>( new JavaSymbolName("joinColumns"), joinColumnsAnnotations)); joinTableAttributes.add(new ArrayAttributeValue<AnnotationAttributeValue<?>>( new JavaSymbolName("inverseJoinColumns"), inverseJoinColumnsAnnotations)); new JavaSymbolName("value"), joinColumnAnnotation.build())); joinColumnsAnnotation.addAttribute(new ArrayAttributeValue<AnnotationAttributeValue<?>>( new JavaSymbolName("value"), joinColumnsAnnotations));
@Override public Object getTagValue(final MemberHoldingTypeDetails type) { final AnnotationMetadata layerAnnotation = MemberFindingUtils.getAnnotationOfType(type.getAnnotations(), layerAnnotationType); if (layerAnnotation == null || layerAnnotation.getAttribute(domainTypesAttribute) == null) { return null; } final AnnotationAttributeValue<?> value = layerAnnotation.getAttribute(domainTypesAttribute); final List<JavaType> domainTypes = new ArrayList<JavaType>(); if (value instanceof ClassAttributeValue) { domainTypes.add(((ClassAttributeValue) value).getValue()); } else if (value instanceof ArrayAttributeValue<?>) { final ArrayAttributeValue<?> castValue = (ArrayAttributeValue<?>) value; for (final AnnotationAttributeValue<?> val : castValue.getValue()) { if (val instanceof ClassAttributeValue) { domainTypes.add(((ClassAttributeValue) val).getValue()); } } } return domainTypes; } }
/** * This method provides {@link RooSecurityFilter} annotation with all the necessary * attributes * * @param method Method to add the annotation * @param lstParamTypes Parameter types of the method to add the annotation * @param roles Roles to apply by the filter * @param usernames Usernames apply by the filter * @param when Indicate the type of filter 'PRE' (@PreFilter) or 'POST' (@PostFilter) * @return the annotation created */ private AnnotationMetadataBuilder getRooSecurityFilterAnnotation(final String method, final List<AnnotationAttributeValue<?>> lstParamTypes, final String roles, final String usernames, final String when) { final List<AnnotationAttributeValue<?>> attributes = new ArrayList<AnnotationAttributeValue<?>>(); attributes.add(new StringAttributeValue(new JavaSymbolName("method"), method)); ArrayAttributeValue<AnnotationAttributeValue<?>> newParameters = new ArrayAttributeValue<AnnotationAttributeValue<?>>(new JavaSymbolName("parameters"), lstParamTypes); attributes.add(newParameters); if (roles != null) { attributes.add(new StringAttributeValue(new JavaSymbolName("roles"), roles)); } if (usernames != null) { attributes.add(new StringAttributeValue(new JavaSymbolName("usernames"), usernames)); } attributes.add(new StringAttributeValue(new JavaSymbolName("when"), when)); return new AnnotationMetadataBuilder(RooJavaType.ROO_SECURITY_FILTER, attributes); }