@Override protected DomainModel getDomainModel() { return FenixFramework.getDomainModel(); }
protected void initializeDomainClassInfos(int serverId) { DomainClassInfo.initializeClassInfos(FenixFramework.getDomainModel(), serverId); }
public static DomainClass getDomainClassFor(final Class<? extends DomainObject> className) { final DomainModel domainModel = FenixFramework.getDomainModel(); for (DomainClass domainClass : domainModel.getDomainClasses()) { if (domainClass.getFullName().equals(className.getName())) { return domainClass; } } return null; }
private static long getMaxIdForClass(String className, long lowestId, long highestId) throws SQLException { Connection conn = TransactionSupport.getCurrentSQLConnection(); try (Statement stmt = conn.createStatement()) { StringBuilder sqlStmtText = new StringBuilder(); sqlStmtText.append("SELECT MAX(OID) FROM `"); DomainClass domainClass = FenixFramework.getDomainModel().findClass(className); sqlStmtText.append(OJBMetadataGenerator.getExpectedTableName(domainClass)); sqlStmtText.append("` WHERE OID > "); sqlStmtText.append(lowestId); sqlStmtText.append(" AND OID <= "); sqlStmtText.append(highestId); sqlStmtText.append(";"); ResultSet rs = stmt.executeQuery(sqlStmtText.toString()); rs.first(); return rs.getLong(1); // getLong() will return 0 in case there is no line matching the query } }
@Override protected void init() { DomainClassInfo.initializeClassInfos(FenixFramework.getDomainModel(), 0); super.init(); }
private static void load() { startActivities = new HashMap<String, Activity<? extends Process>>(); final Collection<DomainClass> domainClasses = FenixFramework.getDomainModel().getDomainClasses(); for (final DomainClass domainClass : domainClasses) { try { final Class<?> clazz = Class.forName(domainClass.getFullName()); if (Process.class.isAssignableFrom(clazz) && !Modifier.isAbstract(clazz.getModifiers())) { final Activity<? extends Process> activity = getStartActivity((Class<? extends Process>) clazz); if (activity != null) { startActivities.put(domainClass.getFullName(), activity); } } } catch (Exception e) { logger.error(e.getMessage(), e); } } }
/** Scans for domain classes annotated with @Indexed **/ private static Set<Class<?>> getIndexedDomainClasses() { Set<Class<?>> classList = new HashSet<Class<?>>(); for (DomainClass dc : FenixFramework.getDomainModel().getDomainClasses()) { try { Class<?> domainClass = Class.forName(dc.getFullName()); if (domainClass.getAnnotation(org.hibernate.search.annotations.Indexed.class) != null) { logger.trace("Indexing " + dc.getFullName()); classList.add(domainClass); } } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } return classList; } }
@Override protected void init() { DomainClassInfo.initializeClassInfos(FenixFramework.getDomainModel(), 0); super.init(); }
@SuppressWarnings("unchecked") public static List<Class<? extends DomainObject>> getDomainClassHierarchy(final Class<?> superClass, boolean shouldContainSuperClass, boolean shouldContainAbstractClass) { final DomainModel domainModel = FenixFramework.getDomainModel(); List<Class<? extends DomainObject>> classNames = new ArrayList<Class<? extends DomainObject>>(); for (DomainClass domainClass : domainModel.getDomainClasses()) { if (isClassInstance(domainClass, superClass, shouldContainSuperClass)) { try { final Class<? extends DomainObject> clazz = (Class<? extends DomainObject>) Class.forName(domainClass.getFullName()); if (shouldContainAbstractClass || !Modifier.isAbstract(clazz.getModifiers())) { classNames.add(clazz); } } catch (ClassNotFoundException e) { // ignore error e.printStackTrace(); } } } return classNames; }
mbean.initDap(dapConfig, FenixFramework.getDomainModel()); mbean.enableDap(); } catch (Exception ex) {
public static boolean updateDataRepositoryStructureIfNeeded(JvstmOJBConfig config, Connection connection) { try { boolean infrastructureExists = infrastructureExists(connection); if (!infrastructureExists) { logger.info("Updating Repository Infrastructure"); createInfrastructure(connection); } if (!infrastructureExists || config.getUpdateRepositoryStructureIfNeeded()) { logger.info("Updating Repository Structure"); final String updates = SQLUpdateGenerator.generateSqlUpdates(FenixFramework.getDomainModel(), connection, null, false); executeSqlInstructions(connection, updates); logger.info("Repository Structure update completed"); } return !infrastructureExists; } catch (SQLException | IOException ex) { logger.error("Could not update data repository", ex); throw new Error(ex); } }
DomainModel model = FenixFramework.getDomainModel();
private MetadataManager(final JvstmOJBConfig config) { try { // create the OJB's MetadataManager, but use the correct // OJB.properties file System.setProperty(OjbConfiguration.OJB_PROPERTIES_FILE, "pt/ist/fenixframework/OJB.properties"); this.ojbMetadataManager = org.apache.ojb.broker.metadata.MetadataManager.getInstance(); // config the OJB's database descriptor JdbcConnectionDescriptor jcd = makeJdbcDescriptor(config); this.ojbMetadataManager.connectionRepository().addDescriptor(jcd); this.ojbMetadataManager.setDefaultPBKey(jcd.getPBKey()); // generate the OJB's mappings OJBMetadataGenerator.updateOJBMappingFromDomainModel(FenixFramework.getDomainModel()); } catch (Exception e) { // transform any exception during the initialization phase into an // Error throw new Error(e); } }
public static String generateSqlUpdates(final URL[] modelUrls, final String db, final String dbUser, final String dbPass, String charset, boolean genDrops) throws SQLException, LookupException { FenixFramework.initialize(new JvstmOJBConfig() { { domainModelURLs = modelUrls; dbAlias = db; dbUsername = dbUser; dbPassword = dbPass; } }); final PersistenceBroker persistenceBroker = PersistenceBrokerFactory.defaultPersistenceBroker(); Connection connection = persistenceBroker.serviceConnectionManager().getConnection(); return generateSqlUpdates(FenixFramework.getDomainModel(), connection, charset, genDrops); }
/** * Creates a {@link DomainRoot} for the {@link DomainFenixFrameworkRoot} and then initializes the * {@link DomainFenixFrameworkRoot}. */ @Atomic public static void bootstrap() { if (getInstance() == null) { DomainFenixFrameworkRoot fenixFrameworkRoot = new DomainFenixFrameworkRoot(); FenixFramework.getDomainRoot().setDomainFenixFrameworkRoot(fenixFrameworkRoot); } getInstance().initialize(FenixFramework.getDomainModel()); }