/** * Drop files on undeploy */ public void clean() { helper = new Java2DBProcessorHelper(ctx); helper.init(); helper.createOrDropTablesInDB(false, "CMP"); // NOI18N }
/** * Get the DDL file and execute the statements. * @param fileNamePrefix the common prefix for the DDL file name * @param resourceName the jdbc resource name that would be used * to get a connection to the database. * @return true if the statements were successfully in the database. */ public boolean executeDDLStatement(String fileNamePrefix, String resourceName) { File file = null; Connection conn = null; try { conn = getConnection(resourceName); DatabaseMetaData dbMetaData = conn.getMetaData(); String vendorName = DBVendorTypeHelper.getDBType( dbMetaData.getDatabaseProductName()).toLowerCase(Locale.ENGLISH); file = new File(fileNamePrefix + vendorName + DatabaseConstants.SQL_FILE_EXTENSION); logger.fine("===> File to use: " + file); } catch (IOException e) { fileIOError(appRegisteredName, e); } catch (Exception ex) { cannotConnect(resourceName, ex); } finally { closeConn(conn); } return executeDDLStatement(file, resourceName); }
/** * Calculate createTables value based on the parameter stored on deploy */ public boolean getCreateTables(String bundleName) { return getCreateTables(Boolean.valueOf(deploymentContextProps.getProperty(CREATE_TABLE_VALUE + bundleName))); }
this.helper = new Java2DBProcessorHelper(context); this.helper.init(); && !ddlMode.equals(NONE); boolean createTables = helper.getCreateTables(userCreateTables); helper.setProcessorType("JPA", pud.getName()); // NOI18N helper.setDropTablesValue(userDropTables, pud.getName()); helper.setCreateTablesValue(userCreateTables && !ddlMode.equals(DDL_SQL_SCRIPT_GENERATION), pud.getName()); (PersistenceUnitTransactionType.JTA == PersistenceUnitTransactionType.valueOf(pud.getTransactionType())) ? pud.getJtaDataSource() : pud.getNonJtaDataSource(); helper.setJndiName(dataSourceName, pud.getName()); constructJdbcFileNames(pud); if (logger.isLoggable(Level.FINE)) { logger.fine("Processing request to create files - create file: " + //NOI18N helper.getCreateJdbcFileName(pud.getName()) + ", drop file: " + //NOI18N helper.getDropJdbcFileName(pud.getName()));
String fileName = null; if (create) { if (getCreateTables(bundleName)) { fileName = deploymentContextProps.getProperty(CREATE_JDBC_FILE_NAME + bundleName); if (getDropTables(bundleName)) { fileName = deploymentContextProps.getProperty(DROP_JDBC_FILE_NAME + bundleName); File file = getDDLFile(getGeneratedLocation(bundleName) + fileName, true); if(file.exists()) { executeDDLStatement(file, jndiName); } else { logI18NWarnMessage( (create)? "Java2DBProcessorHelper.cannotcreatetables" //NOI18N : "Java2DBProcessorHelper.cannotdroptables", //NOI18N
"required directory is not available"); } else { Java2DBProcessorHelper h = new Java2DBProcessorHelper(TIMER_SERVICE_APP_NAME); success = h.executeDDLStatement( dir.getCanonicalPath() + "/ejbtimer_upgrade_", resource); ConfigSupport.apply(new SingleConfigCode<Property>() {
private void addSchemaGenerationPropertiesToOverrides(PersistenceUnitDescriptor puDescriptor, Map<String, Object> overrides) { addPropertyToOverride(puDescriptor, overrides, providerPropertyNamesHolder.appLocation, helper.getGeneratedLocation(puDescriptor.getName())); addPropertyToOverride(puDescriptor, overrides, providerPropertyNamesHolder.createJdbcDdlFile, helper.getCreateJdbcFileName(puDescriptor.getName())); addPropertyToOverride(puDescriptor, overrides, providerPropertyNamesHolder.dropJdbcDdlFile, helper.getDropJdbcFileName(puDescriptor.getName())); // The puDescriptor might not have this property if schema generation is triggered by deployment CLI override addPropertyToOverride(puDescriptor, overrides, providerPropertyNamesHolder.ddlGeneration, DROP_AND_CREATE); // If we are doing schema generation, we want DDL scripts to be generated addPropertyToOverride(puDescriptor, overrides, providerPropertyNamesHolder.ddlGenerationOutputMode, DDL_SQL_SCRIPT_GENERATION); }
Java2DBProcessorHelper.getDDLNamePrefix(parBundle.getParent().getParent()); helper.setCreateJdbcFileName(createJdbcFileName, parBundle.getName()); helper.setDropJdbcFileName(dropJdbcFileName, parBundle.getName());
/** * Construct the name of the create and * drop jdbc ddl files that would be * created. These name would be either * obtained from the persistence.xml file * (if the user has defined them) or we would * create default filenames * @param ejbBundle the ejb bundle descriptor being worked on. */ private void constructJdbcFileNames(EjbBundleDescriptorImpl ejbBundle) { String filePrefix = DeploymentHelper.getDDLNamePrefix(ejbBundle); helper.setCreateJdbcFileName(filePrefix + DatabaseConstants.CREATE_DDL_JDBC_FILE_SUFFIX, ejbBundle.getName()); helper.setDropJdbcFileName(filePrefix + DatabaseConstants.DROP_DDL_JDBC_FILE_SUFFIX, ejbBundle.getName()); }
/** * This method is called after the jdbc files have been created. * Iterate over all created jdbc ddl files and * execute it against the database to have the required objects created. */ @Override public void executeCreateDDL() { helper.createOrDropTablesInDB(true, "JPA"); // NOI18N }
helper = new Java2DBProcessorHelper(ctx); helper.init(); helper.setProcessorType("CMP", bundle.getName()); // NOI18N helper.setJndiName(resourceName, bundle.getName()); boolean createTables = helper.getCreateTables(userCreateTables); helper.setCreateTablesValue(userCreateTables, bundle.getName()); helper.setDropTablesValue(userDropTables, bundle.getName()); helper.getCreateJdbcFileName(bundle.getName()), helper.getDropJdbcFileName(bundle.getName())); helper.createOrDropTablesInDB(true, "CMP"); // NOI18N
"required directory is not available"); } else { Java2DBProcessorHelper h = new Java2DBProcessorHelper( EjbContainerUtil.TIMER_SERVICE_APP_NAME); success = h.executeDDLStatement( dir.getCanonicalPath() + "/ejbtimer_upgrade_", resource); _ejbTimersCleanup = !upgrade_with_load;
Java2DBProcessorHelper helper = new Java2DBProcessorHelper(dc); helper.init(); helper.createOrDropTablesInDB(false, "JPA"); // NOI18N