Search in sources :

Example 81 with Pom

use of org.springframework.roo.project.maven.Pom in project spring-roo by spring-projects.

the class I18nOperationsImpl method getControllerMVCResponseTypes.

/**
 * This method gets all implementations of ControllerMVCResponseService
 * interface to be able to locate all ControllerMVCResponseService. Uses
 * param installed to obtain only the installed or not installed response
 * types.
 *
 * @param installed
 *            indicates if returned responseType should be installed or not.
 *
 * @return Map with responseTypes identifier and the
 *         ControllerMVCResponseService implementation
 */
private List<ControllerMVCResponseService> getControllerMVCResponseTypes(boolean installed) {
    List<ControllerMVCResponseService> responseTypes = new ArrayList<ControllerMVCResponseService>();
    try {
        ServiceReference<?>[] references = this.context.getAllServiceReferences(ControllerMVCResponseService.class.getName(), null);
        for (ServiceReference<?> ref : references) {
            ControllerMVCResponseService responseTypeService = (ControllerMVCResponseService) this.context.getService(ref);
            boolean isAbleToInstall = false;
            for (Pom module : getProjectOperations().getPoms()) {
                if (responseTypeService.isInstalledInModule(module.getModuleName()) == installed) {
                    isAbleToInstall = true;
                    break;
                }
            }
            if (isAbleToInstall) {
                responseTypes.add(responseTypeService);
            }
        }
        return responseTypes;
    } catch (InvalidSyntaxException e) {
        LOGGER.warning("Cannot load ControllerMVCResponseService on I18nOperationsImpl.");
        return null;
    }
}
Also used : ControllerMVCResponseService(org.springframework.roo.addon.web.mvc.controller.addon.responses.ControllerMVCResponseService) ArrayList(java.util.ArrayList) InvalidSyntaxException(org.osgi.framework.InvalidSyntaxException) ServiceReference(org.osgi.framework.ServiceReference) Pom(org.springframework.roo.project.maven.Pom)

Example 82 with Pom

use of org.springframework.roo.project.maven.Pom in project spring-roo by spring-projects.

the class JavaTypeConverterTest method testConvertTopLevelPackageWithOneModulePrefix.

@Test
public void testConvertTopLevelPackageWithOneModulePrefix() {
    // Set up
    final String moduleName = "web";
    final Pom mockWebPom = mock(Pom.class);
    when(mockProjectOperations.getPomFromModuleName(moduleName)).thenReturn(mockWebPom);
    final String topLevelPackage = "com.example.app.mvc";
    when(mockTypeLocationService.getTopLevelPackageForModule(mockWebPom)).thenReturn(topLevelPackage);
    // Invoke
    final JavaType result = converter.convertFromText(moduleName + MODULE_PATH_SEPARATOR + topLevelPackage, null, null);
    // Check
    assertNull(result);
}
Also used : JavaType(org.springframework.roo.model.JavaType) Pom(org.springframework.roo.project.maven.Pom) Test(org.junit.Test)

Example 83 with Pom

use of org.springframework.roo.project.maven.Pom in project spring-roo by spring-projects.

the class JavaTypeConverterTest method testConvertFullyQualifiedValueWithOneModulePrefix.

@Test
public void testConvertFullyQualifiedValueWithOneModulePrefix() {
    // Set up
    final String moduleName = "web";
    final Pom mockWebPom = mock(Pom.class);
    when(mockProjectOperations.getPomFromModuleName(moduleName)).thenReturn(mockWebPom);
    final String topLevelPackage = "com.example.app.mvc";
    when(mockTypeLocationService.getTopLevelPackageForModule(mockWebPom)).thenReturn(topLevelPackage);
    // Invoke
    final JavaType result = converter.convertFromText(moduleName + MODULE_PATH_SEPARATOR + topLevelPackage + ".pet.PetController", null, null);
    // Check
    assertEquals("com.example.app.mvc.pet.PetController", result.getFullyQualifiedTypeName());
}
Also used : JavaType(org.springframework.roo.model.JavaType) Pom(org.springframework.roo.project.maven.Pom) Test(org.junit.Test)

Example 84 with Pom

use of org.springframework.roo.project.maven.Pom in project spring-roo by spring-projects.

the class PomConverterTest method testConvertOtherModuleName.

@Test
public void testConvertOtherModuleName() {
    final Pom mockPom = mock(Pom.class);
    final String moduleName = "foo" + File.separator + "bar";
    when(mockProjectOperations.getPomFromModuleName(moduleName)).thenReturn(mockPom);
    assertEquals(mockPom, converter.convertFromText(moduleName, null, null));
}
Also used : Pom(org.springframework.roo.project.maven.Pom) Test(org.junit.Test)

Example 85 with Pom

use of org.springframework.roo.project.maven.Pom in project spring-roo by spring-projects.

the class JavaPackageConverter method getAllPossibleValues.

public boolean getAllPossibleValues(final List<Completion> completions, final Class<?> requiredType, final String existingData, final String optionContext, final MethodTarget target) {
    if (!projectOperations.isFocusedProjectAvailable()) {
        return false;
    }
    Pom targetModule = null;
    String heading = "";
    String prefix = "";
    String formattedPrefix = "";
    if (existingData != null && existingData.contains(MODULE_PATH_SEPARATOR)) {
        // Looking for a type in another module
        final String targetModuleName = existingData.substring(0, existingData.indexOf(MODULE_PATH_SEPARATOR));
        // Validate feature
        if (validateModule(projectOperations.getPomFromModuleName(targetModuleName), optionContext)) {
            targetModule = projectOperations.getPomFromModuleName(targetModuleName);
            heading = "";
            prefix = targetModuleName + MODULE_PATH_SEPARATOR;
            formattedPrefix = decorate(targetModuleName + MODULE_PATH_SEPARATOR, FG_CYAN);
        }
    } else {
        // Validate module has installed the features required
        if (validateModule(projectOperations.getFocusedModule(), optionContext)) {
            // Looking for a type in the currently focused module
            targetModule = projectOperations.getFocusedModule();
            heading = targetModule.getModuleName();
            prefix = "";
            formattedPrefix = "";
        }
    }
    addCompletionsForOtherModuleNames(completions, targetModule, optionContext);
    if (targetModule != null && !"pom".equals(targetModule.getPackaging())) {
        addCompletionsForPackagesInTargetModule(completions, targetModule, heading, prefix, formattedPrefix);
    }
    return false;
}
Also used : Pom(org.springframework.roo.project.maven.Pom)

Aggregations

Pom (org.springframework.roo.project.maven.Pom)86 Element (org.w3c.dom.Element)19 JavaType (org.springframework.roo.model.JavaType)16 Document (org.w3c.dom.Document)16 Test (org.junit.Test)14 ArrayList (java.util.ArrayList)10 ClassOrInterfaceTypeDetails (org.springframework.roo.classpath.details.ClassOrInterfaceTypeDetails)9 ClassOrInterfaceTypeDetailsBuilder (org.springframework.roo.classpath.details.ClassOrInterfaceTypeDetailsBuilder)9 AnnotationMetadataBuilder (org.springframework.roo.classpath.details.annotations.AnnotationMetadataBuilder)9 Dependency (org.springframework.roo.project.Dependency)9 RooJavaType (org.springframework.roo.model.RooJavaType)7 InvalidSyntaxException (org.osgi.framework.InvalidSyntaxException)5 ServiceReference (org.osgi.framework.ServiceReference)5 ControllerMVCResponseService (org.springframework.roo.addon.web.mvc.controller.addon.responses.ControllerMVCResponseService)5 JavaPackage (org.springframework.roo.model.JavaPackage)5 List (java.util.List)4 Plugin (org.springframework.roo.project.Plugin)4 Completion (org.springframework.roo.shell.Completion)4 HashMap (java.util.HashMap)3 DataOnDemandCreatorProvider (org.springframework.roo.addon.test.providers.DataOnDemandCreatorProvider)3