Search in sources :

Example 6 with ApplicationContext

use of org.springframework.context.ApplicationContext in project druid by alibaba.

the class DruidStatServiceTest method test_statService_getSpringDetail.

public void test_statService_getSpringDetail() throws Exception {
    ApplicationContext context = new ClassPathXmlApplicationContext("classpath:com/alibaba/druid/stat/spring-config-stat.xml");
    UserService userService = (UserService) context.getBean("userService");
    userService.save();
    String result = DruidStatService.getInstance().service("/spring-detail.json?class=com.alibaba.druid.stat.spring.UserService&method=save()");
    Map<String, Object> resultMap = (Map<String, Object>) JSONUtils.parse(result);
    Map<String, Object> contentMap = (Map<String, Object>) resultMap.get("Content");
    assertThat((Integer) contentMap.get("ExecuteCount"), equalTo(1));
    // second test
    userService.save();
    result = DruidStatService.getInstance().service("/spring-detail.json?class=com.alibaba.druid.stat.spring.UserService&method=save()");
    resultMap = (Map<String, Object>) JSONUtils.parse(result);
    contentMap = (Map<String, Object>) resultMap.get("Content");
    assertThat((Integer) contentMap.get("ExecuteCount"), equalTo(2));
}
Also used : ClassPathXmlApplicationContext(org.springframework.context.support.ClassPathXmlApplicationContext) ApplicationContext(org.springframework.context.ApplicationContext) ClassPathXmlApplicationContext(org.springframework.context.support.ClassPathXmlApplicationContext) UserService(com.alibaba.druid.stat.spring.UserService) Map(java.util.Map)

Example 7 with ApplicationContext

use of org.springframework.context.ApplicationContext in project dubbo by alibaba.

the class SpringStatusChecker method check.

public Status check() {
    ApplicationContext context = ServiceBean.getSpringContext();
    if (context == null) {
        return new Status(Status.Level.UNKNOWN);
    }
    Status.Level level = Status.Level.OK;
    if (context instanceof Lifecycle) {
        if (((Lifecycle) context).isRunning()) {
            level = Status.Level.OK;
        } else {
            level = Status.Level.ERROR;
        }
    } else {
        level = Status.Level.UNKNOWN;
    }
    StringBuilder buf = new StringBuilder();
    try {
        Class<?> cls = context.getClass();
        Method method = null;
        while (cls != null && method == null) {
            try {
                method = cls.getDeclaredMethod("getConfigLocations", new Class<?>[0]);
            } catch (NoSuchMethodException t) {
                cls = cls.getSuperclass();
            }
        }
        if (method != null) {
            if (!method.isAccessible()) {
                method.setAccessible(true);
            }
            String[] configs = (String[]) method.invoke(context, new Object[0]);
            if (configs != null && configs.length > 0) {
                for (String config : configs) {
                    if (buf.length() > 0) {
                        buf.append(",");
                    }
                    buf.append(config);
                }
            }
        }
    } catch (Throwable t) {
        logger.warn(t.getMessage(), t);
    }
    return new Status(level, buf.toString());
}
Also used : Status(com.alibaba.dubbo.common.status.Status) Lifecycle(org.springframework.context.Lifecycle) Method(java.lang.reflect.Method) ApplicationContext(org.springframework.context.ApplicationContext)

Example 8 with ApplicationContext

use of org.springframework.context.ApplicationContext in project head by mifos.

the class ETLReportDWHelper method execute.

@Override
public void execute(final long timeInMillis) throws BatchJobException {
    new ApplicationContextHolder();
    ArrayList<String> errors = new ArrayList<String>();
    ApplicationContext ach = ApplicationContextHolder.getApplicationContext();
    DriverManagerDataSource ds = (DriverManagerDataSource) ach.getBean("dataSource");
    DriverManagerDataSource dsDW = (DriverManagerDataSource) ach.getBean("dataSourcePentahoDW");
    Pattern pat = Pattern.compile(DATA_WAREHOUSE_DB_NAME_PATTERN);
    Matcher m = pat.matcher(dsDW.getUrl());
    String nameOfDataBase = null;
    if (m.find()) {
        nameOfDataBase = m.group(6);
    }
    if (!nameOfDataBase.equals("")) {
        try {
            dsDW.getConnection();
        } catch (SQLException ex) {
            errors.add("Data Warehouse is not configured");
            throw new BatchJobException("Data warehouse database", errors);
        }
        ConfigurationLocator configurationLocator = new ConfigurationLocator();
        String configPath = configurationLocator.getConfigurationDirectory();
        createPropertiesFileForPentahoDWReports(ds, dsDW);
        String path = configPath + "/ETL/MifosDataWarehouseETL/" + FILENAME;
        String jarPath = configPath + "/ETL/mifos-etl-plugin-1.0-SNAPSHOT.one-jar.jar";
        String javaHome = System.getProperty("java.home") + "/bin/java";
        String pathToLog = configPath + "/ETL/log";
        if (File.separatorChar == '\\') {
            // windows platform
            javaHome = javaHome.replaceAll("/", "\\\\");
            javaHome = '"' + javaHome + '"';
            jarPath = jarPath.replaceAll("/", "\\\\");
            path = path.replaceAll("/", "\\\\");
            pathToLog = pathToLog.replaceAll("/", "\\\\");
        }
        PrintWriter fw = null;
        try {
            boolean hasErrors = false;
            boolean notRun = true;
            ProcessBuilder processBuilder = new ProcessBuilder(javaHome, "-jar", jarPath, path, "false", dsDW.getUsername(), dsDW.getPassword(), dsDW.getUrl());
            processBuilder.redirectErrorStream(true);
            Process p = processBuilder.start();
            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line = null;
            if (new File(pathToLog).exists()) {
                new File(pathToLog).delete();
            }
            File file = new File(pathToLog);
            fw = new PrintWriter(file);
            while ((line = reader.readLine()) != null) {
                fw.println(line);
                if (line.matches("^ERROR.*")) {
                    hasErrors = true;
                }
                notRun = false;
            }
            if (notRun) {
                errors.add("Data Warehouse is not configured properly");
                throw new BatchJobException("Data warehouse database", errors);
            }
            if (hasErrors) {
                errors.add("ETL error, for more details see log file: " + pathToLog);
                throw new BatchJobException("ETL error", errors);
            }
        } catch (IOException ex) {
            throw new BatchJobException(ex.getCause());
        } finally {
            if (fw != null) {
                fw.close();
            }
        }
    } else {
        errors.add("Data Warehouse is not configured");
        throw new BatchJobException("Data warehouse database", errors);
    }
}
Also used : Pattern(java.util.regex.Pattern) InputStreamReader(java.io.InputStreamReader) Matcher(java.util.regex.Matcher) SQLException(java.sql.SQLException) ArrayList(java.util.ArrayList) IOException(java.io.IOException) ConfigurationLocator(org.mifos.framework.util.ConfigurationLocator) ApplicationContext(org.springframework.context.ApplicationContext) BatchJobException(org.mifos.framework.components.batchjobs.exceptions.BatchJobException) DriverManagerDataSource(org.springframework.jdbc.datasource.DriverManagerDataSource) BufferedReader(java.io.BufferedReader) ApplicationContextHolder(org.mifos.application.servicefacade.ApplicationContextHolder) File(java.io.File) PrintWriter(java.io.PrintWriter)

Example 9 with ApplicationContext

use of org.springframework.context.ApplicationContext in project head by mifos.

the class ApplicationInitializer method init.

public void init(ServletContextEvent servletContextEvent) {
    ServletContext servletContext = servletContextEvent.getServletContext();
    try {
        // prevent ehcache "phone home"
        System.setProperty("net.sf.ehcache.skipUpdateCheck", "true");
        // prevent quartz "phone home"
        System.setProperty("org.terracotta.quartz.skipUpdateCheck", "true");
        synchronized (ApplicationInitializer.class) {
            ApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
            if (servletContext != null) {
                dbUpgrade(applicationContext);
            }
            initJNDIforPentaho(applicationContext);
            setAttributesOnContext(servletContext);
            copyResources(servletContext);
            copyLogo(servletContext);
        }
    } catch (Exception e) {
        String errMsgStart = "unable to start Mifos web application";
        if (null == logger) {
            System.err.println(errMsgStart + " and logger is not available!");
            e.printStackTrace();
        } else {
            logger.error(errMsgStart, e);
        }
        throw new Error(e);
    }
    logger.info("Mifos is ready.");
}
Also used : ApplicationContext(org.springframework.context.ApplicationContext) ServletContext(javax.servlet.ServletContext) SystemException(org.mifos.framework.exceptions.SystemException) TaskSystemException(org.mifos.framework.components.batchjobs.exceptions.TaskSystemException) XMLReaderException(org.mifos.framework.exceptions.XMLReaderException) HibernateProcessException(org.mifos.framework.exceptions.HibernateProcessException) PersistenceException(org.mifos.framework.exceptions.PersistenceException) ConfigurationException(org.mifos.config.exceptions.ConfigurationException) AppNotConfiguredException(org.mifos.framework.exceptions.AppNotConfiguredException) AccountException(org.mifos.accounts.exceptions.AccountException) FinancialException(org.mifos.accounts.financial.exceptions.FinancialException) NameAlreadyBoundException(javax.naming.NameAlreadyBoundException) IOException(java.io.IOException) HibernateStartUpException(org.mifos.framework.exceptions.HibernateStartUpException) ApplicationException(org.mifos.framework.exceptions.ApplicationException)

Example 10 with ApplicationContext

use of org.springframework.context.ApplicationContext in project head by mifos.

the class DashboardServiceFacadeWebTier method getCustomerHeaders.

@Override
public String[] getCustomerHeaders() {
    String[] headers = new String[5];
    Locale locale = getLocale();
    MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    Locale prefferedLocale = Localization.getInstance().getLocaleById(user.getPreferredLocaleId());
    if (prefferedLocale != null) {
        locale = prefferedLocale;
    }
    ApplicationContext context = ApplicationContextHolder.getApplicationContext();
    headers[0] = context.getMessage("DashboardDetail.GlobalNumber", null, locale);
    headers[1] = context.getMessage("DashboardDetail.ClientName", null, locale);
    headers[2] = context.getMessage("DashboardDetail.State", null, locale);
    headers[3] = context.getMessage("DashboardDetail.LoanOfficer", null, locale);
    headers[4] = context.getMessage("DashboardDetail.LoanBalance", null, locale);
    return headers;
}
Also used : Locale(java.util.Locale) ApplicationContext(org.springframework.context.ApplicationContext) MifosUser(org.mifos.security.MifosUser)

Aggregations

ApplicationContext (org.springframework.context.ApplicationContext)532 Test (org.junit.Test)256 ClassPathXmlApplicationContext (org.springframework.context.support.ClassPathXmlApplicationContext)161 AnnotationConfigApplicationContext (org.springframework.context.annotation.AnnotationConfigApplicationContext)38 ConfigurableApplicationContext (org.springframework.context.ConfigurableApplicationContext)32 ConfigurableMessenger (org.springframework.scripting.ConfigurableMessenger)28 File (java.io.File)24 Messenger (org.springframework.scripting.Messenger)24 DataSource (javax.sql.DataSource)23 GenericWebApplicationContext (org.springframework.web.context.support.GenericWebApplicationContext)21 Refreshable (org.springframework.aop.target.dynamic.Refreshable)20 StubCloudConnectorTest (org.springframework.cloud.StubCloudConnectorTest)17 SchedulerException (org.quartz.SchedulerException)16 HashMap (java.util.HashMap)15 Map (java.util.Map)14 WebApplicationContext (org.springframework.web.context.WebApplicationContext)14 MovieMapper (com.mapper.MovieMapper)13 GenericApplicationContext (org.springframework.context.support.GenericApplicationContext)13 AnnotationConfigWebApplicationContext (org.springframework.web.context.support.AnnotationConfigWebApplicationContext)13 ArrayList (java.util.ArrayList)12