public HammockDataSource(DataSourceDefinition dataSourceDefinition) { this.name = dataSourceDefinition.name(); this.delegate = createDelegate(dataSourceDefinition); }
private void introspectClass(String location, DataSourceDefinition def) { String name = def.name(); ValueGenerator gen = bindGenerator(location, def); if (name != null && ! "".equals(name)) { bindJndi(name, gen, name); } }
private void createDataSource(@Nonnull DataSourceDefinition dsDef) { String configuredDataSourceName = InjectionPoint.getNameFromJNDILookup(dsDef.name()); if (configuredDataSourceName.equals(dsName)) { instantiateConfiguredDataSourceClass(dsDef); setDataSourcePropertiesFromConfiguredValues(dsDef); } }
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; }
public void registerDataSources(@Observes AfterBeanDiscovery afterBeanDiscovery) { DataSourceDefinition defaultDataSource = dataSourceDefinitions.stream() .filter(dsd -> dsd.name().equals(EntityManagerFactoryProvider.DEFAULT_EMF)) .findFirst() .orElse(null); Bean<ws.ament.hammock.jpa.DataSourceDefinition> defaultBean = beanDelegates .stream() .filter(b -> b.getName().equals(EntityManagerFactoryProvider.DEFAULT_EMF)) .findFirst() .orElse(null); dataSourceDefinitions.stream().map(dataSourceDefinitionDataSourceDefinitionFunction) .map(dataSourceDefinition -> new DataSourceDelegateBean(dataSourceDefinition.getName(), () -> dataSourceDefinition)) .forEach(afterBeanDiscovery::addBean); beanDelegates.stream().map(bean -> new DataSourceDelegateBean(bean.getName(), () -> bean.create(null))) .forEach(afterBeanDiscovery::addBean); databaseProducers.stream().map(producer -> new DataSourceDelegateBean(producer, create(producer))) .forEach(afterBeanDiscovery::addBean); if (defaultBean == null && defaultDataSource == null) { afterBeanDiscovery.addBean(new DefaultDataSourceBean()); } }
private ConfigProgram generateProgram(AnnotatedField<?> field, DataSourceDefinition def) throws ConfigException { String name = def.name(); Field javaField = field.getJavaMember(); String location = getLocation(javaField); Class<?> bindType = javaField.getType(); ValueGenerator gen = bindGenerator(location, def); if (name != null && ! "".equals(name)) bindJndi(name, gen, name); bindJndi(javaField, gen); return new FieldGeneratorProgram(javaField, gen); }
protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo, ResourceContainerContext[] rcContexts) throws AnnotationProcessorException { DataSourceDefinitions defns = (DataSourceDefinitions) ainfo.getAnnotation(); DataSourceDefinition values[] = defns.value(); Set duplicates = new HashSet(); if(values != null && values.length >0){ for(DataSourceDefinition defn : values){ String defnName = DataSourceDefinitionDescriptor.getJavaName(defn.name()); if(duplicates.contains(defnName)){ String localString = localStrings.getLocalString( "enterprise.deployment.annotation.handlers.datasourcedefinitionsduplicates", "@DataSourceDefinitions cannot have multiple definitions with same name : '{0}'", defnName); throw new IllegalStateException(localString); /* //TODO V3 should we throw exception or return failure result ? return getFailureResult(ainfo, "@DataSourceDefinitions cannot have multiple" + " definitions with same name [ "+defnName+" ]", true ); */ }else{ duplicates.add(defnName); } DataSourceDefinitionHandler handler = new DataSourceDefinitionHandler(); handler.processAnnotation(defn, ainfo, rcContexts); } duplicates.clear(); } return getDefaultProcessedResult(); }
private ConfigProgram generateProgram(AnnotatedMethod<?> method, DataSourceDefinition def) throws ConfigException { String name = def.name(); Method javaMethod = method.getJavaMember(); String location = getLocation(javaMethod); ValueGenerator gen = bindGenerator(location, def); if (name != null && ! "".equals(name)) bindJndi(name, gen, name); bindJndi(javaMethod, gen); return new MethodGeneratorProgram(javaMethod, gen); }
String name = def.name();
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());
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());
if (!existing) { dataSource = new DataSource(); dataSource.setName(dsDefinition.name());
desc.setMetadataSource(MetadataSource.ANNOTATION); desc.setName(defn.name()); desc.setClassName(defn.className());
if (desc.getName().equals(defn.name())) {