org.kie.server.services.jbpm.jpa.PersistenceUnitInfoImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kie-server-services-jbpm Show documentation
Show all versions of kie-server-services-jbpm Show documentation
KIE jBPM Execution Server Extension
/*
* Copyright 2015 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.kie.server.services.jbpm.jpa;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Properties;
import java.util.Set;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.persistence.SharedCacheMode;
import javax.persistence.ValidationMode;
import javax.persistence.spi.ClassTransformer;
import javax.persistence.spi.PersistenceUnitInfo;
import javax.persistence.spi.PersistenceUnitTransactionType;
import javax.sql.DataSource;
public class PersistenceUnitInfoImpl implements PersistenceUnitInfo {
private String persistenceUnitName;
private String persistenceProviderClassName;
private String transactionType = "JTA";
private String jtaDataSource;
private String nonJtaDataSource;
private List mappingFileNames = new ArrayList();
private List jarFileUrls = new ArrayList();
private URL persistenceUnitRootUrl;
private List managedClassNames = new ArrayList();
private boolean excludeUnlistedClasses;
private String sharedCacheMode = SharedCacheMode.NONE.toString();
private String validationMode = ValidationMode.NONE.toString();
private Properties properties = new Properties();
private String persistenceXMLSchemaVersion;
private Set classTransformers = new HashSet();
private ClassLoader classLoader;
private ClassLoader tmpClassLoader;
private InitialContext initialContext;
public PersistenceUnitInfoImpl(InitialContext initialContext, ClassLoader classLoader) {
this.initialContext = initialContext;
this.classLoader = classLoader;
this.tmpClassLoader = classLoader;
}
@Override
public String getPersistenceUnitName() {
return persistenceUnitName;
}
@Override
public String getPersistenceProviderClassName() {
return persistenceProviderClassName;
}
@Override
public PersistenceUnitTransactionType getTransactionType() {
return PersistenceUnitTransactionType.valueOf(transactionType);
}
@Override
public DataSource getJtaDataSource() {
if (jtaDataSource == null) {
return null;
}
try {
return (DataSource) initialContext.lookup(jtaDataSource);
} catch (NamingException e) {
throw new RuntimeException("Unable to find jta data source under name " + jtaDataSource);
}
}
@Override
public DataSource getNonJtaDataSource() {
if (nonJtaDataSource == null) {
return null;
}
try {
return (DataSource) initialContext.lookup(nonJtaDataSource);
} catch (NamingException e) {
throw new RuntimeException("Unable to find non jta data source under name " + nonJtaDataSource);
}
}
@Override
public List getMappingFileNames() {
return mappingFileNames;
}
@Override
public List getJarFileUrls() {
return jarFileUrls;
}
@Override
public URL getPersistenceUnitRootUrl() {
return persistenceUnitRootUrl;
}
@Override
public List getManagedClassNames() {
return managedClassNames;
}
@Override
public boolean excludeUnlistedClasses() {
return excludeUnlistedClasses;
}
@Override
public SharedCacheMode getSharedCacheMode() {
return SharedCacheMode.valueOf(sharedCacheMode);
}
@Override
public ValidationMode getValidationMode() {
return ValidationMode.valueOf(validationMode);
}
@Override
public Properties getProperties() {
return properties;
}
@Override
public String getPersistenceXMLSchemaVersion() {
return persistenceXMLSchemaVersion;
}
@Override
public ClassLoader getClassLoader() {
return classLoader;
}
@Override
public void addTransformer(ClassTransformer transformer) {
classTransformers.add(transformer);
}
@Override
public ClassLoader getNewTempClassLoader() {
return tmpClassLoader;
}
public void setPersistenceUnitName(String persistenceUnitName) {
this.persistenceUnitName = persistenceUnitName;
}
public void setPersistenceProviderClassName(String persistenceProviderClassName) {
this.persistenceProviderClassName = persistenceProviderClassName;
}
public void setTransactionType(String transactionType) {
this.transactionType = transactionType;
}
public void setJtaDataSource(String jtaDataSource) {
this.jtaDataSource = jtaDataSource;
}
public void setNonJtaDataSource(String nonJtaDataSource) {
this.nonJtaDataSource = nonJtaDataSource;
}
public void setMappingFileNames(List mappingFileNames) {
this.mappingFileNames = mappingFileNames;
}
public void setJarFileUrls(List jarFileUrls) {
this.jarFileUrls = jarFileUrls;
}
public void setPersistenceUnitRootUrl(URL persistenceUnitRootUrl) {
this.persistenceUnitRootUrl = persistenceUnitRootUrl;
}
public void setManagedClassNames(List managedClassNames) {
this.managedClassNames = managedClassNames;
}
public void setExcludeUnlistedClasses(boolean excludeUnlistedClasses) {
this.excludeUnlistedClasses = excludeUnlistedClasses;
}
public void setSharedCacheMode(String sharedCacheMode) {
this.sharedCacheMode = sharedCacheMode;
}
public void setValidationMode(String validationMode) {
this.validationMode = validationMode;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
public void setPersistenceXMLSchemaVersion(String persistenceXMLSchemaVersion) {
this.persistenceXMLSchemaVersion = persistenceXMLSchemaVersion;
}
public void setClassTransformers(Set classTransformers) {
this.classTransformers = classTransformers;
}
public void addProperty(String name, String value) {
properties.setProperty(name, value);
}
public void addMappingFile(String mappingFileName) {
mappingFileNames.add(mappingFileName);
}
public void addJarFileUrl(String jarFileUrl) {
try {
jarFileUrls.add(new URL(jarFileUrl));
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
}
public void addManagedClassName(String managedClassName) {
managedClassNames.add(managedClassName);
}
@Override
public String toString() {
return "PersistenceUnitInfoImpl{" +
"persistenceUnitName='" + persistenceUnitName + '\'' +
", persistenceProviderClassName='" + persistenceProviderClassName + '\'' +
'}';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy