Example usage for org.springframework.context.support GenericApplicationContext getResources

List of usage examples for org.springframework.context.support GenericApplicationContext getResources

Introduction

In this page you can find the example usage for org.springframework.context.support GenericApplicationContext getResources.

Prototype

@Override
public Resource[] getResources(String locationPattern) throws IOException 

Source Link

Document

This implementation delegates to this context's ResourceLoader if it implements the ResourcePatternResolver interface, falling back to the default superclass behavior else.

Usage

From source file:com.jaspersoft.jasperserver.export.BaseExportImportCommand.java

protected ConfigurableApplicationContext createSpringContext(Parameters exportParameters,
        String resourceFileName) throws IOException {
    GenericApplicationContext ctx = new GenericApplicationContext();
    XmlBeanDefinitionReader configReader = new XmlBeanDefinitionReader(ctx);
    Resource[] resources = ctx.getResources(resourceFileName);
    commandOut.info("First resource path:" + resources[0].getFile().getAbsolutePath());
    Arrays.sort(resources, new ResourceComparator());
    commandOut.info("Started to load resources");
    for (Resource resource : resources) {
        commandOut.info("Resource name: " + resource.getFilename());
        configReader.loadBeanDefinitions(resource);
    }/* www  . j  a  v a2  s.c o  m*/
    ctx.refresh();
    return ctx;
}

From source file:org.opennms.install.Installer.java

/**
 * <p>install</p>/*from   w w  w.j a  va  2  s  . c  o m*/
 *
 * @param argv an array of {@link java.lang.String} objects.
 * @throws java.lang.Exception if any.
 */
public void install(final String[] argv) throws Exception {
    printHeader();
    loadProperties();
    parseArguments(argv);

    final boolean doDatabase = (m_update_database || m_do_inserts || m_update_iplike || m_update_unicode
            || m_fix_constraint);

    if (!doDatabase && m_tomcat_conf == null && !m_install_webapp && m_library_search_path == null) {
        usage(options, m_commandLine, "Nothing to do.  Use -h for help.", null);
        System.exit(1);
    }

    if (doDatabase) {
        final File cfgFile = ConfigFileConstants
                .getFile(ConfigFileConstants.OPENNMS_DATASOURCE_CONFIG_FILE_NAME);

        InputStream is = new FileInputStream(cfgFile);
        final JdbcDataSource adminDsConfig = new DataSourceConfigurationFactory(is)
                .getJdbcDataSource(ADMIN_DATA_SOURCE_NAME);
        final DataSource adminDs = new SimpleDataSource(adminDsConfig);
        is.close();

        is = new FileInputStream(cfgFile);
        final JdbcDataSource dsConfig = new DataSourceConfigurationFactory(is)
                .getJdbcDataSource(OPENNMS_DATA_SOURCE_NAME);
        final DataSource ds = new SimpleDataSource(dsConfig);
        is.close();

        m_installerDb.setForce(m_force);
        m_installerDb.setIgnoreNotNull(m_ignore_not_null);
        m_installerDb.setNoRevert(m_do_not_revert);
        m_installerDb.setAdminDataSource(adminDs);
        m_installerDb.setPostgresOpennmsUser(dsConfig.getUserName());
        m_installerDb.setDataSource(ds);
        m_installerDb.setDatabaseName(dsConfig.getDatabaseName());

        m_migrator.setDataSource(ds);
        m_migrator.setAdminDataSource(adminDs);
        m_migrator.setValidateDatabaseVersion(!m_ignore_database_version);

        m_migration.setDatabaseName(dsConfig.getDatabaseName());
        m_migration.setSchemaName(dsConfig.getSchemaName());
        m_migration.setAdminUser(adminDsConfig.getUserName());
        m_migration.setAdminPassword(adminDsConfig.getPassword());
        m_migration.setDatabaseUser(dsConfig.getUserName());
        m_migration.setDatabasePassword(dsConfig.getPassword());
        m_migration.setChangeLog("changelog.xml");
    }

    checkIPv6();

    /*
     * Make sure we can execute the rrdtool binary when the
     * JniRrdStrategy is enabled.
     */

    boolean using_jni_rrd_strategy = System.getProperty("org.opennms.rrd.strategyClass", "")
            .contains("JniRrdStrategy");

    if (using_jni_rrd_strategy) {
        File rrd_binary = new File(System.getProperty("rrd.binary"));
        if (!rrd_binary.canExecute()) {
            throw new Exception("Cannot execute the rrdtool binary '" + rrd_binary.getAbsolutePath()
                    + "' required by the current RRD strategy. Update the rrd.binary field in opennms.properties appropriately.");
        }
    }

    /*
     * make sure we can load the ICMP library before we go any farther
     */

    if (!Boolean.getBoolean("skip-native")) {
        String icmp_path = findLibrary("jicmp", m_library_search_path, false);
        String icmp6_path = findLibrary("jicmp6", m_library_search_path, false);
        String jrrd_path = findLibrary("jrrd", m_library_search_path, false);
        String jrrd2_path = findLibrary("jrrd2", m_library_search_path, false);
        writeLibraryConfig(icmp_path, icmp6_path, jrrd_path, jrrd2_path);
    }

    /*
     * Everything needs to use the administrative data source until we
     * verify that the opennms database is created below (and where we
     * create it if it doesn't already exist).
     */

    verifyFilesAndDirectories();

    if (m_install_webapp) {
        checkWebappOldOpennmsDir();
        checkServerXmlOldOpennmsContext();
    }

    if (m_update_database || m_fix_constraint) {
        // OLDINSTALL m_installerDb.readTables();
    }

    m_installerDb.disconnect();
    if (doDatabase) {
        m_migrator.validateDatabaseVersion();

        System.out.println(
                String.format("* using '%s' as the PostgreSQL user for OpenNMS", m_migration.getAdminUser()));
        System.out.println(String.format("* using '%s' as the PostgreSQL database name for OpenNMS",
                m_migration.getDatabaseName()));
        if (m_migration.getSchemaName() != null) {
            System.out.println(String.format("* using '%s' as the PostgreSQL schema name for OpenNMS",
                    m_migration.getSchemaName()));
        }
    }

    if (m_update_database) {
        m_migrator.prepareDatabase(m_migration);
    }

    if (doDatabase) {
        m_installerDb.checkUnicode();
    }

    handleConfigurationChanges();

    final GenericApplicationContext context = new GenericApplicationContext();
    context.setClassLoader(Bootstrap.loadClasses(new File(m_opennms_home), true));

    if (m_update_database) {
        m_installerDb.databaseSetUser();
        m_installerDb.disconnect();

        for (final Resource resource : context.getResources("classpath*:/changelog.xml")) {
            System.out.println("- Running migration for changelog: " + resource.getDescription());
            m_migration.setAccessor(new ExistingResourceAccessor(resource));
            m_migrator.migrate(m_migration);
        }
    }

    if (m_update_unicode) {
        System.out.println("WARNING: the -U option is deprecated, it does nothing now");
    }

    if (m_do_vacuum) {
        m_installerDb.vacuumDatabase(m_do_full_vacuum);
    }

    if (m_install_webapp) {
        installWebApp();
    }

    if (m_tomcat_conf != null) {
        updateTomcatConf();
    }

    if (m_update_iplike) {
        m_installerDb.updateIplike();
    }

    if (m_update_database && m_remove_database) {
        m_installerDb.disconnect();
        m_installerDb.databaseRemoveDB();
    }

    if (doDatabase) {
        m_installerDb.disconnect();
    }

    if (m_update_database) {
        createConfiguredFile();
    }

    System.out.println();
    System.out.println("Installer completed successfully!");

    if (!m_skip_upgrade_tools) {
        System.setProperty("opennms.manager.class", "org.opennms.upgrade.support.Upgrade");
        Bootstrap.main(new String[] {});
    }

    context.close();
}