private static String getInitParamValue( IntactSession session, String initParamName, String defaultValue ) { return getInitParamValue( session, initParamName, defaultValue, initParamName ); }
public static IntactContext createIntactContext( IntactSession session ) { if ( RuntimeConfig.getCurrentInstance( session ).getDataConfigs().isEmpty() ) { log.warn( "No data configs found. Re-initializing IntAct" ); initIntact( session ); } IntactContext context; log.debug( "Creating data context..." ); DataContext dataContext = new DataContext( session ); // start a context log.debug( "Creating IntactContext..." ); context = new IntactContextWrapper( dataContext, session ); initializeDatabaseIfNecessary(context); return context; }
/** * Initialize the database, adding the institution and schema version * @param context IntactContext */ public static void initializeDatabase(IntactContext context) { try { persistInstitution(context); } catch (IntactTransactionException e) { throw new IntactException("Error while persisting institution.", e); } persistSchemaVersion(context); persistBasicCvObjects(context); }
private static void persistInstitutionAndCvsIfNecessary( IntactContext context ) throws IntactTransactionException { IntactSession session = context.getSession(); Object obj = session.getApplicationAttribute( INSTITUTION_TO_BE_PERSISTED_FLAG ); if ( obj == null ) { return; } boolean needsToBePersisted = ( Boolean ) obj; if ( needsToBePersisted ) { persistInstitution(context); persistBasicCvObjects(context); session.setApplicationAttribute( INSTITUTION_TO_BE_PERSISTED_FLAG, Boolean.FALSE ); } }
if ( isInitialized( session ) ) { throw new IntactInitializationError( "IntAct already initialized" ); registerDataConfig(dataConfig, config, true); String prefix = getInitParamValue( session, IntactEnvironment.AC_PREFIX_PARAM_NAME.getFqn(), DEFAULT_AC_PREFIX ); config.setAcPrefix( prefix ); String strForceNoSchemaCheck = getInitParamValue( session, IntactEnvironment.FORCE_NO_SCHEMA_VERSION_CHECK.getFqn(), Boolean.FALSE.toString() ); boolean forceNoSchemaCheck = Boolean.parseBoolean( strForceNoSchemaCheck ); checkSchemaCompatibility( config.getDefaultDataConfig(), session ); String strReadOnly = getInitParamValue( session, IntactEnvironment.READ_ONLY_APP.getFqn(), DEFAULT_READ_ONLY_APP ); boolean readOnly = Boolean.parseBoolean( strReadOnly ); config.setReadOnlyApp( readOnly ); String strSynchronizeSearchItems = getInitParamValue( session, IntactEnvironment.SYNCHRONIZED_SEARCH_ITEMS.getFqn(), DEFAULT_SYNCHRONIZED_SEARCH_ITEMS ); String strAutoBeginTransaction = getInitParamValue( session, IntactEnvironment.AUTO_BEGIN_TRANSACTION.getFqn(), DEFAULT_TRANSACTION_AUTO_BEGIN ); boolean autoBeginTransaction = Boolean.parseBoolean( strAutoBeginTransaction ); String strDebugMode = getInitParamValue( session, IntactEnvironment.DEBUG_MODE.getFqn(), DEFAULT_DEBUG_MODE ); boolean debugMode = Boolean.parseBoolean( strDebugMode );
public static void initContext( DataConfig defaultDataConfig, IntactSession session ) { if ( session == null ) { session = new StandaloneSession(); } if ( defaultDataConfig == null ) { defaultDataConfig = calculateDefaultDataConfig( session ); } if ( !defaultDataConfig.isInitialized() ) { defaultDataConfig.initialize(); } RuntimeConfig.initRuntime( session, defaultDataConfig ); IntactConfigurator.initIntact( session ); IntactConfigurator.createIntactContext( session ); }
private static void loadInstitution( IntactSession session ) { String institutionLabel = getInitParamValue( session, IntactEnvironment.INSTITUTION_LABEL.getFqn(), null, "institution" ); fullName = getInitParamValue( session, IntactEnvironment.INSTITUTION_FULL_NAME.getFqn(), EBI_INSTITUTION_FULL_NAME); postalAddress = getInitParamValue( session, IntactEnvironment.INSTITUTION_POSTAL_ADDRESS.getFqn(), EBI_INSTITUTION_POSTAL_ADDRESS); url = getInitParamValue( session, IntactEnvironment.INSTITUTION_URL.getFqn(), EBI_INSTITUTION_URL); } else { fullName = getInitParamValue( session, IntactEnvironment.INSTITUTION_FULL_NAME.getFqn(), "" ); postalAddress = getInitParamValue( session, IntactEnvironment.INSTITUTION_POSTAL_ADDRESS.getFqn(), "" ); url = getInitParamValue( session, IntactEnvironment.INSTITUTION_URL.getFqn(), "" ); setInstitutionToBePersisted( session );
private static void persistBasicCvObjects(IntactContext context) { log.debug("Persisting necessary CvObjects"); DaoFactory daoFactory = getDefaultDaoFactory(context); daoFactory.beginTransaction(); CvPrimer cvPrimer = new EmptyCvPrimer(daoFactory); cvPrimer.createCVs(); try { context.getDataContext().commitTransaction(); } catch (IntactTransactionException e) { log.error(e); } }
public void contextInitialized( ServletContextEvent servletContextEvent ) { IntactSession intactSession = new WebappSession( servletContextEvent.getServletContext(), null, null ); log.info( "Starting application" ); // start the intact application (e.g. load Institution, etc) IntactConfigurator.initIntact( intactSession ); }
IntactContext context = IntactConfigurator.createIntactContext( intactSession ); log.debug("Beginning the transaction"); IntactContext.getCurrentInstance().getDataContext().beginTransaction();
/** * Creates a schema * @param initializeDatabase If false, do not initialize the database (e.g. don't create Institution) */ public static void createSchema(boolean initializeDatabase) throws IntactTransactionException { if (log.isDebugEnabled()) log.debug("Creating schema"); DataContext dataContext = IntactContext.getCurrentInstance().getDataContext(); if (dataContext.isTransactionActive()) { throw new IllegalStateException("To reset the schema, the transaction must NOT be active: "+dataContext.getDaoFactory().getCurrentTransaction()); } dataContext.beginTransaction(); Configuration cfg = ((AbstractHibernateDataConfig) IntactContext.getCurrentInstance().getConfig().getDefaultDataConfig()).getConfiguration(); SchemaExport se = new SchemaExport(cfg); se.create(false, true); dataContext.commitTransaction(); dataContext.beginTransaction(); if (initializeDatabase) { if (log.isDebugEnabled()) log.debug("Initializing database"); IntactConfigurator.initializeDatabase(IntactContext.getCurrentInstance()); } dataContext.commitTransaction(); }
private static void persistInstitution(IntactContext context) throws IntactTransactionException { Institution institution = context.getConfig().getInstitution(); if (institution == null) { throw new NullPointerException("Institution is null. Set an institution to the RuntimeConfig first"); } // remove ac, it should not have one at this point to be persisted correctly if (institution.getAc() != null) institution.setAc(null); log.debug("Persisting institution: " + institution.getShortLabel()); DaoFactory daoFactory = getDefaultDaoFactory(context); daoFactory.beginTransaction(); daoFactory.getInstitutionDao().persist(institution); context.getDataContext().commitTransaction(); }