Author: dblevins
Date: Mon Sep 24 21:28:29 2007
New Revision: 579058
URL: http://svn.apache.org/viewvc?rev=579058&view=rev
Log:
Merged several fixes from trunk:
577530: reformatted
577541: Resolve paths to the conf dir, openejb base, or user dir log error on
hardwired logger if the directories for the log files don't exist.
578355: Turned the List of remote and local business interfaces into a Set to
prevent duplication
578356: Added explicit message to when something a remote interfaces
passes/returns/throws is not serializable.
578381: Convert exceptions properly for business intefaces that extend
javax.rmi.Remote
578402: Fixed up the logging.properties to match the
embedded.logging.properties in terms of levels
578409: Fixed the feature that intended to cut out the openejb system apps
when doing embedded testing.
579035: Fixed issue with not being able to specify xml overrides for @EJB
annotation usage
579038: Put the SecurityServiceImpl before the PseudoSecurityService so it's
picked for the default.
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
openejb/branches/3.0-beta-1/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
openejb/branches/3.0-beta-1/container/openejb-core/src/main/resources/logging.properties
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/RemoteBean.java
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java?rev=579058&r1=579057&r2=579058&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
Mon Sep 24 21:28:29 2007
@@ -335,7 +335,7 @@
context.bind(name, ref);
bindings.add(name);
beanInfo.jndiNames.add(externalName);
- logger.info("Jndi(name=" + externalName +") bound to
Ejb(deployment-id="+beanInfo.ejbDeploymentId+")");
+ logger.info("Jndi(name=" + externalName +") -->
Ejb(deployment-id="+beanInfo.ejbDeploymentId+")");
} catch (NameAlreadyBoundException e) {
DeploymentInfo deployment = findNameOwner(name);
if (deployment != null){
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=579058&r1=579057&r2=579058&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Mon Sep 24 21:28:29 2007
@@ -1484,6 +1484,28 @@
}
ejbRef.setMappedName(mappedName);
+
+ Map<String, EjbRef> remoteRefs =
mapReferences(consumer.getEjbRef());
+ if (remoteRefs.containsKey(ejbRef.getName())){
+ EjbRef ref = remoteRefs.get(ejbRef.getName());
+ if (ref.getRemote() == null) ref.setRemote(ejbRef.getRemote());
+ if (ref.getHome() == null) ref.setHome(ejbRef.getHome());
+ if (ref.getMappedName() == null)
ref.setMappedName(ejbRef.getMappedName());
+ ref.getInjectionTarget().addAll(ejbRef.getInjectionTarget());
+ return;
+ }
+
+ Map<String, EjbLocalRef> localRefs =
mapReferences(consumer.getEjbLocalRef());
+ if (localRefs.containsKey(ejbRef.getName())){
+ EjbLocalRef ejbLocalRef = new EjbLocalRef(ejbRef);
+ EjbLocalRef ref = localRefs.get(ejbLocalRef.getName());
+ if (ref.getLocal() == null)
ref.setLocal(ejbLocalRef.getLocal());
+ if (ref.getLocalHome() == null)
ref.setLocalHome(ejbLocalRef.getLocalHome());
+ if (ref.getMappedName() == null)
ref.setMappedName(ejbLocalRef.getMappedName());
+
ref.getInjectionTarget().addAll(ejbLocalRef.getInjectionTarget());
+ return;
+ }
+
switch (ejbRef.getRefType()) {
case UNKNOWN:
case REMOTE:
@@ -1493,6 +1515,14 @@
consumer.getEjbLocalRef().add(new EjbLocalRef(ejbRef));
break;
}
+ }
+
+ private static <T extends JndiReference> Map<String, T>
mapReferences(List<T> refsList) {
+ Map<String, T> refs = new HashMap<String, T>(refsList.size());
+ for (T ref : refsList) {
+ refs.put(ref.getName(), ref);
+ }
+ return refs;
}
private List<Class<?>> copy(List<Class<?>> classes) {
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java?rev=579058&r1=579057&r2=579058&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentsResolver.java
Mon Sep 24 21:28:29 2007
@@ -226,7 +226,7 @@
if (!filterDescriptors){
unchecked = prefiltered.exclude(urlSet);
if (filterSystemApps){
- urlSet =
urlSet.exclude(".*/openejb-[^/]+(.(jar|ear|war)(!/)?|/target/classes/?)");
+ unchecked =
unchecked.exclude(".*/openejb-[^/]+(.(jar|ear|war)(./)?|/target/classes/?)");
}
processUrls(unchecked.getUrls(), classLoader, false, base,
jarList);
}
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java?rev=579058&r1=579057&r2=579058&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
Mon Sep 24 21:28:29 2007
@@ -23,6 +23,7 @@
import java.io.ObjectOutputStream;
import java.io.ObjectStreamException;
import java.io.Serializable;
+import java.io.NotSerializableException;
import java.lang.ref.WeakReference;
import java.lang.reflect.Method;
import java.math.BigDecimal;
@@ -34,7 +35,6 @@
import java.util.Properties;
import java.util.List;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.WeakHashMap;
import java.util.Set;
@@ -59,6 +59,7 @@
import org.apache.openejb.util.proxy.ProxyManager;
public abstract class BaseEjbProxyHandler implements InvocationHandler,
Serializable {
+ private static final String OPENEJB_LOCALCOPY = "openejb.localcopy";
private static class ProxyRegistry {
@@ -184,7 +185,7 @@
private static boolean parseRemoteCopySetting() {
Properties properties = SystemInstance.get().getProperties();
- String value = properties.getProperty("openejb.localcopy");
+ String value = properties.getProperty(OPENEJB_LOCALCOPY);
if (value == null) {
value =
properties.getProperty(org.apache.openejb.core.EnvProps.INTRA_VM_COPY);
}
@@ -247,7 +248,7 @@
IntraVmCopyMonitor.preCopyOperation();
try {
throwable = (Throwable) copyObj(throwable);
- throw convertException(throwable, method);
+ throw convertException(throwable, method, interfce);
} finally {
IntraVmCopyMonitor.postCopyOperation();
}
@@ -288,7 +289,7 @@
IntraVmCopyMonitor.preCrossClassLoaderOperation();
try {
throwable = (Throwable) copyObj(throwable);
- throw convertException(throwable, method);
+ throw convertException(throwable, method, interfce);
} finally {
IntraVmCopyMonitor.postCrossClassLoaderOperation();
}
@@ -319,7 +320,7 @@
return _invoke(proxy, interfce, method, args);
} catch (Throwable t) {
- throw convertException(t, method);
+ throw convertException(t, method, interfce);
}
}
}
@@ -329,10 +330,12 @@
* will be the top element in the stacktrace
* @param e
* @param method
+ * @param interfce
*/
- protected Throwable convertException(Throwable e, Method method) {
+ protected Throwable convertException(Throwable e, Method method, Class
interfce) {
+ boolean rmiRemote = java.rmi.Remote.class.isAssignableFrom(interfce);
if (e instanceof TransactionRequiredException) {
- if (interfaceType.isBusiness()) {
+ if (!rmiRemote && interfaceType.isBusiness()) {
return new
EJBTransactionRequiredException(e.getMessage()).initCause(getCause(e));
} else if (interfaceType.isLocal()) {
return new
TransactionRequiredLocalException(e.getMessage()).initCause(getCause(e));
@@ -341,7 +344,7 @@
}
}
if (e instanceof TransactionRolledbackException) {
- if (interfaceType.isBusiness()) {
+ if (!rmiRemote && interfaceType.isBusiness()) {
return new
EJBTransactionRolledbackException(e.getMessage()).initCause(getCause(e));
} else if (interfaceType.isLocal()) {
return new
TransactionRolledbackLocalException(e.getMessage()).initCause(getCause(e));
@@ -350,7 +353,7 @@
}
}
if (e instanceof NoSuchObjectException) {
- if (interfaceType.isBusiness()) {
+ if (!rmiRemote && interfaceType.isBusiness()) {
return new
NoSuchEJBException(e.getMessage()).initCause(getCause(e));
} else if (interfaceType.isLocal()) {
return new
NoSuchObjectLocalException(e.getMessage()).initCause(getCause(e));
@@ -359,7 +362,7 @@
}
}
if (e instanceof RemoteException) {
- if (interfaceType.isBusiness()) {
+ if (!rmiRemote && interfaceType.isBusiness()) {
return new EJBException(e.getMessage()).initCause(getCause(e));
} else if (interfaceType.isLocal()) {
return new EJBException(e.getMessage()).initCause(getCause(e));
@@ -368,7 +371,7 @@
}
}
if (e instanceof AccessException) {
- if (interfaceType.isBusiness()) {
+ if (!rmiRemote && interfaceType.isBusiness()) {
return new
AccessLocalException(e.getMessage()).initCause(getCause(e));
} else if (interfaceType.isLocal()) {
return new
AccessLocalException(e.getMessage()).initCause(getCause(e));
@@ -498,10 +501,15 @@
}
- ByteArrayOutputStream baos = new ByteArrayOutputStream(128);
- ObjectOutputStream out = new ObjectOutputStream(baos);
- out.writeObject(object);
- out.close();
+ ByteArrayOutputStream baos = null;
+ try {
+ baos = new ByteArrayOutputStream(128);
+ ObjectOutputStream out = new ObjectOutputStream(baos);
+ out.writeObject(object);
+ out.close();
+ } catch (NotSerializableException e) {
+ throw (IOException) new NotSerializableException(e.getMessage()+"
: The EJB specification restricts remote interfaces to only serializable data
types. This can be disabled for in-vm use with the "+OPENEJB_LOCALCOPY+"=false
system property.").initCause(e);
+ }
ByteArrayInputStream bais = new
ByteArrayInputStream(baos.toByteArray());
ObjectInputStream in = new EjbObjectInputStream(bais);
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?rev=579058&r1=579057&r2=579058&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
Mon Sep 24 21:28:29 2007
@@ -18,6 +18,8 @@
import org.apache.log4j.Level;
import org.apache.log4j.PropertyConfigurator;
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.SimpleLayout;
import org.apache.openejb.loader.FileUtils;
import org.apache.openejb.loader.SystemInstance;
@@ -32,10 +34,12 @@
import java.io.InputStream;
import java.net.URL;
import java.text.MessageFormat;
+import java.util.Map;
import java.util.MissingResourceException;
import java.util.Properties;
import java.util.ResourceBundle;
-import java.util.Map;
+import java.util.List;
+import java.util.ArrayList;
public class Logger {
@@ -118,102 +122,147 @@
private static final Computable<String, MessageFormat> messageFormatCache
= new Memoizer<String, MessageFormat>(
messageFormatResolver);
- private static final String LOGGING_PROPERTIES_FILE =
"logging.properties";
- private static final String EMBEDDED_PROPERTIES_FILE =
"embedded.logging.properties";
- static {
- try {
- String prop =
System.getProperty("openejb.logger.external","false");
- boolean externalLogging = Boolean.parseBoolean(prop);
- if(!externalLogging)
- configureInternal();
- } catch (Exception e) {
- // The fall back here is that if log4j.configuration system property
is set, then that configuration file will be used.
- e.printStackTrace();
- }
- }
-
- private static void configureInternal() throws IOException {
-
- System.setProperty("openjpa.Log", "log4j");
- SystemInstance system = SystemInstance.get();
- FileUtils base = system.getBase();
- File confDir = base.getDirectory("conf");
- File loggingPropertiesFile = new File(confDir,
LOGGING_PROPERTIES_FILE);
- if (confDir.exists()) {
- if (loggingPropertiesFile.exists()) {
- BufferedInputStream bis = new
BufferedInputStream(new FileInputStream(loggingPropertiesFile));
- Properties props = new Properties();
- props.load(bis);
+ private static final String LOGGING_PROPERTIES_FILE = "logging.properties";
+ private static final String EMBEDDED_PROPERTIES_FILE =
"embedded.logging.properties";
+
+ static {
+ try {
+ String prop = System.getProperty("openejb.logger.external",
"false");
+ boolean externalLogging = Boolean.parseBoolean(prop);
+ if (!externalLogging)
+ configureInternal();
+ } catch (Exception e) {
+ // The fall back here is that if log4j.configuration system
property is set, then that configuration file will be used.
+ e.printStackTrace();
+ }
+ }
+
+ private static void configureInternal() throws IOException {
+
+ System.setProperty("openjpa.Log", "log4j");
+ SystemInstance system = SystemInstance.get();
+ FileUtils base = system.getBase();
+ File confDir = base.getDirectory("conf");
+ File loggingPropertiesFile = new File(confDir,
LOGGING_PROPERTIES_FILE);
+ if (confDir.exists()) {
+ if (loggingPropertiesFile.exists()) {
+ BufferedInputStream bis = new BufferedInputStream(new
FileInputStream(loggingPropertiesFile));
+ Properties props = new Properties();
+ props.load(bis);
preprocessProperties(props);
PropertyConfigurator.configure(props);
- try{
- bis.close();
- }catch(IOException e){
-
- }
- } else {
-
installLoggingPropertiesFile(loggingPropertiesFile);
- }
- }else{
- configureEmbedded();
- }
- }
-
- private static void preprocessProperties(Properties props) {
- String openejbHome =
SystemInstance.get().getHome().getDirectory().getAbsolutePath();
- String openejbBase =
SystemInstance.get().getBase().getDirectory().getAbsolutePath();
- for (Map.Entry<Object, Object> entry : props.entrySet()) {
+ try {
+ bis.close();
+ } catch (IOException e) {
+
+ }
+ } else {
+ installLoggingPropertiesFile(loggingPropertiesFile);
+ }
+ } else {
+ configureEmbedded();
+ }
+ }
+
+ private static void preprocessProperties(Properties properties) {
+ FileUtils base = SystemInstance.get().getBase();
+ File confDir = new File(base.getDirectory(), "conf");
+ File baseDir = base.getDirectory();
+ File userDir = new File("foo").getParentFile();
+
+ File[] paths = {confDir, baseDir, userDir};
+
+ List missing = new ArrayList();
+
+ for (Map.Entry<Object, Object> entry : properties.entrySet()) {
+ String key = (String) entry.getKey();
String value = (String) entry.getValue();
- value = value.replace("${openejb.home}", openejbHome);
- value = value.replace("${openejb.base}", openejbBase);
- entry.setValue(value);
+
+
+ if (key.endsWith(".File")) {
+
+ boolean found = false;
+ for (int i = 0; i < paths.length && !found; i++) {
+ File path = paths[i];
+ File logfile = new File(path, value);
+ if (logfile.getParentFile().exists()) {
+ properties.setProperty(key, logfile.getAbsolutePath());
+ found = true;
+ }
+ }
+
+ if (!found) {
+ File logfile = new File(paths[0], value);
+ missing.add(logfile);
+ }
+ }
+ }
+
+ if (missing.size() > 0) {
+ org.apache.log4j.Logger logger = getFallabckLogger();
+
+ logger.error("Logging may not operate as expected. The
directories for the following files do not exist so no file can be created.
See the list below.");
+ for (int i = 0; i < missing.size(); i++) {
+ File file = (File) missing.get(i);
+ logger.error("[" + i + "] " + file.getAbsolutePath());
+ }
}
}
- private static void configureEmbedded(){
- URL resource =
Thread.currentThread().getContextClassLoader().getResource(EMBEDDED_PROPERTIES_FILE);
- if(resource != null)
- PropertyConfigurator.configure(resource);
- else
- System.out.println("FATAL ERROR WHILE CONFIGURING LOGGING!!!.
MISSING embedded.logging.properties FILE ");
+ private static org.apache.log4j.Logger getFallabckLogger() {
+ org.apache.log4j.Logger logger =
org.apache.log4j.Logger.getLogger("OpenEJB.logging");
+
+ SimpleLayout simpleLayout = new SimpleLayout();
+ ConsoleAppender newAppender = new ConsoleAppender(simpleLayout);
+ logger.addAppender(newAppender);
+ return logger;
+ }
+
+ private static void configureEmbedded() {
+ URL resource =
Thread.currentThread().getContextClassLoader().getResource(EMBEDDED_PROPERTIES_FILE);
+ if (resource != null)
+ PropertyConfigurator.configure(resource);
+ else
+ System.out.println("FATAL ERROR WHILE CONFIGURING LOGGING!!!.
MISSING embedded.logging.properties FILE ");
}
private static void installLoggingPropertiesFile(File
loggingPropertiesFile) throws IOException {
- URL resource =
Thread.currentThread().getContextClassLoader().getResource(LOGGING_PROPERTIES_FILE);
- if(resource == null){
- System.out.println("FATAL ERROR WHILE CONFIGURING LOGGING!!!.
MISSING logging.properties FILE ");
- return;
- }
- InputStream in = resource.openStream();
- in = new BufferedInputStream(in);
- ByteArrayOutputStream bao = new ByteArrayOutputStream();
+ URL resource =
Thread.currentThread().getContextClassLoader().getResource(LOGGING_PROPERTIES_FILE);
+ if (resource == null) {
+ System.out.println("FATAL ERROR WHILE CONFIGURING LOGGING!!!.
MISSING logging.properties FILE ");
+ return;
+ }
+ InputStream in = resource.openStream();
+ in = new BufferedInputStream(in);
+ ByteArrayOutputStream bao = new ByteArrayOutputStream();
byte buf[] = new byte[4096];
int i = in.read(buf);
- while(i != -1){
- bao.write(buf);
- i = in.read(buf);
+ while (i != -1) {
+ bao.write(buf);
+ i = in.read(buf);
}
byte[] byteArray = bao.toByteArray();
ByteArrayInputStream bis = new ByteArrayInputStream(byteArray);
-
+
Properties props = new Properties();
props.load(bis);
preprocessProperties(props);
- BufferedOutputStream bout = new BufferedOutputStream(new
FileOutputStream(loggingPropertiesFile));
- bout.write(byteArray);
+ BufferedOutputStream bout = new BufferedOutputStream(new
FileOutputStream(loggingPropertiesFile));
+ bout.write(byteArray);
PropertyConfigurator.configure(props);
try {
- bout.close();
- } catch (IOException e) {
-
- }
+ bout.close();
+ } catch (IOException e) {
+
+ }
try {
- in.close();
- } catch (IOException e) {
+ in.close();
+ } catch (IOException e) {
- }
+ }
}
+
/**
* Given a key and a baseName, this method computes a message for a key. if
* the key is not found in this ResourceBundle for this baseName, then it
@@ -256,7 +305,7 @@
/**
* Finds a Logger from the cache and returns it. If not found in cache
then builds a Logger and returns it.
*
- * @param category - The category of the logger
+ * @param category - The category of the logger
* @param baseName - The baseName for the ResourceBundle
* @return Logger
*/
@@ -287,11 +336,12 @@
String name = clazz.getName();
return name.substring(0, name.lastIndexOf("."));
}
-
- public Logger getLogger(String moduleId){
- return Logger.getInstance(this.category,this.baseName);
-
+
+ public Logger getLogger(String moduleId) {
+ return Logger.getInstance(this.category, this.baseName);
+
}
+
/**
* Formats a given message
*
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml?rev=579058&r1=579057&r2=579058&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
Mon Sep 24 21:28:29 2007
@@ -160,12 +160,12 @@
# Specifies the size of the bean pools for this
# stateful SessionBean container.
- PoolSize 100
+ PoolSize 1000
# Property name that specifies the number of instances
# to passivate at one time when doing bulk passivation.
- BulkPassivate 50
+ BulkPassivate 100
</ServiceProvider>
@@ -217,16 +217,16 @@
# ================================================
-->
<ServiceProvider
- id="PseudoSecurityService"
+ id="Default Security Service"
service="SecurityService"
types="SecurityService"
- class-name="org.apache.openejb.ri.sp.PseudoSecurityService"/>
+ class-name="org.apache.openejb.core.security.SecurityServiceImpl"/>
<ServiceProvider
- id="Default Security Service"
+ id="PseudoSecurityService"
service="SecurityService"
types="SecurityService"
- class-name="org.apache.openejb.core.security.SecurityServiceImpl"/>
+ class-name="org.apache.openejb.ri.sp.PseudoSecurityService"/>
<!--
# ================================================
Modified:
openejb/branches/3.0-beta-1/container/openejb-core/src/main/resources/logging.properties
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-core/src/main/resources/logging.properties?rev=579058&r1=579057&r2=579058&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-core/src/main/resources/logging.properties
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-core/src/main/resources/logging.properties
Mon Sep 24 21:28:29 2007
@@ -14,26 +14,28 @@
## See the License for the specific language governing permissions and
## limitations under the License.
## ---------------------------------------------------------------------------
-log4j.category.OpenEJB=warn,R
-log4j.category.OpenEJB.startup=debug
-log4j.category.OpenEJB.server=info
-log4j.category.CORBA-Adapter=debug,R
-log4j.category.Transaction=warn,TX
-log4j.category.org.apache.geronimo=error,R
-log4j.category.org.apache.activemq=error,R
-log4j.category.openjpa=error,R
+log4j.category.OpenEJB = warn,R
+log4j.category.OpenEJB.server = info
+log4j.category.OpenEJB.startup = info
+log4j.category.OpenEJB.startup.config = info
+log4j.category.OpenEJB.hsql = info
+log4j.category.CORBA-Adapter = error,R
+log4j.category.Transaction = warn,TX
+log4j.category.org.apache.activemq = error,R
+log4j.category.org.apache.geronimo = error,R
+log4j.category.openjpa = error,R
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.MaxFileSize=1000KB
log4j.appender.R.MaxBackupIndex=7
-log4j.appender.R.File=${openejb.base}/logs/openejb.log
+log4j.appender.R.File=logs/openejb.log
log4j.appender.R.layout.ConversionPattern=%d - %-5p - %m%n
log4j.appender.TX=org.apache.log4j.RollingFileAppender
log4j.appender.TX.layout=org.apache.log4j.PatternLayout
log4j.appender.TX.MaxFileSize=1000KB
log4j.appender.TX.MaxBackupIndex=100
-log4j.appender.TX.File=${openejb.base}/logs/transaction.log
+log4j.appender.TX.File=logs/transaction.log
log4j.appender.TX.layout.ConversionPattern=%d - %-5p - %m%n
Modified:
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java?rev=579058&r1=579057&r2=579058&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/EntityBean.java
Mon Sep 24 21:28:29 2007
@@ -31,6 +31,7 @@
import java.util.List;
import java.util.Collections;
import java.util.Set;
+import java.util.Collection;
/**
@@ -497,12 +498,12 @@
return this.securityRoleRef;
}
- public List<String> getBusinessLocal() {
- return Collections.EMPTY_LIST;
+ public Collection<String> getBusinessLocal() {
+ return Collections.EMPTY_SET;
}
- public List<String> getBusinessRemote() {
- return Collections.EMPTY_LIST;
+ public Collection<String> getBusinessRemote() {
+ return Collections.EMPTY_SET;
}
public SecurityIdentity getSecurityIdentity() {
Modified:
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/RemoteBean.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/RemoteBean.java?rev=579058&r1=579057&r2=579058&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/RemoteBean.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/RemoteBean.java
Mon Sep 24 21:28:29 2007
@@ -18,6 +18,7 @@
package org.apache.openejb.jee;
import java.util.List;
+import java.util.Collection;
/**
* @version $Revision$ $Date$
@@ -42,7 +43,7 @@
public List<SecurityRoleRef> getSecurityRoleRef();
- List<String> getBusinessLocal();
+ Collection<String> getBusinessLocal();
- List<String> getBusinessRemote();
+ Collection<String> getBusinessRemote();
}
Modified:
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
URL:
http://svn.apache.org/viewvc/openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java?rev=579058&r1=579057&r2=579058&view=diff
==============================================================================
---
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
(original)
+++
openejb/branches/3.0-beta-1/container/openejb-jee/src/main/java/org/apache/openejb/jee/SessionBean.java
Mon Sep 24 21:28:29 2007
@@ -29,6 +29,9 @@
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.ArrayList;
import java.util.List;
+import java.util.Collection;
+import java.util.Set;
+import java.util.LinkedHashSet;
/**
@@ -145,9 +148,9 @@
protected String localHome;
protected String local;
@XmlElement(name = "business-local")
- protected List<String> businessLocal;
+ protected LinkedHashSet<String> businessLocal;
@XmlElement(name = "business-remote")
- protected List<String> businessRemote;
+ protected LinkedHashSet<String> businessRemote;
@XmlElement(name = "service-endpoint")
protected String serviceEndpoint;
@XmlElement(name = "ejb-class")
@@ -334,9 +337,9 @@
this.local = value;
}
- public List<String> getBusinessLocal() {
+ public Collection<String> getBusinessLocal() {
if (businessLocal == null){
- businessLocal = new ArrayList<String>();
+ businessLocal = new LinkedHashSet<String>();
}
return businessLocal;
}
@@ -346,9 +349,9 @@
getBusinessLocal().add(businessLocal);
}
- public List<String> getBusinessRemote() {
+ public Collection<String> getBusinessRemote() {
if (businessRemote == null){
- businessRemote = new ArrayList<String>();
+ businessRemote = new LinkedHashSet<String>();
}
return businessRemote;
}
@@ -423,7 +426,7 @@
assert ejbClass != null: "Set the ejbClass before calling this method";
getAroundInvoke().add(new AroundInvoke(ejbClass, method));
}
-
+
public List<EnvEntry> getEnvEntry() {
if (envEntry == null) {
envEntry = new ArrayList<EnvEntry>();