@Override public Set<ClassOrInterfaceTypeDetails> getAllPosibilities(JavaType context) { return typeLocationService.findClassesOrInterfaceDetailsWithAnnotation(context); }
@Override public boolean isFieldManagementAvailable() { Set<ClassOrInterfaceTypeDetails> dtoClasses = typeLocationService.findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_DTO); if (!dtoClasses.isEmpty()) { return true; } return false; }
@Override public boolean isFieldManagementAvailable() { Set<ClassOrInterfaceTypeDetails> embeddableClasses = typeLocationService.findClassesOrInterfaceDetailsWithAnnotation(JpaJavaType.EMBEDDABLE); if (!embeddableClasses.isEmpty()) { return true; } return false; }
@Override public boolean isFieldManagementAvailable() { Set<ClassOrInterfaceTypeDetails> entities = typeLocationService.findClassesOrInterfaceDetailsWithAnnotation(JpaJavaType.ENTITY, RooJavaType.ROO_JPA_ENTITY); if (!entities.isEmpty()) { return true; } return false; }
private JavaType getReadOnlyRepositoryInteface() { // Getting ReadOnlyRepository interface annotated with // @RooReadOnlyRepository Set<ClassOrInterfaceTypeDetails> readOnlyRepositories = getTypeLocationService().findClassesOrInterfaceDetailsWithAnnotation( ROO_READ_ONLY_REPOSITORY); Iterator<ClassOrInterfaceTypeDetails> it = readOnlyRepositories.iterator(); while (it.hasNext()) { ClassOrInterfaceTypeDetails readOnlyRepositoryDetails = it.next(); return readOnlyRepositoryDetails.getType(); } throw new IllegalArgumentException( "ERROR: You should define a ReadOnlyRepository interface annotated with @RooReadOnlyRepository to be able to generate repositories of readOnly entities."); }
@Override public List<String> getFieldEmbeddedAllPossibleValues(ShellContext shellContext) { // Get current value of class String currentText = shellContext.getParameters().get("type"); List<String> allPossibleValues = new ArrayList<String>(); // Getting all existing embeddable classes Set<ClassOrInterfaceTypeDetails> embeddableClassesInProject = typeLocationService.findClassesOrInterfaceDetailsWithAnnotation(JpaJavaType.EMBEDDABLE); for (ClassOrInterfaceTypeDetails embeddableClass : embeddableClassesInProject) { String name = replaceTopLevelPackageString(embeddableClass, currentText); if (!allPossibleValues.contains(name)) { allPossibleValues.add(name); } } return allPossibleValues; }
@Override public Set<ClassOrInterfaceTypeDetails> getAllPosibilities(ControllerType context) { Set<ClassOrInterfaceTypeDetails> found = typeLocationService .findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_CONTROLLER); Set<ClassOrInterfaceTypeDetails> result = new HashSet<ClassOrInterfaceTypeDetails>(); for (ClassOrInterfaceTypeDetails item : found) { ControllerAnnotationValues values = new ControllerAnnotationValues(item); if (values.getType() == context) { result.add(item); } } return result; } }
@CliOptionAutocompleteIndicator(command = "security authorize", param = "class", help = "You must select a valid Service class", validate = true) public List<String> getAllServiceClassesAndInterfacesForAuthorize(ShellContext context) { List<String> results = new ArrayList<String>(); Set<ClassOrInterfaceTypeDetails> services = typeLocationService.findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_SERVICE, RooJavaType.ROO_SERVICE_IMPL); for (ClassOrInterfaceTypeDetails service : services) { results.add(replaceTopLevelPackageString(service, context.getParameters().get("class"))); } return results; }
@CliOptionAutocompleteIndicator(command = "security filtering", param = "class", help = "You must select a valid Service class", validate = true) public List<String> getAllServiceClassesAndInterfacesForFiltering(ShellContext context) { List<String> results = new ArrayList<String>(); Set<ClassOrInterfaceTypeDetails> services = typeLocationService.findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_SERVICE, RooJavaType.ROO_SERVICE_IMPL); for (ClassOrInterfaceTypeDetails service : services) { results.add(replaceTopLevelPackageString(service, context.getParameters().get("class"))); } return results; }
@CliOptionAutocompleteIndicator(command = "service", param = "entity", help = "--entity option should be an entity.") public List<String> getEntityPossibleResults(ShellContext shellContext) { // Get current value of class String currentText = shellContext.getParameters().get("entity"); List<String> allPossibleValues = new ArrayList<String>(); // Getting all existing entities Set<ClassOrInterfaceTypeDetails> entitiesInProject = typeLocationService.findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_JPA_ENTITY); for (ClassOrInterfaceTypeDetails entity : entitiesInProject) { String name = replaceTopLevelPackageString(entity, currentText); if (!allPossibleValues.contains(name)) { allPossibleValues.add(name); } } return allPossibleValues; }
@CliOptionAutocompleteIndicator(command = "repository jpa", param = "entity", help = "--entity option should be an entity.") public List<String> getEntityPossibleResults(ShellContext shellContext) { // Get current value of class String currentText = shellContext.getParameters().get("entity"); List<String> allPossibleValues = new ArrayList<String>(); // Getting all existing entities Set<ClassOrInterfaceTypeDetails> entitiesInProject = typeLocationService.findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_JPA_ENTITY); for (ClassOrInterfaceTypeDetails entity : entitiesInProject) { String name = replaceTopLevelPackageString(entity, currentText); if (!allPossibleValues.contains(name)) { allPossibleValues.add(name); } } return allPossibleValues; }
@CliOptionAutocompleteIndicator(command = "field reference", param = "type", help = "--type option should be an entity.") public List<String> getReferenceTypePossibleValues(ShellContext shellContext) { // Get current value of class String currentText = shellContext.getParameters().get("type"); List<String> allPossibleValues = new ArrayList<String>(); // Getting all existing entities Set<ClassOrInterfaceTypeDetails> entitiesInProject = typeLocationService.findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_JPA_ENTITY); for (ClassOrInterfaceTypeDetails entity : entitiesInProject) { String name = replaceTopLevelPackageString(entity, currentText); if (!allPossibleValues.contains(name)) { allPossibleValues.add(name); } } return allPossibleValues; }
/** * Indicates if 'formBean' option should be visible. It checks the existence of * DTO's in project. * * @param shellContext * @return true if project contains at least one DTO, false otherwise. */ @CliOptionVisibilityIndicator(command = "finder add", help = "--formBean parameter is not visible if --entity parameter hasn't been specified " + "before or if there aren't exist any DTO in generated project", params = {"formBean"}) public boolean isFormBeanVisible(ShellContext shellContext) { Set<ClassOrInterfaceTypeDetails> dtosInProject = getTypeLocationService().findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_DTO); if (dtosInProject.isEmpty()) { return false; } return true; }
@CliOptionAutocompleteIndicator(command = "finder add", includeSpaceOnFinish = false, param = "formBean", help = "--formBean option should be a DTO.") public List<String> getFormBeanPossibleResults(ShellContext shellContext) { // Get current value of entity String currentText = shellContext.getParameters().get("formBean"); List<String> allPossibleValues = new ArrayList<String>(); Set<ClassOrInterfaceTypeDetails> dtosInProject = getTypeLocationService().findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_DTO); for (ClassOrInterfaceTypeDetails dto : dtosInProject) { String name = replaceTopLevelPackageString(dto, currentText); if (!allPossibleValues.contains(name)) { allPossibleValues.add(name); } } return allPossibleValues; }
@Override public List<String> getModuleNames() { List<String> moduleNames = new ArrayList<String>(); for (ClassOrInterfaceTypeDetails cid : getTypeLocationService() .findClassesOrInterfaceDetailsWithAnnotation( new JavaType("org.springframework.boot.autoconfigure.SpringBootApplication"))) { moduleNames.add(cid.getName().getModule()); } return moduleNames; }
@CliOptionAutocompleteIndicator(param = "service", command = "web mvc operation", help = "--service parameter should be completed with an service generated previously.") public List<String> getAllServiceForOperationCommandValues(ShellContext context) { // Get the actual service selected String currentText = context.getParameters().get("service"); // Create results to return List<String> results = new ArrayList<String>(); // Get controllers full qualified names Set<ClassOrInterfaceTypeDetails> services = getTypeLocationService().findClassesOrInterfaceDetailsWithAnnotation( RooJavaType.ROO_SERVICE); for (ClassOrInterfaceTypeDetails service : services) { String name = getClasspathOperations().replaceTopLevelPackageString(service, currentText); if (!results.contains(name)) { results.add(name); } } return results; }
@Override public void createOrUpdateDetailControllersForAllEntities( ControllerMVCResponseService responseType, JavaPackage controllerPackage, String viewsList) { // Getting all entities annotated with @RooJpaEntity Set<ClassOrInterfaceTypeDetails> entities = getTypeLocationService().findClassesOrInterfaceDetailsWithAnnotation( RooJavaType.ROO_JPA_ENTITY); for (ClassOrInterfaceTypeDetails entity : entities) { if (!entity.isAbstract()) { createOrUpdateDetailControllerForEntity(entity.getType(), "", responseType, controllerPackage, viewsList); } } }
@Override public JavaType getEntityFactory(JavaType entity) { Set<ClassOrInterfaceTypeDetails> dataOnDemandCids = typeLocationService .findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_JPA_ENTITY_FACTORY); JavaType typeToReturn = null; for (ClassOrInterfaceTypeDetails cid : dataOnDemandCids) { if (entity.equals((JavaType) cid.getAnnotation(RooJavaType.ROO_JPA_ENTITY_FACTORY) .getAttribute("entity").getValue())) { typeToReturn = cid.getName(); break; } } return typeToReturn; }
@Override public JavaType getDataOnDemand(JavaType entity) { Set<ClassOrInterfaceTypeDetails> dataOnDemandCids = typeLocationService .findClassesOrInterfaceDetailsWithAnnotation(RooJavaType.ROO_JPA_DATA_ON_DEMAND); JavaType typeToReturn = null; for (ClassOrInterfaceTypeDetails cid : dataOnDemandCids) { if (entity.equals((JavaType) cid.getAnnotation(RooJavaType.ROO_JPA_DATA_ON_DEMAND) .getAttribute("entity").getValue())) { typeToReturn = cid.getName(); break; } } return typeToReturn; }
private JavaType getEntityDeserializerFor(JavaType entity) { Set<ClassOrInterfaceTypeDetails> deserializers = getTypeLocationService().findClassesOrInterfaceDetailsWithAnnotation( RooJavaType.ROO_DESERIALIZER); for (ClassOrInterfaceTypeDetails deserializer : deserializers) { AnnotationMetadata annotation = deserializer.getAnnotation(RooJavaType.ROO_DESERIALIZER); AnnotationAttributeValue<JavaType> annotationValue = annotation.getAttribute("entity"); if (entity.equals(annotationValue.getValue())) { return deserializer.getType(); } } return null; }