Search in sources :

Example 46 with Pom

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

the class JavaTypeConverterTest method testGetAllPossibleValuesInProjectWhenNoModulePrefixIsUsed.

@Test
public void testGetAllPossibleValuesInProjectWhenNoModulePrefixIsUsed() {
    // Set up
    @SuppressWarnings("unchecked") final List<Completion> mockCompletions = mock(List.class);
    when(mockProjectOperations.isFocusedProjectAvailable()).thenReturn(true);
    final Pom mockFocusedModule = mock(Pom.class);
    when(mockProjectOperations.getFocusedModule()).thenReturn(mockFocusedModule);
    final String topLevelPackage = "com.example";
    when(mockTypeLocationService.getTopLevelPackageForModule(mockFocusedModule)).thenReturn(topLevelPackage);
    final String focusedModuleName = "web";
    when(mockFocusedModule.getModuleName()).thenReturn(focusedModuleName);
    final String modulePath = "/path/to/it";
    when(mockFocusedModule.getPath()).thenReturn(modulePath);
    final String otherModuleName = "core";
    when(mockProjectOperations.getModuleNames()).thenReturn(Arrays.asList(focusedModuleName, otherModuleName));
    final JavaType type1 = new JavaType("com.example.Foo");
    final JavaType type2 = new JavaType("com.example.sub.Bar");
    when(mockTypeLocationService.getTypesForModule(mockFocusedModule)).thenReturn(Arrays.asList(type1, type2));
    // Invoke
    converter.getAllPossibleValues(mockCompletions, JavaType.class, "", OptionContexts.PROJECT, null);
    // Check
    verify(mockCompletions).add(new Completion(otherModuleName + MODULE_PATH_SEPARATOR, AnsiEscapeCode.decorate(otherModuleName + MODULE_PATH_SEPARATOR, AnsiEscapeCode.FG_CYAN), "Modules", 0));
    verify(mockCompletions).add(new Completion(topLevelPackage, topLevelPackage, focusedModuleName, 1));
    verify(mockCompletions).add(new Completion("~.Foo", "~.Foo", focusedModuleName, 1));
    verify(mockCompletions).add(new Completion("~.sub.Bar", "~.sub.Bar", focusedModuleName, 1));
    verifyNoMoreInteractions(mockCompletions);
}
Also used : JavaType(org.springframework.roo.model.JavaType) Completion(org.springframework.roo.shell.Completion) Pom(org.springframework.roo.project.maven.Pom) Test(org.junit.Test)

Example 47 with Pom

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

the class PomConverterTest method testConvertRootModuleSymbol.

@Test
public void testConvertRootModuleSymbol() {
    final Pom mockRootPom = mock(Pom.class);
    when(mockProjectOperations.getPomFromModuleName("")).thenReturn(mockRootPom);
    assertEquals(mockRootPom, converter.convertFromText(ROOT_MODULE_SYMBOL, null, null));
}
Also used : Pom(org.springframework.roo.project.maven.Pom) Test(org.junit.Test)

Example 48 with Pom

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

the class GuavaCacheProvider method setup.

@Override
public void setup(String profile) {
    if (this.applicationModules == null) {
        this.applicationModules = (List<Pom>) typeLocationService.getModules(ModuleFeatureName.APPLICATION);
    }
    // Add Guava dependency to each application module
    for (Pom module : applicationModules) {
        projectOperations.addDependency(module.getModuleName(), GUAVA_DEPENDENCY);
        // Add Guava specific application properties
        applicationConfigService.addProperty(module.getModuleName(), CACHE_TYPE_PROPERTY_KEY, CACHE_TYPE_PROPERTY_VALUE, profile, false);
        applicationConfigService.addProperty(module.getModuleName(), GUAVA_CACHE_SPEC_PROPERTY_KEY, GUAVA_CACHE_SPEC_PROPERTY_VALUE, profile, false);
    }
}
Also used : Pom(org.springframework.roo.project.maven.Pom)

Example 49 with Pom

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

the class JpaAuditOperationsImpl method isInstalledInModule.

@Override
public boolean isInstalledInModule(String moduleName) {
    boolean isInstalledInModule = false;
    Pom module = getProjectOperations().getPomFromModuleName(moduleName);
    Set<Dependency> starter = module.getDependenciesExcludingVersion(SPRINGLETS_DATA_JPA_STARTER);
    if (!starter.isEmpty()) {
        isInstalledInModule = true;
    }
    return isInstalledInModule;
}
Also used : Dependency(org.springframework.roo.project.Dependency) Pom(org.springframework.roo.project.maven.Pom)

Example 50 with Pom

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

the class JpaOperationsImpl method addDatabaseDependencyWithTestScope.

/**
 * Add datasource dependency for testing purposes in a module with
 * repository classes. This method can be called when installing/changing
 * persistence database or when adding repositories to the project.
 *
 * @param repositoryModuleName
 *            the module name where the dependency should be added.
 * @param profile
 *            the profile used to obtain the datasource property from spring
 *            config file.
 * @param databaseConfigPrefix
 *            the database prefix used to find the right dependency in the
 *            configuration file. It could be null if called from repository
 *            commands.
 */
public void addDatabaseDependencyWithTestScope(String repositoryModuleName, String profile, String databaseConfigPrefix) {
    // Get configuration Element from configuration.xml
    final Element configuration = XmlUtils.getConfiguration(getClass());
    // If databaseConfigPrefix is null, get prefix from properties file
    if (databaseConfigPrefix == null) {
        // Get application module where properties file should be located
        List<Pom> modules = (List<Pom>) getTypeLocationService().getModules(ModuleFeatureName.APPLICATION);
        if (modules.size() == 0) {
            throw new RuntimeException(String.format("ERROR: Not found a module with %s feature", ModuleFeatureName.APPLICATION));
        }
        if (profile == null) {
            // Add the database dependency of each profile
            List<String> profiles = getApplicationConfigService().getApplicationProfiles(modules.get(0).getModuleName());
            for (String applicationProfile : profiles) {
                // // Find the driver name to obtain the right dependency to add
                final String driver = getApplicationConfigService().getProperty(modules.get(0).getModuleName(), DATASOURCE_PREFIX, DATABASE_DRIVER, applicationProfile);
                for (JdbcDatabase database : JdbcDatabase.values()) {
                    if (database.getDriverClassName().equals(driver)) {
                        databaseConfigPrefix = database.getConfigPrefix();
                        addTestScopedDependency(repositoryModuleName, databaseConfigPrefix, configuration);
                    }
                }
            }
        } else {
            // Find the driver name to obtain the right dependency to add
            String driver = getApplicationConfigService().getProperty(modules.get(0).getModuleName(), DATASOURCE_PREFIX, DATABASE_DRIVER, profile);
            // Find the prefix value from JdbcDatabase enum
            JdbcDatabase[] jdbcDatabaseValues = JdbcDatabase.values();
            for (JdbcDatabase database : jdbcDatabaseValues) {
                if (database.getDriverClassName().equals(driver)) {
                    databaseConfigPrefix = database.getConfigPrefix();
                    addTestScopedDependency(repositoryModuleName, databaseConfigPrefix, configuration);
                }
            }
        }
    } else {
        // No need to find the driver name to obtain database prefix
        addTestScopedDependency(repositoryModuleName, databaseConfigPrefix, configuration);
    }
}
Also used : Element(org.w3c.dom.Element) List(java.util.List) ArrayList(java.util.ArrayList) LinkedList(java.util.LinkedList) NodeList(org.w3c.dom.NodeList) 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