private String rawDefinition(final DataSource d) { try { final Properties p = new Properties(); put(p, "transactional", d.getTransactional()); put(p, "initialPoolSize", d.getInitialPoolSize()); put(p, "isolationLevel", d.getIsolationLevel()); put(p, "loginTimeout", d.getLoginTimeout()); put(p, "maxIdleTime", d.getMaxIdleTime()); put(p, "maxPoolSize", d.getMaxPoolSize()); put(p, "maxStatements", d.getMaxStatements()); put(p, "minPoolSize", d.getMinPoolSize()); put(p, "portNumber", d.getPortNumber()); put(p, "databaseName", d.getDatabaseName()); put(p, "password", d.getPassword()); put(p, "serverName", d.getServerName()); put(p, "url", d.getUrl()); put(p, "user", d.getUser()); setProperties(d, p); final ByteArrayOutputStream out = new ByteArrayOutputStream(); p.store(out, ""); return new String(out.toByteArray()); } catch (final IOException e) { throw new OpenEJBRuntimeException(String.format("Cannot canonicalize the @DataSourceDefinition %s as a properties string", d.getName())); } }
public DataSource property(final String name, final String value) { getProperty().add(new Property(name, value)); return this; }
boolean existing = dataSource != null; if (!existing) { dataSource = new DataSource(); dataSource.setName(dsDefinition.name()); if (dataSource.getClassName() == null) { dataSource.setClassName(dsDefinition.className()); if (dataSource.getDescription() == null && dsDefinition.description().trim().length() > 0) { dataSource.setDescriptions(new Text[]{new Text(null, dsDefinition.description().trim())}); if (dataSource.getUser() == null && dsDefinition.user().trim().length() > 0) { dataSource.setUser(dsDefinition.user().trim()); if (dataSource.getPassword() == null && dsDefinition.password().trim().length() > 0) { dataSource.setPassword(dsDefinition.password().trim()); if (dataSource.getDatabaseName() == null && dsDefinition.databaseName().trim().length() > 0) { dataSource.setDatabaseName(dsDefinition.databaseName().trim()); if (dataSource.getPortNumber() == null && dsDefinition.portNumber() != -1) { dataSource.setPortNumber(dsDefinition.portNumber()); if (dataSource.getServerName() == null && dsDefinition.serverName().trim().length() > 0) { dataSource.setServerName(dsDefinition.serverName().trim()); if (dataSource.getUrl() == null && dsDefinition.url().trim().length() > 0) { dataSource.setUrl(dsDefinition.url().trim());
private void buildDataSourceDefinition(final JndiConsumer consumer, final DataSourceDefinition d) { final DataSource dataSource = new DataSource(); dataSource.setName(d.name()); dataSource.setClassName(d.className()); dataSource.setTransactional(d.transactional()); final DataSource existing = consumer.getDataSourceMap().get(dataSource.getKey()); dataSource.setDatabaseName(d.databaseName()); dataSource.setInitialPoolSize(d.initialPoolSize()); dataSource.setIsolationLevel(IsolationLevel.fromFlag(d.isolationLevel())); dataSource.setLoginTimeout(d.loginTimeout()); dataSource.setMaxIdleTime(d.maxIdleTime()); dataSource.setMaxPoolSize(d.maxPoolSize()); dataSource.setMaxStatements(d.maxStatements()); dataSource.setMinPoolSize(d.minPoolSize()); dataSource.setPassword(d.password()); dataSource.setPortNumber(d.portNumber()); dataSource.setServerName(d.serverName());
public static String createDataSourceKey(DataSource dataSource, MergeContext mergeContext) { return "data-source.name." + dataSource.getName(); } }
for(DataSource dataSource : dataSourcesFromCompManagedBeans){ if(!dataSourcesMap.containsKey(dataSource.getKey())){ dataSources.add(dataSource);
private void buildDataSourceDefinition(final JndiConsumer consumer, final DataSourceDefinition d) { final DataSource dataSource = new DataSource(); dataSource.setName(d.name()); dataSource.setClassName(d.className()); dataSource.setTransactional(d.transactional()); final DataSource existing = consumer.getDataSourceMap().get(dataSource.getKey()); dataSource.setDatabaseName(d.databaseName()); dataSource.setInitialPoolSize(d.initialPoolSize()); dataSource.setIsolationLevel(IsolationLevel.fromFlag(d.isolationLevel())); dataSource.setLoginTimeout(d.loginTimeout()); dataSource.setMaxIdleTime(d.maxIdleTime()); dataSource.setMaxPoolSize(d.maxPoolSize()); dataSource.setMaxStatements(d.maxStatements()); dataSource.setMinPoolSize(d.minPoolSize()); dataSource.setPassword(d.password()); dataSource.setPortNumber(d.portNumber()); dataSource.setServerName(d.serverName());
@Override public String getKey() { final String name = getName(); if (name == null || name.startsWith("java:")) return name; return "java:comp/env/" + name; } }
private void addDataSourceGBean(Module module, Map<EARContext.Key, Object> sharedContext, DataSource ds) throws DeploymentException { String jndiName = ds.getKey(); if (lookupJndiContextMap(module, jndiName) != null) { return; } String name = jndiName; if (name.startsWith("java:")) { name = name.substring(5); } EARContext earContext = module.getEarContext(); AbstractName dataSourceAbstractName = earContext.getNaming().createChildName(module.getModuleName(), name, "GBean"); DataSourceDescription dsDescription = createDataSourceDescription(ds); String osgiJndiName = null; if (dsDescription.getProperties() != null) { osgiJndiName = dsDescription.getProperties().get(ConnectorModuleBuilder.OSGI_JNDI_SERVICE_NAME); } if (osgiJndiName == null) { osgiJndiName = module.getEarContext().getNaming().toOsgiJndiName(dataSourceAbstractName); } dsDescription.setOsgiServiceName(osgiJndiName); try { Object ref = DataSourceService.buildReference(dsDescription); put(jndiName, ref, ReferenceType.DATA_SOURCE, module.getJndiContext(), Collections.<InjectionTarget>emptySet(), sharedContext); } catch (IOException e) { throw new DeploymentException("Could not construct Reference for datasource " + dsDescription, e); } }
private String rawDefinition(final DataSource d) { try { final Properties p = new Properties(); put(p, "transactional", d.getTransactional()); put(p, "initialPoolSize", d.getInitialPoolSize()); put(p, "isolationLevel", d.getIsolationLevel()); put(p, "loginTimeout", d.getLoginTimeout()); put(p, "maxIdleTime", d.getMaxIdleTime()); put(p, "maxPoolSize", d.getMaxPoolSize()); put(p, "maxStatements", d.getMaxStatements()); put(p, "minPoolSize", d.getMinPoolSize()); put(p, "portNumber", d.getPortNumber()); put(p, "databaseName", d.getDatabaseName()); put(p, "password", d.getPassword()); put(p, "serverName", d.getServerName()); put(p, "url", d.getUrl()); put(p, "user", d.getUser()); setProperties(d, p); final ByteArrayOutputStream out = new ByteArrayOutputStream(); p.store(out, ""); return new String(out.toByteArray()); } catch (final IOException e) { throw new OpenEJBRuntimeException(String.format("Cannot canonicalize the @DataSourceDefinition %s as a properties string", d.getName())); } }
@Override public String getKey() { final String name = getName(); if (name.startsWith("java:comp/env/")) { return name.substring("java:comp/env/".length()); } return name; } }
public DataSource property(final String name, final String value) { getProperty().add(new Property(name, value)); return this; }
dsDescription.setName(ds.getName()); dsDescription.setClassName(ds.getClassName()); if (ds.getDescription() != null) { dsDescription.setDescription(ds.getDescription().trim()); if (ds.getUrl() != null) { dsDescription.setUrl(ds.getUrl().trim()); if (ds.getUser() != null) { dsDescription.setUser(ds.getUser().trim()); if (ds.getPassword() != null) { dsDescription.setPassword(ds.getPassword().trim()); if (ds.getDatabaseName() != null) { dsDescription.setDatabaseName(ds.getDatabaseName().trim()); if (ds.getServerName() != null) { dsDescription.setServerName(ds.getServerName().trim()); if (ds.getPortNumber() != null) { dsDescription.setPortNumber(ds.getPortNumber()); if (ds.getLoginTimeout() != null) { dsDescription.setLoginTimeout(ds.getLoginTimeout()); List<Property> props = ds.getProperty(); if (props != null) {
private DataSource findDataSource(DataSourceDefinition dsDefinition, JndiConsumer annotatedApp) { String dsDefinitionName = getJndiName(dsDefinition.name().trim()); Collection<DataSource> dataSources = annotatedApp.getDataSource(); for (DataSource ds : dataSources) { String dsName = getJndiName(ds.getName().trim()); if (dsDefinitionName.equals(dsName)) { return ds; } } return null; }
private void setProperties(final DataSource d, final Properties p) { for (final Property property : d.getProperty()) { final String key = property.getName(); final String value = property.getValue(); put(p, key, value); } }
private Resource toResource(final DataSource datasource) { String name = datasource.getName(); name = name.replaceFirst("java:comp/env/", ""); name = name.replaceFirst("java:", ""); def.setJndi(datasource.getName().replaceFirst("java:", "")); def.setType("javax.sql.DataSource"); put(p, "JtaManaged", datasource.getTransactional()); put(p, "InitialSize", datasource.getInitialPoolSize()); put(p, "DefaultIsolationLevel", datasource.getIsolationLevel()); put(p, "LoginTimeout", datasource.getLoginTimeout()); put(p, "MinEvictableIdleTimeMillis", datasource.getMaxIdleTime()); put(p, "MaxIdle", datasource.getMaxPoolSize()); put(p, "MinIdle", datasource.getMinPoolSize()); put(p, "MaxStatements", datasource.getMaxStatements()); put(p, "Password", datasource.getPassword()); put(p, "JdbcUrl", datasource.getUrl()); put(p, "UserName", datasource.getUser()); put(p, "JdbcDriver", datasource.getClassName()); put(p, "PortNumber", datasource.getPortNumber()); put(p, "DatabaseName", datasource.getDatabaseName()); put(p, "Description", datasource.getDescription()); put(p, "ServerName", datasource.getServerName()); put(p, "Definition", rawDefinition(datasource)); // do we need it?? put(p, AutoConfig.ORIGIN_FLAG, AutoConfig.ORIGIN_ANNOTATION);
@Override public void merge(WebFragment webFragment, WebApp webApp, MergeContext mergeContext) throws DeploymentException { for (DataSource srcDataSource : webFragment.getDataSource()) { String dataSourceKey = createDataSourceKey(srcDataSource, mergeContext); MergeItem mergeItem = (MergeItem) mergeContext.getAttribute(dataSourceKey); if (mergeItem != null && mergeItem.isFromWebFragment()) { throw new DeploymentException(WebDeploymentMessageUtils.createDuplicateJNDIRefMessage("data-source", srcDataSource.getName(), mergeContext.getCurrentJarUrl(), mergeItem .getBelongedURL())); } webApp.getDataSource().add(srcDataSource); mergeContext.setAttribute(dataSourceKey, new MergeItem(srcDataSource, mergeContext.getCurrentJarUrl(), ElementSource.WEB_FRAGMENT)); } }
private void setProperties(final DataSource d, final Properties p) { for (final Property property : d.getProperty()) { final String key = property.getName(); final String value = property.getValue(); put(p, key, value); } }
private Resource toResource(final DataSource datasource) { final String name = cleanUpName(datasource.getName()); final Resource def = new Resource(name, javax.sql.DataSource.class.getName()); def.setJndi(datasource.getName().replaceFirst("java:", "")); def.setType("javax.sql.DataSource"); final Properties p = def.getProperties(); put(p, "JtaManaged", datasource.getTransactional()); put(p, "InitialSize", datasource.getInitialPoolSize()); put(p, "DefaultIsolationLevel", datasource.getIsolationLevel()); put(p, "LoginTimeout", datasource.getLoginTimeout()); put(p, "MinEvictableIdleTimeMillis", datasource.getMaxIdleTime()); put(p, "MaxIdle", datasource.getMaxPoolSize()); put(p, "MinIdle", datasource.getMinPoolSize()); put(p, "MaxStatements", datasource.getMaxStatements()); put(p, "Password", datasource.getPassword()); put(p, "JdbcUrl", datasource.getUrl()); put(p, "UserName", datasource.getUser()); put(p, "JdbcDriver", datasource.getClassName()); put(p, "PortNumber", datasource.getPortNumber()); put(p, "DatabaseName", datasource.getDatabaseName()); put(p, "Description", datasource.getDescription()); put(p, "ServerName", datasource.getServerName()); put(p, "Definition", rawDefinition(datasource)); // do we need it?? put(p, AutoConfig.ORIGIN_FLAG, AutoConfig.ORIGIN_ANNOTATION); setProperties(datasource, p); // to force it to be bound in JndiEncBuilder put(p, "JndiName", def.getJndi()); return def; }