Search in sources :

Example 11 with MemberHoldingTypeDetails

use of org.springframework.roo.classpath.details.MemberHoldingTypeDetails in project spring-roo by spring-projects.

the class RepositoryJpaMetadataProviderImpl method getLocalMidToRequest.

@Override
protected String getLocalMidToRequest(final ItdTypeDetails itdTypeDetails) {
    // Determine the governor for this ITD, and whether any metadata is even
    // hoping to hear about changes to that JavaType and its ITDs
    final JavaType governor = itdTypeDetails.getName();
    final String localMid = domainTypeToRepositoryMidMap.get(governor);
    if (localMid != null) {
        return localMid;
    }
    final MemberHoldingTypeDetails memberHoldingTypeDetails = getTypeLocationService().getTypeDetails(governor);
    if (memberHoldingTypeDetails != null) {
        for (final JavaType type : memberHoldingTypeDetails.getLayerEntities()) {
            final String localMidType = domainTypeToRepositoryMidMap.get(type);
            if (localMidType != null) {
                return localMidType;
            }
        }
    }
    return null;
}
Also used : RooJavaType(org.springframework.roo.model.RooJavaType) JavaType(org.springframework.roo.model.JavaType) MemberHoldingTypeDetails(org.springframework.roo.classpath.details.MemberHoldingTypeDetails)

Example 12 with MemberHoldingTypeDetails

use of org.springframework.roo.classpath.details.MemberHoldingTypeDetails in project spring-roo by spring-projects.

the class PartTreeUnitTest method setUp.

@Before
public void setUp() throws IllegalArgumentException, IllegalAccessException {
    List<FieldMetadata> declaredFields = new ArrayList<FieldMetadata>();
    declaredFields.add(new DefaultFieldMetadata(new CustomDataImpl(new HashMap<Object, Object>()), "text", 0, null, new JavaSymbolName("text"), new JavaType(String.class), null));
    declaredFields.add(new DefaultFieldMetadata(new CustomDataImpl(new HashMap<Object, Object>()), "number", 0, null, new JavaSymbolName("number"), new JavaType(Integer.class), null));
    declaredFields.add(new DefaultFieldMetadata(new CustomDataImpl(new HashMap<Object, Object>()), "date", 0, null, new JavaSymbolName("date"), new JavaType(Date.class), null));
    declaredFields.add(new DefaultFieldMetadata(new CustomDataImpl(new HashMap<Object, Object>()), "enumer", 0, null, new JavaSymbolName("enumer"), new JavaType(Enum.class), null));
    declaredFields.add(new DefaultFieldMetadata(new CustomDataImpl(new HashMap<Object, Object>()), "primitiveInt", 0, null, new JavaSymbolName("primitiveInt"), JavaType.INT_PRIMITIVE, null));
    final List<MemberHoldingTypeDetails> memberHoldingTypeDetails = new ArrayList<MemberHoldingTypeDetails>();
    memberHoldingTypeDetails.add(new DefaultClassOrInterfaceTypeDetails(new CustomDataImpl(new HashMap<Object, Object>()), "Example", 0, null, new JavaType("Example"), PhysicalTypeCategory.CLASS, null, declaredFields, null, null, null, null, null, null, null, null));
    memberDetails = new MemberDetailsImpl(memberHoldingTypeDetails);
}
Also used : FieldMetadata(org.springframework.roo.classpath.details.FieldMetadata) DefaultFieldMetadata(org.springframework.roo.classpath.details.DefaultFieldMetadata) ArrayList(java.util.ArrayList) DefaultClassOrInterfaceTypeDetails(org.springframework.roo.classpath.details.DefaultClassOrInterfaceTypeDetails) MemberDetailsImpl(org.springframework.roo.classpath.scanner.MemberDetailsImpl) JavaSymbolName(org.springframework.roo.model.JavaSymbolName) JavaType(org.springframework.roo.model.JavaType) CustomDataImpl(org.springframework.roo.model.CustomDataImpl) MemberHoldingTypeDetails(org.springframework.roo.classpath.details.MemberHoldingTypeDetails) DefaultFieldMetadata(org.springframework.roo.classpath.details.DefaultFieldMetadata) Before(org.junit.Before)

Example 13 with MemberHoldingTypeDetails

use of org.springframework.roo.classpath.details.MemberHoldingTypeDetails in project spring-roo by spring-projects.

the class RepositoryJpaCustomMetadataProviderImpl method getLocalMidToRequest.

@Override
protected String getLocalMidToRequest(final ItdTypeDetails itdTypeDetails) {
    // Determine the governor for this ITD, and whether any metadata is even
    // hoping to hear about changes to that JavaType and its ITDs
    final JavaType governor = itdTypeDetails.getName();
    final String localMid = domainTypeToRepositoryMidMap.get(governor);
    if (localMid != null) {
        return localMid;
    }
    final MemberHoldingTypeDetails memberHoldingTypeDetails = getTypeLocationService().getTypeDetails(governor);
    if (memberHoldingTypeDetails != null) {
        for (final JavaType type : memberHoldingTypeDetails.getLayerEntities()) {
            final String localMidType = domainTypeToRepositoryMidMap.get(type);
            if (localMidType != null) {
                return localMidType;
            }
        }
    }
    return null;
}
Also used : RooJavaType(org.springframework.roo.model.RooJavaType) JavaType(org.springframework.roo.model.JavaType) MemberHoldingTypeDetails(org.springframework.roo.classpath.details.MemberHoldingTypeDetails)

Example 14 with MemberHoldingTypeDetails

use of org.springframework.roo.classpath.details.MemberHoldingTypeDetails in project spring-roo by spring-projects.

the class MemberDetailsBuilder method doModification.

private void doModification(final ConstructorMetadata constructor, final CustomData customData) {
    final MemberHoldingTypeDetails memberHoldingTypeDetails = memberHoldingTypeDetailsMap.get(constructor.getDeclaredByMetadataId());
    if (memberHoldingTypeDetails != null) {
        final ConstructorMetadata matchedConstructor = memberHoldingTypeDetails.getDeclaredConstructor(AnnotatedJavaType.convertFromAnnotatedJavaTypes(constructor.getParameterTypes()));
        if (matchedConstructor != null && !matchedConstructor.getCustomData().keySet().containsAll(customData.keySet())) {
            final TypeDetailsBuilder typeDetailsBuilder = getTypeDetailsBuilder(memberHoldingTypeDetails);
            typeDetailsBuilder.addDataToConstructor(constructor, customData);
            changed = true;
        }
    }
}
Also used : ConstructorMetadata(org.springframework.roo.classpath.details.ConstructorMetadata) MemberHoldingTypeDetails(org.springframework.roo.classpath.details.MemberHoldingTypeDetails) ClassOrInterfaceTypeDetailsBuilder(org.springframework.roo.classpath.details.ClassOrInterfaceTypeDetailsBuilder) AbstractMemberHoldingTypeDetailsBuilder(org.springframework.roo.classpath.details.AbstractMemberHoldingTypeDetailsBuilder) ItdTypeDetailsBuilder(org.springframework.roo.classpath.details.ItdTypeDetailsBuilder)

Example 15 with MemberHoldingTypeDetails

use of org.springframework.roo.classpath.details.MemberHoldingTypeDetails in project spring-roo by spring-projects.

the class MemberDetailsBuilder method doModification.

private void doModification(final MethodMetadata method, final CustomData customData) {
    final MemberHoldingTypeDetails memberHoldingTypeDetails = memberHoldingTypeDetailsMap.get(method.getDeclaredByMetadataId());
    if (memberHoldingTypeDetails != null) {
        final MethodMetadata matchedMethod = memberHoldingTypeDetails.getMethod(method.getMethodName(), AnnotatedJavaType.convertFromAnnotatedJavaTypes(method.getParameterTypes()));
        if (matchedMethod != null && !matchedMethod.getCustomData().keySet().containsAll(customData.keySet())) {
            final TypeDetailsBuilder typeDetailsBuilder = getTypeDetailsBuilder(memberHoldingTypeDetails);
            typeDetailsBuilder.addDataToMethod(method, customData);
            changed = true;
        }
    }
}
Also used : MemberHoldingTypeDetails(org.springframework.roo.classpath.details.MemberHoldingTypeDetails) MethodMetadata(org.springframework.roo.classpath.details.MethodMetadata) ClassOrInterfaceTypeDetailsBuilder(org.springframework.roo.classpath.details.ClassOrInterfaceTypeDetailsBuilder) AbstractMemberHoldingTypeDetailsBuilder(org.springframework.roo.classpath.details.AbstractMemberHoldingTypeDetailsBuilder) ItdTypeDetailsBuilder(org.springframework.roo.classpath.details.ItdTypeDetailsBuilder)

Aggregations

MemberHoldingTypeDetails (org.springframework.roo.classpath.details.MemberHoldingTypeDetails)38 JavaType (org.springframework.roo.model.JavaType)29 RooJavaType (org.springframework.roo.model.RooJavaType)26 ArrayList (java.util.ArrayList)7 ClassOrInterfaceTypeDetails (org.springframework.roo.classpath.details.ClassOrInterfaceTypeDetails)7 FieldMetadata (org.springframework.roo.classpath.details.FieldMetadata)7 AnnotatedJavaType (org.springframework.roo.classpath.details.annotations.AnnotatedJavaType)7 JpaJavaType (org.springframework.roo.model.JpaJavaType)7 ClassOrInterfaceTypeDetailsBuilder (org.springframework.roo.classpath.details.ClassOrInterfaceTypeDetailsBuilder)6 MethodMetadata (org.springframework.roo.classpath.details.MethodMetadata)6 AbstractMemberHoldingTypeDetailsBuilder (org.springframework.roo.classpath.details.AbstractMemberHoldingTypeDetailsBuilder)4 ItdTypeDetailsBuilder (org.springframework.roo.classpath.details.ItdTypeDetailsBuilder)4 MemberDetails (org.springframework.roo.classpath.scanner.MemberDetails)4 JavaSymbolName (org.springframework.roo.model.JavaSymbolName)4 ConstructorMetadata (org.springframework.roo.classpath.details.ConstructorMetadata)3 ImportMetadata (org.springframework.roo.classpath.details.ImportMetadata)2 AnnotationMetadata (org.springframework.roo.classpath.details.annotations.AnnotationMetadata)2 Path (org.springframework.roo.project.Path)2 File (java.io.File)1 HashSet (java.util.HashSet)1