[jboss-cvs] JBossAS SVN: r90801 - in projects/embedded/trunk: core and 10 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jul 3 02:14:08 EDT 2009
Author: ALRubinger
Date: 2009-07-03 02:14:08 -0400 (Fri, 03 Jul 2009)
New Revision: 90801
Added:
projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/
projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/
projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/IgnoreXbUnorderedSequenceLifecycleEventHandler.java
projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/InitLoggingManagerLifecycleEventHandler.java
projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SecurityActions.java
projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SetRmiHostnameLifecycleEventHandler.java
projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SetSysPropIfNotSpecifiedLifecycleEventHandler.java
projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/server/
projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/server/JBossASEmbeddedServer.java
projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/
projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/
projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/fulldep/
projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/fulldep/ejb3/
projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/fulldep/ejb3/OutputBean.java
projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/fulldep/ejb3/OutputLocalBusiness.java
Modified:
projects/embedded/trunk/build/pom.xml
projects/embedded/trunk/core/pom.xml
projects/embedded/trunk/testsuite-full-dep/pom.xml
projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/SecurityActions.java
projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/ServerTestCase.java
Log:
[EMB-31] Start centralizing the embedded-specific tasks into an embedded-core component. Make the testsuite-fulldep an end-user view. Correct the dependency chain along the way such that component-matrix is still authoritative.
Modified: projects/embedded/trunk/build/pom.xml
===================================================================
--- projects/embedded/trunk/build/pom.xml 2009-07-03 06:13:55 UTC (rev 90800)
+++ projects/embedded/trunk/build/pom.xml 2009-07-03 06:14:08 UTC (rev 90801)
@@ -8,9 +8,9 @@
<!-- Parent -->
<parent>
- <groupId>org.jboss</groupId>
- <artifactId>jboss-parent</artifactId>
- <version>4</version>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-component-matrix</artifactId>
+ <version>5.2.0-SNAPSHOT</version>
</parent>
<!-- Model Version -->
@@ -28,10 +28,7 @@
<properties>
<!-- Versioning -->
- <version.org.jboss.bootstrap_jboss.bootstrap.impl.as>2.0.0-alpha-2</version.org.jboss.bootstrap_jboss.bootstrap.impl.as>
- <version.org.jboss.logging_jboss.logging.log4j>2.0.6.GA</version.org.jboss.logging_jboss.logging.log4j>
- <version.org.jboss.logging_jboss.logging.spi>2.0.5.GA</version.org.jboss.logging_jboss.logging.spi>
- <version.junit_junit>4.5</version.junit_junit>
+ <version.junit_junit>4.6</version.junit_junit>
</properties>
@@ -66,12 +63,12 @@
<artifactId>maven-compiler-plugin</artifactId>
<inherited>true</inherited>
<configuration>
- <source>1.5</source>
- <target>1.5</target>
+ <source>1.6</source>
+ <target>1.6</target>
<showDeprecation>false</showDeprecation>
<showWarnings>true</showWarnings>
<optimize>true</optimize>
- <compilerVersion>1.5</compilerVersion>
+ <compilerVersion>1.6</compilerVersion>
<fork>true</fork>
<argLine>-Xmx512M</argLine>
<executable>${JAVA_HOME}/bin/javac</executable>
@@ -101,6 +98,30 @@
<tagBase>https://svn.jboss.org/repos/jbossas/projects/embedded/tags</tagBase>
</configuration>
</plugin>
+
+ <!-- Enforce Maven Environment -->
+ <plugin>
+ <artifactId>maven-enforcer-plugin
+ </artifactId>
+ <executions>
+ <execution>
+ <id>enforce-maven-environment</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <rules>
+ <requireMavenVersion>
+ <version>[2.0.9,2.1)</version> <!-- Must be Maven 2.0.9 >= x > 2.1 -->
+ </requireMavenVersion>
+ <requireJavaVersion>
+ <version>1.6.0</version> <!-- Must be JDK6 -->
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </plugin>
</plugins>
@@ -116,25 +137,18 @@
<version>${version.junit_junit}</version>
<scope>test</scope>
</dependency>
-
+ <!--
+ TODO: Remove
+ This is just so that JBBOOT-94 is brought in, some Maven weirdness going on
+ where jboss.bind.address default is still coming up as 127.0.0.0 even though
+ the dependency plugin shows jboss-bootstrap-spi-as:2.0.0-alpha-2 is being used
+ -->
<dependency>
<groupId>org.jboss.bootstrap</groupId>
<artifactId>jboss-bootstrap-impl-as</artifactId>
- <version>${version.org.jboss.bootstrap_jboss.bootstrap.impl.as}</version>
+ <version>2.0.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.jboss.logging</groupId>
- <artifactId>jboss-logging-log4j</artifactId>
- <version>${version.org.jboss.logging_jboss.logging.log4j}</version>
- </dependency>
-
- <dependency>
- <groupId>org.jboss.logging</groupId>
- <artifactId>jboss-logging-spi</artifactId>
- <version>${version.org.jboss.logging_jboss.logging.spi}</version>
- </dependency>
-
</dependencies>
</dependencyManagement>
Modified: projects/embedded/trunk/core/pom.xml
===================================================================
--- projects/embedded/trunk/core/pom.xml 2009-07-03 06:13:55 UTC (rev 90800)
+++ projects/embedded/trunk/core/pom.xml 2009-07-03 06:14:08 UTC (rev 90801)
@@ -25,14 +25,20 @@
<!-- Properties -->
<properties>
+
+ <!-- Versioning -->
+ <version.org.jboss.jbossas>5.2.0-SNAPSHOT</version.org.jboss.jbossas>
+
+ <!--
+ TODO: Properties below this line should be ultimately
+ removed as these dependencies should be provided as part of the AS
+ dependency chain
+ -->
+
+ <version.jboss.web>2.1.3.GA</version.jboss.web>
</properties>
- <!-- Build -->
- <build>
-
- </build>
-
<!-- Dependencies -->
<dependencies>
@@ -40,7 +46,38 @@
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
+
+ <!-- AS modules and 3rdparty deps -->
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-build</artifactId>
+ <version>${version.org.jboss.jbossas}</version>
+ <type>pom</type>
+ </dependency>
+ <!--
+ Deps in the runtime of AS but *not* part of the AS dependency tree
+
+ TODO: Get these represented by the AS build dependency chain
+ -->
+
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-management</artifactId>
+ <version>${version.org.jboss.jbossas}</version>
+ <classifier>jsr77</classifier>
+ </dependency>
+ <dependency>
+ <groupId>jboss.web</groupId>
+ <artifactId>jsp-api</artifactId>
+ <version>${version.jboss.web}</version>
+ </dependency>
+ <dependency>
+ <groupId>jboss.web</groupId>
+ <artifactId>el-api</artifactId>
+ <version>${version.jboss.web}</version>
+ </dependency>
+
</dependencies>
</project>
Added: projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/IgnoreXbUnorderedSequenceLifecycleEventHandler.java
===================================================================
--- projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/IgnoreXbUnorderedSequenceLifecycleEventHandler.java (rev 0)
+++ projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/IgnoreXbUnorderedSequenceLifecycleEventHandler.java 2009-07-03 06:14:08 UTC (rev 90801)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.core.lifecycle;
+
+/**
+ * IgnoreXbUnorderedSequenceLifecycleEventHandler
+ *
+ * Lifecycle event handler which, unless otherwise specified,
+ * sets the system property denoting that JBossXB should
+ * ignore the order of elements when doing schema validation
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ * @deprecated Should be removed when this is no longer required by AS
+ * for proper boot.
+ * @see https://jira.jboss.org/jira/browse/JBAS-6924 Dependency
+ * @see http://lists.jboss.org/pipermail/jboss-development/2009-May/014394.html
+ */
+ at Deprecated
+public class IgnoreXbUnorderedSequenceLifecycleEventHandler extends SetSysPropIfNotSpecifiedLifecycleEventHandler
+{
+
+ //-------------------------------------------------------------------------------------||
+ // Class Members ----------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /**
+ * System property telling XB whether it may ignore the order of elements, regardless of what's in the schema
+ */
+ private static final String SYS_PROP_XB_IGNORE_UNORDERED = "xb.builder.useUnorderedSequence";
+
+ /**
+ * Value for the ignore property
+ */
+ private static final String XB_IGNORE_VALUE = Boolean.TRUE.toString();
+
+ //-------------------------------------------------------------------------------------||
+ // Required Implementations -----------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.embedded.core.lifecycle.SetSysPropIfNotSpecifiedLifecycleEventHandler#getSysPropName()
+ */
+ @Override
+ String getSysPropName()
+ {
+ return SYS_PROP_XB_IGNORE_UNORDERED;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.embedded.core.lifecycle.SetSysPropIfNotSpecifiedLifecycleEventHandler#getSysPropValue()
+ */
+ @Override
+ String getSysPropValue()
+ {
+ return XB_IGNORE_VALUE;
+ }
+
+}
Added: projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/InitLoggingManagerLifecycleEventHandler.java
===================================================================
--- projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/InitLoggingManagerLifecycleEventHandler.java (rev 0)
+++ projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/InitLoggingManagerLifecycleEventHandler.java 2009-07-03 06:14:08 UTC (rev 90801)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.core.lifecycle;
+
+/**
+ * InitLoggingManagerLifecycleEventHandler
+ *
+ * Lifecycle event handler which, unless otherwise specified,
+ * sets the system property to initialize the JDK Logging Manager
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ * @deprecated Should be done in a jboss-beans.xml? Handled some other way? Moved to
+ * Bootstrap impl-as as part of JBossASServerImpl?
+ */
+ at Deprecated
+public class InitLoggingManagerLifecycleEventHandler extends SetSysPropIfNotSpecifiedLifecycleEventHandler
+{
+
+ //-------------------------------------------------------------------------------------||
+ // Class Members ----------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /**
+ * System property for the logging manager
+ */
+ private static final String SYS_PROP_LOGGING_MANAGER = "java.util.logging.manager";
+
+ /**
+ * Value for the logging manager
+ */
+ private static final String VALUE = "org.jboss.logmanager.LogManager";
+
+ //-------------------------------------------------------------------------------------||
+ // Required Implementations -----------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.embedded.core.lifecycle.SetSysPropIfNotSpecifiedLifecycleEventHandler#getSysPropName()
+ */
+ @Override
+ String getSysPropName()
+ {
+ return SYS_PROP_LOGGING_MANAGER;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.embedded.core.lifecycle.SetSysPropIfNotSpecifiedLifecycleEventHandler#getSysPropValue()
+ */
+ @Override
+ String getSysPropValue()
+ {
+ return VALUE;
+ }
+
+}
Added: projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SecurityActions.java
===================================================================
--- projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SecurityActions.java (rev 0)
+++ projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SecurityActions.java 2009-07-03 06:14:08 UTC (rev 90801)
@@ -0,0 +1,73 @@
+package org.jboss.embedded.core.lifecycle;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * SecurityActions
+ *
+ * A set of privileged actions that are not to leak out
+ * of this package
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+class SecurityActions
+{
+
+ //-------------------------------------------------------------------------------||
+ // Constructor ------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------||
+
+ /**
+ * No external instanciation
+ */
+ private SecurityActions()
+ {
+
+ }
+
+ //-------------------------------------------------------------------------------||
+ // Utility Methods --------------------------------------------------------------||
+ //-------------------------------------------------------------------------------||
+
+ /**
+ * Sets the specified property with key and value
+ */
+ static void setSystemProperty(final String key, final String value)
+ {
+ AccessController.doPrivileged(new PrivilegedAction<Void>()
+ {
+ public Void run()
+ {
+ System.setProperty(key, value);
+ return null;
+ }
+ });
+ }
+
+ /**
+ * Obtains the system property with the specified key
+ *
+ * @param key
+ * @return
+ * @throws IllegalArgumentException If the key is null
+ */
+ static String getSystemProperty(final String key) throws IllegalArgumentException
+ {
+ // Precondition check
+ if (key == null)
+ {
+ throw new IllegalArgumentException("key was null");
+ }
+
+ // Get sysprop
+ return AccessController.doPrivileged(new PrivilegedAction<String>()
+ {
+ public String run()
+ {
+ return System.getProperty(key);
+ }
+ });
+ }
+}
Property changes on: projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SecurityActions.java
___________________________________________________________________
Name: svn:executable
+ *
Added: projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SetRmiHostnameLifecycleEventHandler.java
===================================================================
--- projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SetRmiHostnameLifecycleEventHandler.java (rev 0)
+++ projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SetRmiHostnameLifecycleEventHandler.java 2009-07-03 06:14:08 UTC (rev 90801)
@@ -0,0 +1,77 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.core.lifecycle;
+
+/**
+ * SetRmiHostnameLifecycleEventHandler
+ *
+ * Lifecycle event handler which, unless otherwise specified,
+ * sets the system property denoting the bind hostname for the RMI Server
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ * @deprecated Why is this required to start the server? See where this is provided to
+ * AS standalone (run scripts?) and standardize somewhere.
+ */
+ at Deprecated
+public class SetRmiHostnameLifecycleEventHandler extends SetSysPropIfNotSpecifiedLifecycleEventHandler
+{
+
+ //-------------------------------------------------------------------------------------||
+ // Class Members ----------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /**
+ * System property for the RMI server hostname
+ */
+ private static final String SYS_PROP_RMI_SERVER_HOSTNAME = "java.rmi.server.hostname";
+
+ /**
+ * Value for the hostname
+ */
+ private static final String HOSTNAME_VALUE = "localhost";
+
+ //-------------------------------------------------------------------------------------||
+ // Required Implementations -----------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.embedded.core.lifecycle.SetSysPropIfNotSpecifiedLifecycleEventHandler#getSysPropName()
+ */
+ @Override
+ String getSysPropName()
+ {
+ return SYS_PROP_RMI_SERVER_HOSTNAME;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.embedded.core.lifecycle.SetSysPropIfNotSpecifiedLifecycleEventHandler#getSysPropValue()
+ */
+ @Override
+ String getSysPropValue()
+ {
+ return HOSTNAME_VALUE;
+ }
+
+}
Added: projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SetSysPropIfNotSpecifiedLifecycleEventHandler.java
===================================================================
--- projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SetSysPropIfNotSpecifiedLifecycleEventHandler.java (rev 0)
+++ projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/lifecycle/SetSysPropIfNotSpecifiedLifecycleEventHandler.java 2009-07-03 06:14:08 UTC (rev 90801)
@@ -0,0 +1,103 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.core.lifecycle;
+
+import org.jboss.bootstrap.spi.lifecycle.LifecycleEventException;
+import org.jboss.bootstrap.spi.lifecycle.LifecycleEventHandler;
+import org.jboss.bootstrap.spi.lifecycle.LifecycleState;
+import org.jboss.logging.Logger;
+
+/**
+ * SetSysPropIfNotSpecifiedLifecycleEventHandler
+ *
+ * Lifecycle event handler which sets a system property
+ * unless it's been explicitly specified already
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ * @deprecated Remove when all children are expunged
+ */
+ at Deprecated
+abstract class SetSysPropIfNotSpecifiedLifecycleEventHandler implements LifecycleEventHandler
+{
+
+ //-------------------------------------------------------------------------------------||
+ // Class Members ----------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /**
+ * Logger
+ */
+ private static final Logger log = Logger.getLogger(SetSysPropIfNotSpecifiedLifecycleEventHandler.class);
+
+ //-------------------------------------------------------------------------------------||
+ // Required Implementations -----------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /* (non-Javadoc)
+ * @see org.jboss.bootstrap.spi.lifecycle.LifecycleEventHandler#handleEvent(org.jboss.bootstrap.spi.lifecycle.LifecycleState)
+ */
+ public void handleEvent(final LifecycleState state) throws LifecycleEventException
+ {
+ // Get the system property
+ final String sysPropName = this.getSysPropName();
+
+ // Determine if we should set the property (only if not already specified)
+ boolean setProp = true;
+ final String propertyExplicitlySpecified = SecurityActions.getSystemProperty(sysPropName);
+ if (propertyExplicitlySpecified != null)
+ {
+ setProp = false;
+ }
+
+ // Return if we're not setting
+ if (!setProp)
+ {
+ log.debug("Skipping setting property \"" + sysPropName + "\"; already specified: "
+ + propertyExplicitlySpecified);
+ return;
+ }
+
+ // Set
+ final String sysPropValue = this.getSysPropValue();
+ log.debug("Setting system property \"" + sysPropName + "\": " + sysPropValue);
+ SecurityActions.setSystemProperty(sysPropName, sysPropValue);
+ }
+
+ //-------------------------------------------------------------------------------------||
+ // Contracts --------------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /**
+ * Returns the name of the system property in question
+ * @return
+ */
+ abstract String getSysPropName();
+
+ /**
+ * Returns the value to set upon the system property
+ * if it's not already set
+ * @return
+ */
+ abstract String getSysPropValue();
+
+}
Added: projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/server/JBossASEmbeddedServer.java
===================================================================
--- projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/server/JBossASEmbeddedServer.java (rev 0)
+++ projects/embedded/trunk/core/src/main/java/org/jboss/embedded/core/server/JBossASEmbeddedServer.java 2009-07-03 06:14:08 UTC (rev 90801)
@@ -0,0 +1,123 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.core.server;
+
+import org.jboss.bootstrap.impl.as.config.BasicJBossASServerConfig;
+import org.jboss.bootstrap.impl.as.server.JBossASServerImpl;
+import org.jboss.bootstrap.spi.lifecycle.LifecycleEventHandler;
+import org.jboss.bootstrap.spi.lifecycle.LifecycleState;
+import org.jboss.embedded.core.lifecycle.IgnoreXbUnorderedSequenceLifecycleEventHandler;
+import org.jboss.embedded.core.lifecycle.InitLoggingManagerLifecycleEventHandler;
+import org.jboss.embedded.core.lifecycle.SetRmiHostnameLifecycleEventHandler;
+import org.jboss.logging.Logger;
+
+/**
+ * JBossASEmbeddedServer
+ *
+ * Extension of the JBossAS Server implementation
+ * for use in Embedded environments
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public class JBossASEmbeddedServer extends JBossASServerImpl
+{
+
+ //-------------------------------------------------------------------------------------||
+ // Class Members ----------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /**
+ * Logger
+ */
+ private static final Logger log = Logger.getLogger(JBossASEmbeddedServer.class);
+
+ //-------------------------------------------------------------------------------------||
+ // Constructor ------------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ /**
+ * Constructor
+ *
+ * @param Absolute location of JBOSS_HOME on the filesystem
+ * @throws IllegalArgumentException If jbossHome is not specified
+ */
+ public JBossASEmbeddedServer(final String jbossHome) throws IllegalArgumentException
+ {
+ // Call the super implementation
+ super(new BasicJBossASServerConfig());
+
+ // Precondition check
+ if (jbossHome == null || jbossHome.length() == 0)
+ {
+ throw new IllegalArgumentException("JBOSS_HOME is required but was not specified");
+ }
+
+ // Set JBOSS_HOME
+ this.getConfiguration().jbossHome(jbossHome);
+
+ // Set some lifecycle handlers
+ @SuppressWarnings("deprecation")
+ final LifecycleEventHandler ignoreXbOrder = new IgnoreXbUnorderedSequenceLifecycleEventHandler();
+ this.registerEventHandler(LifecycleState.STARTING, ignoreXbOrder);
+ @SuppressWarnings("deprecation")
+ final LifecycleEventHandler setRmiHostname = new SetRmiHostnameLifecycleEventHandler();
+ this.registerEventHandler(LifecycleState.STARTING, setRmiHostname);
+ @SuppressWarnings("deprecation")
+ final LifecycleEventHandler initLoggingManager = new InitLoggingManagerLifecycleEventHandler();
+ this.registerEventHandler(LifecycleState.STARTING, initLoggingManager);
+
+ //TODO
+ /*
+ * Do we need some handler for boot.log? Something like:
+ */
+ log.warn(this + " has not installed any handler for a boot.log in $JBOSS_HOME/server/[name]/log");
+ // /*
+ // * Set boot log directory
+ // */
+ // final String sysPropBootLogDir = "jboss.boot.server.log.dir";
+ // final String sysPropLogDir = JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_LOG_DIR;
+ // String serverName = System.getProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_NAME);
+ // if (serverName == null || serverName.length() == 0)
+ // {
+ // serverName = JBossASConfigurationInitializer.VALUE_SERVER_NAME_DEFAULT;
+ // }
+ // final String manualBootLogDir = System.getProperty(sysPropBootLogDir);
+ // final String manualLogDir = System.getProperty(sysPropLogDir);
+ // // If nothing's been explicitly specified
+ // if (manualBootLogDir == null && manualLogDir == null)
+ // {
+ // // We default it
+ // final File jbossHomeFile = new File(jbossHome);
+ // final URL jbossHomeUrl = jbossHomeFile.toURI().toURL();
+ // final URL serverLog = new URL(jbossHomeUrl, "server/" + serverName + "/log/");
+ // final File serverLogFile = new File(serverLog.toURI());
+ // final String serverLogString = serverLogFile.getAbsolutePath();
+ // System.setProperty(sysPropBootLogDir, serverLogString);
+ // }
+ // // If we've got a manual log dir, use it
+ // else if (manualLogDir != null)
+ // {
+ // System.setProperty(sysPropBootLogDir, manualLogDir);
+ // }
+ }
+}
Modified: projects/embedded/trunk/testsuite-full-dep/pom.xml
===================================================================
--- projects/embedded/trunk/testsuite-full-dep/pom.xml 2009-07-03 06:13:55 UTC (rev 90800)
+++ projects/embedded/trunk/testsuite-full-dep/pom.xml 2009-07-03 06:14:08 UTC (rev 90801)
@@ -14,120 +14,38 @@
<modelVersion>4.0.0</modelVersion>
<!-- Artifact Configuration -->
- <artifactId>jboss-embedded-testsuite-fulldep</artifactId>
+ <artifactId>jboss-embedded-testsuite-fulldep
+ </artifactId>
<version>0.1.0-SNAPSHOT</version>
- <name>JBossAS Embedded TestSuite for Full AS Dependency Set</name>
+ <name>JBossAS Embedded TestSuite for Full AS Dependency Set
+ </name>
<description>JBoss Application Server Embedded TestSuite with Full AS Dependency Set</description>
-
- <build>
-
- <plugins>
-
- <!-- Surefire -->
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemProperties>
- <!--
- This doesn't seem to help for JDK5, and is not needed in
- JDK6. Aims to address "feature not implemented" error on
- boot
- -->
- <property>
- <name>java.endorsed.dirs</name>
- <value>/home/alrubinger/business/jboss/wc/jbossas/branches/Branch_5_x/build/output/jboss-5.2.0.Beta/lib/endorsed</value>
- </property>
- </systemProperties>
- </configuration>
- </plugin>
-
- <!-- Enforce Maven Environment -->
- <plugin>
- <artifactId>maven-enforcer-plugin</artifactId>
- <executions>
- <execution>
- <id>enforce-maven-environment</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <rules>
- <requireMavenVersion>
- <version>[2.0.9,2.1)</version> <!-- Must be Maven 2.0.9 >= x > 2.1 -->
- </requireMavenVersion>
- <requireJavaVersion>
- <version>1.6.0</version> <!-- Must be JDK6 -->
- </requireJavaVersion>
- </rules>
- </configuration>
- </plugin>
-
-
- </plugins>
- </build>
-
+
<!-- Properties -->
<properties>
- <version.org.jboss.jbossas>5.2.0-SNAPSHOT</version.org.jboss.jbossas>
- <version.jboss.web>2.1.3.GA</version.jboss.web>
- <version.org.jboss.javaee_jboss.javaee>5.0.1.GA</version.org.jboss.javaee_jboss.javaee>
-
+
+ <!-- Versioning -->
+ <version.org.jboss.embedded_jboss.embedded.core>0.1.0-SNAPSHOT</version.org.jboss.embedded_jboss.embedded.core>
+
</properties>
<!-- Dependencies -->
<dependencies>
+ <!-- JBossAS Embedded Core -->
+ <dependency>
+ <groupId>org.jboss.embedded</groupId>
+ <artifactId>jboss-embedded-core</artifactId>
+ <version>${version.org.jboss.embedded_jboss.embedded.core}</version>
+ <scope>test</scope>
+ </dependency>
+
<!-- JUnit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
- <!-- AS modules and 3rdparty deps -->
- <dependency>
- <groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-as-build</artifactId>
- <version>${version.org.jboss.jbossas}</version>
- <type>pom</type>
- <exclusions>
- <!-- TODO: Should this be necessary? -->
- <exclusion>
- <groupId>javax.security</groupId>
- <artifactId>jacc</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!--
- Deps in the runtime of AS but *not* part of the AS dependency tree
-
- TODO: Get these represented by the AS build dependency chain
- -->
-
- <dependency>
- <groupId>org.jboss.jbossas</groupId>
- <artifactId>jboss-as-management</artifactId>
- <version>${version.org.jboss.jbossas}</version>
- <classifier>jsr77</classifier>
- </dependency>
- <dependency>
- <groupId>jboss.web</groupId>
- <artifactId>jsp-api</artifactId>
- <version>${version.jboss.web}</version>
- </dependency>
- <dependency>
- <groupId>jboss.web</groupId>
- <artifactId>el-api</artifactId>
- <version>${version.jboss.web}</version>
- </dependency>
- <dependency>
- <groupId>org.jboss.javaee</groupId>
- <artifactId>jboss-javaee</artifactId>
- <version>${version.org.jboss.javaee_jboss.javaee}</version>
- </dependency>
-
</dependencies>
</project>
Modified: projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/SecurityActions.java
===================================================================
--- projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/SecurityActions.java 2009-07-03 06:13:55 UTC (rev 90800)
+++ projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/SecurityActions.java 2009-07-03 06:14:08 UTC (rev 90801)
@@ -125,4 +125,29 @@
});
}
+
+ /**
+ * Obtains the environment variable with the specified key
+ *
+ * @param key
+ * @return
+ * @throws IllegalArgumentException If the key is null
+ */
+ static String getEnvironmentVariable(final String key) throws IllegalArgumentException
+ {
+ // Precondition check
+ if (key == null)
+ {
+ throw new IllegalArgumentException("key was null");
+ }
+
+ // Get envvar
+ return AccessController.doPrivileged(new PrivilegedAction<String>()
+ {
+ public String run()
+ {
+ return System.getenv(key);
+ }
+ });
+ }
}
Modified: projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/ServerTestCase.java
===================================================================
--- projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/ServerTestCase.java 2009-07-03 06:13:55 UTC (rev 90800)
+++ projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/ServerTestCase.java 2009-07-03 06:14:08 UTC (rev 90801)
@@ -22,34 +22,32 @@
//FIXME We have to be in org.jboss due to JMX getPackage in AS
package org.jboss;
-import java.io.File;
-import java.net.URL;
-
import junit.framework.TestCase;
-import org.jboss.bootstrap.spi.as.config.JBossASConfigurationInitializer;
-import org.jboss.bootstrap.spi.as.config.JBossASServerConfig;
import org.jboss.bootstrap.spi.as.server.JBossASServer;
-import org.jboss.bootstrap.spi.as.server.JBossASServerFactory;
import org.jboss.bootstrap.spi.lifecycle.LifecycleState;
+import org.jboss.embedded.core.server.JBossASEmbeddedServer;
+import org.jboss.logging.Logger;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
import org.junit.Test;
/**
* ServerTestCase
*
- * Don't even begin to consider this a real test :D
- * It's essentially all the logic of what Embedded Core will
- * provide in one unified place.
+ * The beginnings of the prototype for an end-user view
+ * of the Embedded Server. Tests here should include lifecycle
+ * to start/stop the server, and checks to ensure that
+ * subsystems are working as expected.
*
* This is the initial prototype for Embedded AS to run
* with a full AS Dependency Set upon the Application
- * ClassLoader. The deps are defined by pom.xml.
+ * ClassLoader. The deps are defined by pom.xml and its parents.
*
* Some hacks worthy of note:
- * 1) JBOSS_HOME is hardcoded
- * 2) Requires JDK6 to run, something to do with JAXP not getting endorsed
+ * 1) Requires JDK6 to run, something to do with JAXP not getting endorsed
* from java.endorsed.dirs in pom.xml Surefire Config
- * 3) This class must be in package org.jboss due to JMX
+ * 2) This class must be in package org.jboss due to JMX
* package checking in AS org.jboss.management.j2ee.deployers.LocalJBossServerDomain at 335
*
* @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
@@ -62,100 +60,87 @@
// Class Members ----------------------------------------------------------------||
//-------------------------------------------------------------------------------||
+ private static final Logger log = Logger.getLogger(ServerTestCase.class);
+
/**
* The server instance
*/
private static JBossASServer server;
/**
- * Location of JBOSS_HOME, hack for now.
+ * Environment Variable name for JBOSS_HOME
*/
- @Deprecated
- //FIXME
- private static final String HARDCODED_JBOSS_HOME = "/home/alrubinger/business/jboss/wc/jbossas/branches/Branch_5_x/build/output/jboss-5.2.0.Beta/";
+ private static final String ENV_VAR_JBOSS_HOME = "JBOSS_HOME";
+ /**
+ * System property name for JBOSS_HOME
+ */
+ private static final String SYS_PROP_JBOSS_HOME = "jboss.home";
+
//-------------------------------------------------------------------------------||
- // Tests ------------------------------------------------------------------------||
+ // Lifecycle --------------------------------------------------------------------||
//-------------------------------------------------------------------------------||
/**
- * Ensures that the server reports as running
+ * Starts up the Application Server. Relies upon either Environment
+ * Variable "JBOSS_HOME" or System Property "jboss.home" being set, with
+ * precedence to the system property
*/
- @Test
- public void testServerStart() throws Throwable
+ @BeforeClass
+ public static void startEmbedddedAS() throws Exception
{
- //FIXME
- // These should be set up by some common AS booter if not specified, not unique to Embedded
- System.setProperty("xb.builder.useUnorderedSequence", Boolean.TRUE.toString());
- System.setProperty("java.rmi.server.hostname", "localhost");
-
- //FIXME Hack
- // http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4237170
- System.setProperty("javax.security.jacc.PolicyConfigurationFactory.provider",
- "org.jboss.security.jacc.JBossPolicyConfigurationFactory");
-
- final String propKeyJBossasBindAddress = JBossASServerConfig.PROP_KEY_JBOSSAS_BIND_ADDRESS;
- final String defaultBindAddress = "127.0.0.1";
- System.setProperty(propKeyJBossasBindAddress, defaultBindAddress);
-
- System.out.println(System.getProperties());
-
- // Initialize the JDK logmanager
- String name = System.getProperty("java.util.logging.manager");
- if (name == null)
+ // Get JBOSS_HOME
+ String jbossHome = SecurityActions.getSystemProperty(SYS_PROP_JBOSS_HOME);
+ if (jbossHome == null)
{
- System.setProperty("java.util.logging.manager", "org.jboss.logmanager.LogManager");
+ jbossHome = SecurityActions.getEnvironmentVariable(ENV_VAR_JBOSS_HOME);
}
-
- //FIXME Hardcoded for testing
- final String jbossHome = HARDCODED_JBOSS_HOME;
-
- //FIXME We shouldn't need any of this log stuff, should we?
- /*
- * Set boot log directory
- */
- final String sysPropBootLogDir = "jboss.boot.server.log.dir";
- final String sysPropLogDir = JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_LOG_DIR;
- String serverName = System.getProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_NAME);
- if (serverName == null || serverName.length() == 0)
+ if (jbossHome == null)
{
- serverName = JBossASConfigurationInitializer.VALUE_SERVER_NAME_DEFAULT;
+ throw new IllegalStateException(
+ "JBOSS_HOME must be specified for this test, either via environment variable \"" + ENV_VAR_JBOSS_HOME
+ + "\" or system property \"" + SYS_PROP_JBOSS_HOME + "\".");
}
- final String manualBootLogDir = System.getProperty(sysPropBootLogDir);
- final String manualLogDir = System.getProperty(sysPropLogDir);
- // If nothing's been explicitly specified
- if (manualBootLogDir == null && manualLogDir == null)
- {
- // We default it
- final File jbossHomeFile = new File(jbossHome);
- final URL jbossHomeUrl = jbossHomeFile.toURI().toURL();
- final URL serverLog = new URL(jbossHomeUrl, "server/" + serverName + "/log/");
- final File serverLogFile = new File(serverLog.toURI());
- final String serverLogString = serverLogFile.getAbsolutePath();
- System.setProperty(sysPropBootLogDir, serverLogString);
- }
- // If we've got a manual log dir, use it
- else if (manualLogDir != null)
- {
- System.setProperty(sysPropBootLogDir, manualLogDir);
- }
// Make Server
- server = JBossASServerFactory.createServer();
+ log.info("Using JBOSS_HOME: " + jbossHome);
+ server = new JBossASEmbeddedServer(jbossHome);
- // Set JBOSS_HOME
- server.getConfiguration().jbossHome(jbossHome);
-
// Start
+ log.info("Starting Server: " + server);
server.start();
+ log.info("...started.");
+ }
+ /**
+ * Shuts down the Application Server after the suite ends
+ */
+ @AfterClass
+ public static void stopEmbeddedAS() throws Exception
+ {
+ // If exists and started
+ if (server != null && server.getState().equals(LifecycleState.STARTED))
+ {
+ // Shutdown
+ log.info("Shutting down server: " + server);
+ server.shutdown();
+ }
+
+ }
+
+ //-------------------------------------------------------------------------------||
+ // Tests ------------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------||
+
+ /**
+ * Ensures that the server reports as running
+ */
+ @Test
+ public void testServerStart() throws Throwable
+ {
+ log.info("testServerStart");
final LifecycleState state = server.getState();
final LifecycleState expected = LifecycleState.STARTED;
TestCase.assertEquals("The server is not reporting as started", expected, state);
-
- // Shutdown
- server.shutdown();
-
}
-
}
Added: projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/fulldep/ejb3/OutputBean.java
===================================================================
--- projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/fulldep/ejb3/OutputBean.java (rev 0)
+++ projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/fulldep/ejb3/OutputBean.java 2009-07-03 06:14:08 UTC (rev 90801)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.testsuite.fulldep.ejb3;
+
+import javax.ejb.Local;
+import javax.ejb.Stateless;
+
+/**
+ * OutputBean
+ *
+ * Simple SLSB which will return a contracted output
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+ at Stateless
+ at Local(OutputLocalBusiness.class)
+public class OutputBean implements OutputLocalBusiness
+{
+ //-------------------------------------------------------------------------------------||
+ // Required Implementations -----------------------------------------------------------||
+ //-------------------------------------------------------------------------------------||
+
+ public String getOutput()
+ {
+ return OutputLocalBusiness.OUTPUT;
+ }
+}
Added: projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/fulldep/ejb3/OutputLocalBusiness.java
===================================================================
--- projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/fulldep/ejb3/OutputLocalBusiness.java (rev 0)
+++ projects/embedded/trunk/testsuite-full-dep/src/test/java/org/jboss/embedded/testsuite/fulldep/ejb3/OutputLocalBusiness.java 2009-07-03 06:14:08 UTC (rev 90801)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.embedded.testsuite.fulldep.ejb3;
+
+/**
+ * OutputLocalBusiness
+ *
+ * Local business interface to an SLSB which will
+ * return a contracted String output
+ *
+ * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @version $Revision: $
+ */
+public interface OutputLocalBusiness
+{
+ //-------------------------------------------------------------------------------||
+ // Constants --------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------||
+
+ String OUTPUT = "Embedded SLSB Local Business Output";
+
+ //-------------------------------------------------------------------------------||
+ // Contracts --------------------------------------------------------------------||
+ //-------------------------------------------------------------------------------||
+
+ /**
+ * Returns the contracted output
+ */
+ String getOutput();
+}
More information about the jboss-cvs-commits
mailing list