dain        2004/09/08 13:08:37

  Added:       modules/itests/src/java/java/org/openejb/test/object
                        Account.java ObjectGraph.java OperationsPolicy.java
                        Transaction.java
  Log:

  Move itest-ejb back into itest since we now have itest goals
  We are now ready to start looking into creating an itest maven plugin
  
  Revision  Changes    Path
  1.1                  
openejb/modules/itests/src/java/java/org/openejb/test/object/Account.java
  
  Index: Account.java
  ===================================================================
  /**
   * Redistribution and use of this software and associated documentation
   * ("Software"), with or without modification, are permitted provided
   * that the following conditions are met:
   *
   * 1. Redistributions of source code must retain copyright
   *    statements and notices.  Redistributions must also contain a
   *    copy of this document.
   *
   * 2. Redistributions in binary form must reproduce the
   *    above copyright notice, this list of conditions and the
   *    following disclaimer in the documentation and/or other
   *    materials provided with the distribution.
   *
   * 3. The name "Exolab" must not be used to endorse or promote
   *    products derived from this Software without prior written
   *    permission of Exoffice Technologies.  For written permission,
   *    please contact [EMAIL PROTECTED]
   *
   * 4. Products derived from this Software may not be called "Exolab"
   *    nor may "Exolab" appear in their names without prior written
   *    permission of Exoffice Technologies. Exolab is a registered
   *    trademark of Exoffice Technologies.
   *
   * 5. Due credit should be given to the Exolab Project
   *    (http://www.exolab.org/).
   *
   * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS
   * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
   * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
   * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved.
   *
   * $Id: Account.java,v 1.1 2004/09/08 17:08:37 dain Exp $
   */
  package org.openejb.test.object;
  
  /**
   * 
   */
  public class Account implements java.io.Serializable{
      
      private String ssn;
      private String firstName;
      private String lastName;
      private int balance;
  
      public Account(String ssn, String firstName, String lastName, int balance){
          this.ssn = ssn;      
          this.firstName = firstName.trim();
          this.lastName = lastName.trim(); 
          this.balance = balance;     
      }
      
      public Account(){
      }
  
      public boolean equals(Object object){
          if ( !(object instanceof Account ) ) return false;
  
          Account that = (Account)object;
  
          return (this.ssn.equals(that.ssn) &&
                  this.firstName.equals(that.firstName) &&
                  this.lastName.equals(that.lastName) &&
                  this.balance == that.balance);
      }
  
  
      public String getSsn(){
          return ssn;
      }
      
      public void setSsn(String ssn){
          this.ssn = ssn;
      }
  
      public String getFirstName(){
          return firstName;
      }
      
      public void setFirstName(String firstName){
          this.firstName = (firstName != null)? firstName.trim():null;
      }
  
      public String getLastName(){
          return lastName;
      }
      public void setLastName(String lastName){
          this.lastName = (lastName != null)? lastName.trim():null;
      }
  
      public int getBalance(){
          return balance;
      }
      public void setBalance(int balance){
          this.balance = balance;
      }
  
  
      public String toString(){
          return "["+ssn+"]["+firstName+"]["+lastName+"]["+balance+"]";
      }
  }
  
  
  
  1.1                  
openejb/modules/itests/src/java/java/org/openejb/test/object/ObjectGraph.java
  
  Index: ObjectGraph.java
  ===================================================================
  /**
   * Redistribution and use of this software and associated documentation
   * ("Software"), with or without modification, are permitted provided
   * that the following conditions are met:
   *
   * 1. Redistributions of source code must retain copyright
   *    statements and notices.  Redistributions must also contain a
   *    copy of this document.
   *
   * 2. Redistributions in binary form must reproduce the
   *    above copyright notice, this list of conditions and the
   *    following disclaimer in the documentation and/or other
   *    materials provided with the distribution.
   *
   * 3. The name "Exolab" must not be used to endorse or promote
   *    products derived from this Software without prior written
   *    permission of Exoffice Technologies.  For written permission,
   *    please contact [EMAIL PROTECTED]
   *
   * 4. Products derived from this Software may not be called "Exolab"
   *    nor may "Exolab" appear in their names without prior written
   *    permission of Exoffice Technologies. Exolab is a registered
   *    trademark of Exoffice Technologies.
   *
   * 5. Due credit should be given to the Exolab Project
   *    (http://www.exolab.org/).
   *
   * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS
   * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
   * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
   * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved.
   *
   * $Id: ObjectGraph.java,v 1.1 2004/09/08 17:08:37 dain Exp $
   */
  package org.openejb.test.object;
  
  import java.io.Serializable;
  
  /**
   * 
   */
  public class ObjectGraph implements Serializable{
      
      private Serializable object;
  
      public ObjectGraph(Object obj){
          this.object = (Serializable)obj;
      }
  
      public ObjectGraph(){
      }
  
      public void setObject(Object obj){
          this.object = (Serializable)obj;
      }
  
      public Object getObject(){
          return object;
      }
  
      public String toString(){
          return ((Object)object).toString();
      }
  }
  
  
  
  
  1.1                  
openejb/modules/itests/src/java/java/org/openejb/test/object/OperationsPolicy.java
  
  Index: OperationsPolicy.java
  ===================================================================
  /**
   * Redistribution and use of this software and associated documentation
   * ("Software"), with or without modification, are permitted provided
   * that the following conditions are met:
   *
   * 1. Redistributions of source code must retain copyright
   *    statements and notices.  Redistributions must also contain a
   *    copy of this document.
   *
   * 2. Redistributions in binary form must reproduce the
   *    above copyright notice, this list of conditions and the
   *    following disclaimer in the documentation and/or other
   *    materials provided with the distribution.
   *
   * 3. The name "Exolab" must not be used to endorse or promote
   *    products derived from this Software without prior written
   *    permission of Exoffice Technologies.  For written permission,
   *    please contact [EMAIL PROTECTED]
   *
   * 4. Products derived from this Software may not be called "Exolab"
   *    nor may "Exolab" appear in their names without prior written
   *    permission of Exoffice Technologies. Exolab is a registered
   *    trademark of Exoffice Technologies.
   *
   * 5. Due credit should be given to the Exolab Project
   *    (http://www.exolab.org/).
   *
   * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS
   * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
   * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
   * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved.
   *
   * $Id: OperationsPolicy.java,v 1.1 2004/09/08 17:08:37 dain Exp $
   */
  package org.openejb.test.object;
  
  import java.io.IOException;
  import java.io.ObjectInput;
  import java.io.ObjectOutput;
  
  /**
   */
  public class OperationsPolicy implements java.io.Externalizable {
  
      public static final int Context_getEJBHome           = 0;        
      public static final int Context_getCallerPrincipal   = 1;
      public static final int Context_isCallerInRole       = 2;    
      public static final int Context_getRollbackOnly      = 3;   
      public static final int Context_setRollbackOnly      = 4;   
      public static final int Context_getUserTransaction   = 5;
      public static final int Context_getEJBObject         = 6;   
      public static final int Context_getPrimaryKey        = 7;  
      public static final int JNDI_access_to_java_comp_env = 8; 
      public static final int Resource_manager_access      = 9;      
      public static final int Enterprise_bean_access       = 10;
  
      private boolean[] allowedOperations = new boolean[9];
  
      public OperationsPolicy() {
      }
  
      public OperationsPolicy(int[] operations) {
          for (int i=0; i < operations.length; i++) {
              allow( operations[i] );
          }
      }
  
      public void allow(int i) {
          if (i < 0 || i > allowedOperations.length - 1 ) return;
          allowedOperations[i] = true;
      }
  
      public boolean equals(Object object) {
          if ( !(object instanceof OperationsPolicy ) ) return false;
  
          OperationsPolicy that = (OperationsPolicy)object;
          for (int i=0; i < allowedOperations.length; i++) {
              if (this.allowedOperations[i] != that.allowedOperations[i]) return false;
          }
  
          return true;
      }
  
      public void writeExternal(ObjectOutput out) throws IOException {
          for (int i=0; i < allowedOperations.length; i++) {
              out.writeBoolean( allowedOperations[i] );
          }
      }
      
      public void readExternal(ObjectInput in) throws 
IOException,ClassNotFoundException {
          for (int i=0; i < allowedOperations.length; i++) {
              allowedOperations[i] = in.readBoolean();
          }
      }
  
      public String toString() {
          String str = "[";
          for (int i=0; i < allowedOperations.length; i++) {
              str += (allowedOperations[i])? "1": "0";
          }
          str += "]";
          return str;
  
      }
  }
  
  
  
  1.1                  
openejb/modules/itests/src/java/java/org/openejb/test/object/Transaction.java
  
  Index: Transaction.java
  ===================================================================
  /**
   * Redistribution and use of this software and associated documentation
   * ("Software"), with or without modification, are permitted provided
   * that the following conditions are met:
   *
   * 1. Redistributions of source code must retain copyright
   *    statements and notices.  Redistributions must also contain a
   *    copy of this document.
   *
   * 2. Redistributions in binary form must reproduce the
   *    above copyright notice, this list of conditions and the
   *    following disclaimer in the documentation and/or other
   *    materials provided with the distribution.
   *
   * 3. The name "Exolab" must not be used to endorse or promote
   *    products derived from this Software without prior written
   *    permission of Exoffice Technologies.  For written permission,
   *    please contact [EMAIL PROTECTED]
   *
   * 4. Products derived from this Software may not be called "Exolab"
   *    nor may "Exolab" appear in their names without prior written
   *    permission of Exoffice Technologies. Exolab is a registered
   *    trademark of Exoffice Technologies.
   *
   * 5. Due credit should be given to the Exolab Project
   *    (http://www.exolab.org/).
   *
   * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS
   * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
   * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
   * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
   * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
   * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
   * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
   * OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   * Copyright 1999 (C) Exoffice Technologies Inc. All Rights Reserved.
   *
   * $Id: Transaction.java,v 1.1 2004/09/08 17:08:37 dain Exp $
   */
  package org.openejb.test.object;
  
  import java.io.IOException;
  import java.io.ObjectInput;
  import java.io.ObjectOutput;
  
  import javax.transaction.UserTransaction;
  /**
   * 
   */
  public class Transaction implements java.io.Externalizable{
      
      private String instance;
  
      public Transaction(UserTransaction obj){
          instance = obj.getClass().getName() + "@" + 
Integer.toHexString(obj.hashCode());
      }
  
      public Transaction(){
      }
  
      public boolean equals(Object object){
          if ( !(object instanceof Transaction ) ) return false;
  
          Transaction that = (Transaction)object;
          return this.instance.equals(that.instance);
      }
  
      public void writeExternal(ObjectOutput out) throws IOException {
          out.writeUTF(instance);
      }
      
      public void readExternal(ObjectInput in) throws 
IOException,ClassNotFoundException {
          instance = in.readUTF();
      }
  
      public String toString(){
          return instance;
      }
  }
  
  
  

Reply via email to