protected PersistenceContextReferenceMetaData createPC(E element, PersistenceContext annotation) { PersistenceContextReferenceMetaData ref = new PersistenceContextReferenceMetaData(); String name = annotation.name(); if(name.length() == 0) name = ProcessorUtils.getName(element); ref.setPersistenceContextRefName(name); if(annotation.unitName().length() > 0) ref.setPersistenceUnitName(annotation.unitName()); PersistenceContextType type = annotation.type(); ref.setPersistenceContextType(type); PersistenceProperty[] properties = annotation.properties(); if(properties.length > 0 ) { PropertiesMetaData refProperties = new PropertiesMetaData(); for(PersistenceProperty p : properties) { PropertyMetaData pmd = new PropertyMetaData(); pmd.setName(p.name()); pmd.setValue(p.value()); refProperties.add(pmd); } ref.setProperties(refProperties); } Set<ResourceInjectionTargetMetaData> injectionTargets = ProcessorUtils.getInjectionTargets(name, element); if(injectionTargets != null) ref.setInjectionTargets(injectionTargets); return ref; }
ref.setPersistenceUnitName(annotation.unitName()); PersistenceContextType type = annotation.type(); ref.setPersistenceContextType(type);