001: /**
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */package org.apache.openejb.test.stateful;
017:
018: import java.rmi.RemoteException;
019: import java.util.Hashtable;
020: import java.util.Properties;
021:
022: import javax.ejb.EJBException;
023: import javax.ejb.SessionContext;
024: import javax.ejb.Remove;
025:
026: import org.apache.openejb.test.ApplicationException;
027: import org.apache.openejb.test.object.OperationsPolicy;
028:
029: /**
030: *
031: * @author <a href="mailto:david.blevins@visi.com">David Blevins</a>
032: * @author <a href="mailto:Richard@Monson-Haefel.com">Richard Monson-Haefel</a>
033: * @author <a href="mailto:nour.mohammad@gmail.com">Mohammad Nour El-Din</a>
034: */
035: public class BasicStatefulPojoBean implements
036: BasicStatefulBusinessLocal, BasicStatefulBusinessRemote {
037:
038: public void create(String name) {
039: }
040:
041: @Remove
042: public void removeBean() {
043: }
044:
045: /**
046: * Maps to BasicStatelessObject.businessMethod
047: *
048: * @return
049: * @see org.apache.openejb.test.stateless.BasicStatelessObject#businessMethod
050: */
051: public String businessMethod(String text) {
052: StringBuffer b = new StringBuffer(text);
053: return b.reverse().toString();
054: }
055:
056: public Object echo(Object object) {
057: return object;
058: }
059:
060: /**
061: * Throws an ApplicationException when invoked
062: *
063: */
064: public void throwApplicationException() throws ApplicationException {
065: throw new ApplicationException(
066: "Testing ability to throw Application Exceptions");
067: }
068:
069: /**
070: * Throws a java.lang.NullPointerException when invoked
071: * This is a system exception and should result in the
072: * destruction of the instance and invalidation of the
073: * remote reference.
074: *
075: */
076: public void throwSystemException_NullPointer() {
077: throw new NullPointerException(
078: "Testing ability to throw System Exceptions");
079: }
080:
081: /**
082: * Maps to BasicStatelessObject.getPermissionsReport
083: *
084: * Returns a report of the bean's
085: * runtime permissions
086: *
087: * @return
088: * @see org.apache.openejb.test.stateless.BasicStatelessObject#getPermissionsReport
089: */
090: public Properties getPermissionsReport() {
091: /* TO DO: */
092: return null;
093: }
094:
095: /**
096: * Maps to BasicStatelessObject.getAllowedOperationsReport
097: *
098: * Returns a report of the allowed opperations
099: * for one of the bean's methods.
100: *
101: * @param methodName The method for which to get the allowed opperations report
102: * @return
103: * @see org.apache.openejb.test.stateless.BasicStatelessObject#getAllowedOperationsReport
104: */
105: public OperationsPolicy getAllowedOperationsReport(String methodName) {
106: return null;
107: }
108:
109: public void setSessionContext(SessionContext ctx)
110: throws EJBException, RemoteException {
111: }
112:
113: public Object remove() {
114: return new String("Executed remove() Method");
115: }
116:
117: public String remove(String arg) {
118: return arg;
119: }
120: }
|