@Override public List<Pair<FieldMetadata, RelationInfo>> getFieldChildPartOfRelation( ClassOrInterfaceTypeDetails entityCdi) { JavaType domainType = entityCdi.getType(); JpaEntityMetadata entityMetadata = getJpaEntityMetadata(entityCdi); Validate.notNull(entityMetadata, "%s should be a Jpa Entity", domainType); Map<String, FieldMetadata> relations = entityMetadata.getRelationsAsChild(); List<Pair<FieldMetadata, RelationInfo>> childRelations = new ArrayList<Pair<FieldMetadata, RelationInfo>>(); JpaEntityMetadata parent; JavaType parentType; RelationInfo info; for (Entry<String, FieldMetadata> fieldEntry : relations.entrySet()) { parentType = fieldEntry.getValue().getFieldType().getBaseType(); parent = getJpaEntityMetadata(parentType); Validate.notNull(parent, "Can't get information about Entity %s which is declared as parent in %s.%s field", parentType, domainType, fieldEntry.getKey()); info = parent.getRelationInfosByMappedBy(domainType, fieldEntry.getKey()); if (info != null) { childRelations.add(Pair.of(fieldEntry.getValue(), info)); } } return childRelations; }
private JavaType getDomainTypeOfFinderMethod(MethodMetadata method) { JavaType returnType = method.getReturnType(); if (returnType.getFullyQualifiedTypeName().equals( SpringJavaType.PAGE.getFullyQualifiedTypeName())) { if (returnType.getParameters() != null && returnType.getParameters().size() == 1) { return returnType.getParameters().get(0); } } else if (returnType.getEnclosingType() != null) { return returnType.getBaseType(); } return null; }
private JavaType getDomainTypeOfFinderMethod(MethodMetadata method) { JavaType returnType = method.getReturnType(); if (returnType.getFullyQualifiedTypeName().equals( SpringJavaType.PAGE.getFullyQualifiedTypeName())) { if (returnType.getParameters() != null && returnType.getParameters().size() == 1) { return returnType.getParameters().get(0); } } else if (returnType.getEnclosingType() != null) { return returnType.getBaseType(); } return null; }
parentEntity = parentEntityField.getFieldType().getBaseType(); } else { parentEntity = parentEntityField.getFieldType();
/** * Validates that all dto fields matches with parameters on finder of a repository * * @param formBeanDetails * @param finder * @param repository */ private void checkDtoFieldsForFinder(ClassOrInterfaceTypeDetails formBeanDetails, PartTree finder, JavaType repository) { final JavaType dtoType = formBeanDetails.getName(); final String finderName = finder.getOriginalQuery(); FieldMetadata paramField, dtoField; JavaType paramType, dtoFieldType; for (FinderParameter param : finder.getParameters()) { paramField = param.getPath().peek(); dtoField = formBeanDetails.getField(paramField.getFieldName()); Validate.notNull(dtoField, "Field '%s' not found on DTO %s for finder '%s' of %s", paramField.getFieldName(), dtoType, finderName, repository); paramType = paramField.getFieldType().getBaseType(); dtoFieldType = dtoField.getFieldType().getBaseType(); Validate.isTrue(paramType.equals(dtoFieldType), "Type missmatch for field '%s' on DTO %s for finder '%s' of %s: excepted %s and got %s", dtoField.getFieldName(), dtoType, finderName, repository, paramType, dtoFieldType); } }
/** * Validates that all dto fields matches with parameters on finder of a repository * * @param formBeanDetails * @param finder * @param repository */ private void checkDtoFieldsForFinder(ClassOrInterfaceTypeDetails formBeanDetails, PartTree finder, JavaType repository) { final JavaType dtoType = formBeanDetails.getName(); final String finderName = finder.getOriginalQuery(); FieldMetadata paramField, dtoField; JavaType paramType, dtoFieldType; for (FinderParameter param : finder.getParameters()) { paramField = param.getPath().peek(); dtoField = formBeanDetails.getField(paramField.getFieldName()); Validate.notNull(dtoField, "Field '%s' not found on DTO %s for finder '%s' of %s", paramField.getFieldName(), dtoType, finderName, repository); paramType = paramField.getFieldType().getBaseType(); dtoFieldType = dtoField.getFieldType().getBaseType(); Validate.isTrue(paramType.equals(dtoFieldType), "Type missmatch for field '%s' on DTO %s for finder '%s' of %s: excepted %s and got %s", dtoField.getFieldName(), dtoType, finderName, repository, paramType, dtoFieldType); } }
final JavaType paramType = referencedField.getFieldType().getBaseType(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(paramType)); parameterTypes.add(GLOBAL_SEARCH_PARAMETER);
final JavaType paramType = field.getFieldType().getBaseType(); parameterTypes.add(AnnotatedJavaType.convertFromJavaType(paramType)); parameterNames.add(new JavaSymbolName(StringUtils.uncapitalize(field.getFieldName()
serviceReturnType.getParameters().isEmpty() ? serviceReturnType.getBaseType() : serviceReturnType.getParameters().get(0); JavaType returnType =
String parentMappedBy; for (FieldMetadata field : relationsAsChild.values()) { parentDatils = getTypeLocationService().getTypeDetails(field.getFieldType().getBaseType()); for (FieldMetadata parentField : parentDatils .getFieldsWithAnnotation(RooJavaType.ROO_JPA_RELATION)) { parentFieldRelationAnnotation = parentField.getAnnotation(RooJavaType.ROO_JPA_RELATION); if (parentFieldRelationAnnotation != null && entity.equals(parentField.getFieldType().getBaseType())) { parentMappedBy = getFieldMappedByAnnotationValue(parentField); if (field.getFieldName().getSymbolName().equals(parentMappedBy)) {
serviceReturnType.getParameters().isEmpty() ? serviceReturnType.getBaseType() : serviceReturnType.getParameters().get(0); JavaType returnType =
fieldType = fieldType.getBaseType();
.getAnnotation(JpaJavaType.MANY_TO_MANY) != null)) { String getterTypeName = getter.getReturnType().getBaseType().getSimpleTypeName().toLowerCase(); oneToManyGetters.add(getter); entityNames.put(getterTypeName, getPluralService().getPlural(getterTypeName));
JavaType referencedEntity = field.getFieldType().getBaseType();
body.appendFormalLine("%s validator = new GenericValidator(%s.class, %s());", SpringletsJavaType.SPRINGLETS_GENERIC_VALIDATOR.getNameIncludingTypeParameters(false, builder.getImportRegistrationResolver()), entity.getBaseType() .getNameIncludingTypeParameters(false, builder.getImportRegistrationResolver()), getAccessorMethod(controllerMetadata.getServiceField()).getMethodName());
parameterTypes .add(new AnnotatedJavaType(JavaType.wrapperOf(JavaType.LIST, findAllByIdsInMethod .getParameterTypes().get(0).getJavaType().getBaseType()), requestParamIdsAnnotation .build())); parameterTypes.add(DATATABLES_COLUMNS_PARAM);
childType = field.getFieldType(); } else { childType = field.getFieldType().getBaseType(); getMappedByInfoKey(field.getFieldType().getBaseType(), mappedBy), info);
getter.getReturnType().getBaseType().getSimpleTypeName().toLowerCase();
final RelationInfo info = item.getRight(); final FieldMetadata field = item.getLeft(); final JavaType childType = field.getFieldType().getBaseType(); String mappedByCapitalized = StringUtils.capitalize(info.mappedBy); if (info.cardinality == Cardinality.ONE_TO_ONE) {
JavaType baseType = returnType.getBaseType(); if (baseType.equals(JavaType.BOOLEAN_PRIMITIVE)) { bodyBuilder.appendFormalLine("return false;");