[jboss-cvs] JBossAS SVN: r59569 - in trunk/ejb3/src: resources/test/clusteredentity/classloader and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jan 11 22:19:01 EST 2007
Author: bstansberry at jboss.com
Date: 2007-01-11 22:18:56 -0500 (Thu, 11 Jan 2007)
New Revision: 59569
Added:
trunk/ejb3/src/resources/test/clusteredentity/classloader/
trunk/ejb3/src/resources/test/clusteredentity/classloader/META-INF/
trunk/ejb3/src/resources/test/clusteredentity/classloader/clusteredentity-ds.xml
trunk/ejb3/src/resources/test/clusteredentity/embeddedid/
trunk/ejb3/src/resources/test/clusteredentity/embeddedid/META-INF/
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/Account.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/AccountHolderPK.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTest.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTestBean.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTest.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTestBean.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/Musician.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/MusicianPK.java
Removed:
trunk/ejb3/src/resources/test/clusteredentity/classloader/META-INF/
trunk/ejb3/src/resources/test/clusteredentity/classloader/clusteredentity-ds.xml
trunk/ejb3/src/resources/test/clusteredentity/embeddedid/META-INF/
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/Account.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/AccountHolderPK.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTest.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTestBean.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTest.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTestBean.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/Musician.java
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/MusicianPK.java
Log:
[EJBTHREE-798] Port to trunk
Copied: trunk/ejb3/src/resources/test/clusteredentity/classloader (from rev 59243, branches/Branch_4_0/ejb3/src/resources/test/clusteredentity/classloader)
Copied: trunk/ejb3/src/resources/test/clusteredentity/classloader/META-INF (from rev 59503, branches/Branch_4_0/ejb3/src/resources/test/clusteredentity/classloader/META-INF)
Deleted: trunk/ejb3/src/resources/test/clusteredentity/classloader/clusteredentity-ds.xml
===================================================================
--- branches/Branch_4_0/ejb3/src/resources/test/clusteredentity/classloader/clusteredentity-ds.xml 2006-12-28 23:35:15 UTC (rev 59243)
+++ trunk/ejb3/src/resources/test/clusteredentity/classloader/clusteredentity-ds.xml 2007-01-12 03:18:56 UTC (rev 59569)
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<datasources>
- <local-tx-datasource>
- <jndi-name>ClusteredEntityTestDS</jndi-name>
-
- <connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url>
- <driver-class>org.hsqldb.jdbcDriver</driver-class>
- <user-name>sa</user-name>
- <password></password>
- <min-pool-size>1</min-pool-size>
- <max-pool-size>20</max-pool-size>
- <idle-timeout-minutes>0</idle-timeout-minutes>
- <track-statements/>
- </local-tx-datasource>
-</datasources>
Copied: trunk/ejb3/src/resources/test/clusteredentity/classloader/clusteredentity-ds.xml (from rev 59503, branches/Branch_4_0/ejb3/src/resources/test/clusteredentity/classloader/clusteredentity-ds.xml)
Copied: trunk/ejb3/src/resources/test/clusteredentity/embeddedid (from rev 59243, branches/Branch_4_0/ejb3/src/resources/test/clusteredentity/embeddedid)
Copied: trunk/ejb3/src/resources/test/clusteredentity/embeddedid/META-INF (from rev 59503, branches/Branch_4_0/ejb3/src/resources/test/clusteredentity/embeddedid/META-INF)
Copied: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader (from rev 58953, branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader)
Deleted: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/Account.java
===================================================================
--- branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/Account.java 2006-12-09 04:33:43 UTC (rev 58953)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/Account.java 2007-01-12 03:18:56 UTC (rev 59569)
@@ -1,91 +0,0 @@
-package org.jboss.ejb3.test.clusteredentity.classloader;
-
-import java.io.Serializable;
-
-import javax.persistence.Embedded;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Lob;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.QueryHint;
-
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
-
- at Entity
- at Cache (usage=CacheConcurrencyStrategy.TRANSACTIONAL)
- at NamedQueries({
- @NamedQuery(name="account.totalbalance.default",query="select account.balance from Account as account where account.accountHolder = ?1",
- hints={@QueryHint(name="org.hibernate.cacheable",value="true")}),
- @NamedQuery(name="account.totalbalance.namedregion",query="select account.balance from Account as account where account.accountHolder = ?1",
- hints={@QueryHint(name="org.hibernate.cacheRegion",value="AccountRegion"),
- @QueryHint(name="org.hibernate.cacheable",value="true")
- }),
- @NamedQuery(name="account.branch.default",query="select account.branch from Account as account where account.accountHolder = ?1",
- hints={@QueryHint(name="org.hibernate.cacheable",value="true")}),
- @NamedQuery(name="account.branch.namedregion",query="select account.branch from Account as account where account.accountHolder = ?1",
- hints={@QueryHint(name="org.hibernate.cacheRegion",value="AccountRegion"),
- @QueryHint(name="org.hibernate.cacheable",value="true")
- }),
- @NamedQuery(name="account.bybranch.default",query="select account from Account as account where account.branch = ?1",
- hints={@QueryHint(name="org.hibernate.cacheable",value="true")}),
- @NamedQuery(name="account.bybranch.namedregion",query="select account from Account as account where account.branch = ?1",
- hints={@QueryHint(name="org.hibernate.cacheRegion",value="AccountRegion"),
- @QueryHint(name="org.hibernate.cacheable",value="true")
- })
-})
-public class Account implements Serializable
-{
-
- private static final long serialVersionUID = 1L;
-
- private Integer id;
- private AccountHolderPK accountHolder;
- private Integer balance;
- private String branch;
-
- @Id
- public Integer getId()
- {
- return id;
- }
- public void setId(Integer id)
- {
- this.id = id;
- }
-
-// @Embedded
- @Lob
- public AccountHolderPK getAccountHolder()
- {
- return accountHolder;
- }
- public void setAccountHolder(AccountHolderPK accountHolder)
- {
- this.accountHolder = accountHolder;
- }
-
- public Integer getBalance()
- {
- return balance;
- }
- public void setBalance(Integer balance)
- {
- this.balance = balance;
- }
- public String getBranch()
- {
- return branch;
- }
- public void setBranch(String branch)
- {
- this.branch = branch;
- }
-
-
-
-
-
-}
Copied: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/Account.java (from rev 58953, branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/Account.java)
Deleted: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/AccountHolderPK.java
===================================================================
--- branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/AccountHolderPK.java 2006-12-09 04:33:43 UTC (rev 58953)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/AccountHolderPK.java 2007-01-12 03:18:56 UTC (rev 59569)
@@ -1,69 +0,0 @@
-package org.jboss.ejb3.test.clusteredentity.classloader;
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.Serializable;
-
-import javax.persistence.Embeddable;
-
-//@Embeddable
-public class AccountHolderPK implements Serializable
-{
- private static final long serialVersionUID = 1L;
-
- private String lastName;
- private String ssn;
- private transient boolean deserialized;
-
- public AccountHolderPK( ) {}
-
- public AccountHolderPK(String lastName, String ssn)
- {
- this.lastName = lastName;
- this.ssn = ssn;
- }
-
- public String getLastName( ) { return this.lastName; }
- public void setLastName(String lastName) { this.lastName = lastName; }
-
- public String getSsn( ) { return ssn; }
- public void setSsn(String ssn) { this.ssn = ssn; }
-
- public boolean equals(Object obj)
- {
- if (obj == this) return true;
- if (!(obj instanceof AccountHolderPK)) return false;
- AccountHolderPK pk = (AccountHolderPK)obj;
- if (!lastName.equals(pk.lastName)) return false;
- if (!ssn.equals(pk.ssn)) return false;
- return true;
- }
-
- public int hashCode( )
- {
- int result = 17;
- result = result * 31 + lastName.hashCode();
- result = result * 31 + ssn.hashCode();
- return result;
- }
-
- public String toString()
- {
- StringBuffer sb = new StringBuffer(getClass().getName());
- sb.append("[lastName=");
- sb.append(lastName);
- sb.append(",ssn=");
- sb.append(ssn);
- sb.append(",deserialized=");
- sb.append(deserialized);
- sb.append("]");
- return sb.toString();
- }
-
- private void readObject(ObjectInputStream ois) throws IOException, ClassNotFoundException
- {
- ois.defaultReadObject();
- deserialized = true;
- }
-
-}
Copied: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/AccountHolderPK.java (from rev 58953, branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/AccountHolderPK.java)
Deleted: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTest.java
===================================================================
--- branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTest.java 2006-12-09 04:33:43 UTC (rev 58953)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTest.java 2007-01-12 03:18:56 UTC (rev 59569)
@@ -1,29 +0,0 @@
-package org.jboss.ejb3.test.clusteredentity.classloader;
-
-public interface EntityQueryTest
-{
-
-// public abstract void createAccountHolder(AccountHolderPK pk, String postCode);
-
- public abstract void updateAccountBranch(Integer id, String branch);
-
- public abstract void createAccount(AccountHolderPK pk, Integer id, Integer openingBalance, String branch);
-
- public abstract void updateAccountBalance(Integer id, Integer newBalance);
-
-
- public abstract int getCountForBranch(String branch, boolean useNamed, boolean useRegion);
-
- public abstract String getBranch(AccountHolderPK pk, boolean useNamed, boolean useRegion);
-
- public abstract int getTotalBalance(AccountHolderPK pk, boolean useNamed, boolean useRegion);
-
- public abstract boolean getSawRegionModification(String regionName);
-
- public abstract boolean getSawRegionAccess(String regionName);
-
- public abstract void cleanup();
-
- public abstract void remove();
-
-}
\ No newline at end of file
Copied: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTest.java (from rev 58953, branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTest.java)
Deleted: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTestBean.java
===================================================================
--- branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTestBean.java 2006-12-09 04:33:43 UTC (rev 58953)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTestBean.java 2007-01-12 03:18:56 UTC (rev 59569)
@@ -1,277 +0,0 @@
-package org.jboss.ejb3.test.clusteredentity.classloader;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import javax.ejb.Remote;
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.Query;
-
-import org.jboss.cache.AbstractTreeCacheListener;
-import org.jboss.cache.Fqn;
-import org.jboss.cache.TreeCache;
-import org.jboss.cache.TreeCacheMBean;
-import org.jboss.logging.Logger;
-import org.jboss.mx.util.MBeanProxyExt;
-import org.jboss.mx.util.MBeanServerLocator;
-
- at Stateful
- at Remote(EntityQueryTest.class)
-public class EntityQueryTestBean implements EntityQueryTest
-{
- private static final Logger log = Logger.getLogger(EntityQueryTestBean.class);
-
- @PersistenceContext
- private EntityManager manager;
-
- private MyListener listener;
-
- public EntityQueryTestBean()
- {
- try
- {
- //Just to initialise the cache with a listener
- TreeCache cache = getCache();
- listener = new MyListener();
- cache.addTreeCacheListener(listener);
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
-
- public void updateAccountBranch(Integer id, String branch)
- {
- Account account = (Account) manager.find(Account.class, id);
- account.setBranch(branch);
- }
-
- public int getCountForBranch(String branch, boolean useNamed, boolean useRegion)
- {
- if (useNamed)
- return getCountForBranchViaNamedQuery(branch, useRegion);
- else
- return getCountForBranchViaLocalQuery(branch, useRegion);
- }
-
- private int getCountForBranchViaLocalQuery(String branch, boolean useRegion)
- {
- Query query = manager.createQuery("select account from Account as account where account.branch = ?1");
- query.setParameter(1, branch);
- if (useRegion)
- {
- query.setHint("org.hibernate.cacheRegion", "AccountRegion");
- }
- query.setHint("org.hibernate.cacheable", Boolean.TRUE);
- return query.getResultList().size();
-
- }
-
- private int getCountForBranchViaNamedQuery(String branch, boolean useRegion)
- {
- String queryName = useRegion ? "account.bybranch.namedregion"
- : "account.bybranch.default";
- Query query = manager.createNamedQuery(queryName);
- query.setParameter(1, branch);
- return query.getResultList().size();
- }
-
- /* (non-Javadoc)
- * @see org.jboss.ejb3.test.clusteredentity.EntityQueryTest#createAccount(org.jboss.ejb3.test.clusteredentity.AccountHolderPK, Integer, Integer)
- */
- public void createAccount(AccountHolderPK pk, Integer id, Integer openingBalance, String branch)
- {
- Account account = new Account();
- account.setId(id);
- account.setAccountHolder(pk);
- account.setBalance(openingBalance);
- account.setBranch(branch);
- manager.persist(account);
- }
-
- public void updateAccountBalance(Integer id, Integer newBalance)
- {
- Account account = (Account) manager.find(Account.class, id);
- account.setBalance(newBalance);
- }
-
- public String getBranch(AccountHolderPK pk, boolean useNamed, boolean useRegion)
- {
- if (useNamed)
- return getBranchViaNamedQuery(pk, useRegion);
- else
- return getBranchViaLocalQuery(pk, useRegion);
- }
-
- private String getBranchViaLocalQuery(AccountHolderPK pk, boolean useRegion)
- {
- Query query = manager.createQuery("select account.branch from Account as account where account.accountHolder = ?1");
- query.setParameter(1, pk);
- if (useRegion)
- {
- query.setHint("org.hibernate.cacheRegion", "AccountRegion");
- }
- query.setHint("org.hibernate.cacheable", Boolean.TRUE);
- return (String) query.getResultList().get(0);
- }
-
- /* (non-Javadoc)
- * @see org.jboss.ejb3.test.clusteredentity.EntityQueryTest#getPostCodeViaNamedQuery(org.jboss.ejb3.test.clusteredentity.AccountHolderPK, boolean)
- */
- private String getBranchViaNamedQuery(AccountHolderPK pk, boolean useRegion)
- {
- String queryName = useRegion ? "account.branch.namedregion"
- : "account.branch.default";
- Query query = manager.createNamedQuery(queryName);
- query.setParameter(1, pk);
- return (String) query.getResultList().get(0);
- }
- public int getTotalBalance(AccountHolderPK pk, boolean useNamed, boolean useRegion)
- {
- if (useNamed)
- return getTotalBalanceViaNamedQuery(pk, useRegion);
- else
- return getTotalBalanceViaLocalQuery(pk, useRegion);
- }
-
- private int getTotalBalanceViaLocalQuery(AccountHolderPK pk, boolean useRegion)
- {
- Query query = manager.createQuery("select account.balance from Account as account where account.accountHolder = ?1");
- query.setParameter(1, pk);
- query.setHint("org.hibernate.cacheable", Boolean.TRUE);
- return totalBalances(query);
- }
-
- private int getTotalBalanceViaNamedQuery(AccountHolderPK pk, boolean useRegion)
- {
- String queryName = useRegion ? "account.totalbalance.namedregion"
- : "account.totalbalance.default";
- Query query = manager.createNamedQuery(queryName);
- query.setParameter(1, pk);
- return totalBalances(query);
- }
-
- private int totalBalances(Query balanceQuery)
- {
- List results = balanceQuery.getResultList();
- int total = 0;
- if (results != null)
- {
- for (Iterator it = results.iterator(); it.hasNext();)
- {
- total += ((Integer) it.next()).intValue();
- System.out.println("Total = " + total);
- }
- }
- return total;
- }
-
- public boolean getSawRegionModification(String regionName)
- {
- return getSawRegion(regionName, listener.modified);
- }
-
- public boolean getSawRegionAccess(String regionName)
- {
- return getSawRegion(regionName, listener.accessed);
- }
-
- private boolean getSawRegion(String regionName, Set sawEvent)
- {
- boolean saw = false;
- Fqn fqn = Fqn.fromString("/" + regionName.replace(".", "/"));
- for (Iterator it = sawEvent.iterator(); it.hasNext();)
- {
- Fqn modified = (Fqn) it.next();
- if (modified.isChildOf(fqn))
- {
- it.remove();
- saw = true;
- }
- }
- return saw;
-
- }
-
- public void cleanup()
- {
- Query query = manager.createQuery("select account from Account as account");
- List accts = query.getResultList();
- if (accts != null)
- {
- for (Iterator it = accts.iterator(); it.hasNext();)
- {
- try
- {
- Account acct = (Account) it.next();
- log.info("Removing " + acct);
- manager.remove(acct);
- }
- catch (Exception ignored) {}
- }
- }
- }
-
- @Remove
- public void remove()
- {
- cleanup();
- listener.clear();
- try
- {
- getCache().removeTreeCacheListener(listener);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- private TreeCache getCache() throws Exception
- {
- MBeanServer server = MBeanServerLocator.locateJBoss();
- TreeCacheMBean proxy = (TreeCacheMBean)MBeanProxyExt.create(TreeCacheMBean.class, new ObjectName("jboss.cache:service=EJB3EntityTreeCache"), server);
- TreeCache cache = proxy.getInstance();
-
- return cache;
- }
-
- class MyListener extends AbstractTreeCacheListener
- {
- HashSet modified = new HashSet();
- HashSet accessed = new HashSet();
-
- public void clear()
- {
- modified.clear();
- accessed.clear();
- }
-
- public void nodeModified(Fqn fqn)
- {
- System.out.println("MyListener - Modified node " + fqn.toString());
- modified.add(fqn);
- }
-
- public void nodeCreated(Fqn fqn)
- {
- System.out.println("MyListener - Created node " + fqn.toString());
- modified.add(fqn);
- }
-
- public void nodeVisited(Fqn fqn)
- {
- System.out.println("MyListener - Visited node " + fqn.toString());
- accessed.add(fqn);
- }
-
- }
-}
Copied: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTestBean.java (from rev 58953, branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTestBean.java)
===================================================================
--- branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTestBean.java 2006-12-09 04:33:43 UTC (rev 58953)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/classloader/EntityQueryTestBean.java 2007-01-12 03:18:56 UTC (rev 59569)
@@ -0,0 +1,288 @@
+package org.jboss.ejb3.test.clusteredentity.classloader;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.ejb.Remote;
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
+
+import org.jboss.cache.AbstractCacheListener;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.Cache;
+import org.jboss.cache.jmx.CacheJmxWrapperMBean;
+import org.jboss.logging.Logger;
+import org.jboss.mx.util.MBeanProxyExt;
+import org.jboss.mx.util.MBeanServerLocator;
+
+ at Stateful
+ at Remote(EntityQueryTest.class)
+public class EntityQueryTestBean implements EntityQueryTest
+{
+ private static final Logger log = Logger.getLogger(EntityQueryTestBean.class);
+
+ @PersistenceContext
+ private EntityManager manager;
+
+ private MyListener listener;
+
+ public EntityQueryTestBean()
+ {
+ try
+ {
+ //Just to initialise the cache with a listener
+ Cache cache = getCache();
+ listener = new MyListener();
+ cache.addCacheListener(listener);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public void updateAccountBranch(Integer id, String branch)
+ {
+ Account account = (Account) manager.find(Account.class, id);
+ account.setBranch(branch);
+ }
+
+ public int getCountForBranch(String branch, boolean useNamed, boolean useRegion)
+ {
+ if (useNamed)
+ return getCountForBranchViaNamedQuery(branch, useRegion);
+ else
+ return getCountForBranchViaLocalQuery(branch, useRegion);
+ }
+
+ private int getCountForBranchViaLocalQuery(String branch, boolean useRegion)
+ {
+ Query query = manager.createQuery("select account from Account as account where account.branch = ?1");
+ query.setParameter(1, branch);
+ if (useRegion)
+ {
+ query.setHint("org.hibernate.cacheRegion", "AccountRegion");
+ }
+ query.setHint("org.hibernate.cacheable", Boolean.TRUE);
+ return query.getResultList().size();
+
+ }
+
+ private int getCountForBranchViaNamedQuery(String branch, boolean useRegion)
+ {
+ String queryName = useRegion ? "account.bybranch.namedregion"
+ : "account.bybranch.default";
+ Query query = manager.createNamedQuery(queryName);
+ query.setParameter(1, branch);
+ return query.getResultList().size();
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.ejb3.test.clusteredentity.EntityQueryTest#createAccount(org.jboss.ejb3.test.clusteredentity.AccountHolderPK, Integer, Integer)
+ */
+ public void createAccount(AccountHolderPK pk, Integer id, Integer openingBalance, String branch)
+ {
+ Account account = new Account();
+ account.setId(id);
+ account.setAccountHolder(pk);
+ account.setBalance(openingBalance);
+ account.setBranch(branch);
+ manager.persist(account);
+ }
+
+ public void updateAccountBalance(Integer id, Integer newBalance)
+ {
+ Account account = (Account) manager.find(Account.class, id);
+ account.setBalance(newBalance);
+ }
+
+ public String getBranch(AccountHolderPK pk, boolean useNamed, boolean useRegion)
+ {
+ if (useNamed)
+ return getBranchViaNamedQuery(pk, useRegion);
+ else
+ return getBranchViaLocalQuery(pk, useRegion);
+ }
+
+ private String getBranchViaLocalQuery(AccountHolderPK pk, boolean useRegion)
+ {
+ Query query = manager.createQuery("select account.branch from Account as account where account.accountHolder = ?1");
+ query.setParameter(1, pk);
+ if (useRegion)
+ {
+ query.setHint("org.hibernate.cacheRegion", "AccountRegion");
+ }
+ query.setHint("org.hibernate.cacheable", Boolean.TRUE);
+ return (String) query.getResultList().get(0);
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.ejb3.test.clusteredentity.EntityQueryTest#getPostCodeViaNamedQuery(org.jboss.ejb3.test.clusteredentity.AccountHolderPK, boolean)
+ */
+ private String getBranchViaNamedQuery(AccountHolderPK pk, boolean useRegion)
+ {
+ String queryName = useRegion ? "account.branch.namedregion"
+ : "account.branch.default";
+ Query query = manager.createNamedQuery(queryName);
+ query.setParameter(1, pk);
+ return (String) query.getResultList().get(0);
+ }
+ public int getTotalBalance(AccountHolderPK pk, boolean useNamed, boolean useRegion)
+ {
+ if (useNamed)
+ return getTotalBalanceViaNamedQuery(pk, useRegion);
+ else
+ return getTotalBalanceViaLocalQuery(pk, useRegion);
+ }
+
+ private int getTotalBalanceViaLocalQuery(AccountHolderPK pk, boolean useRegion)
+ {
+ Query query = manager.createQuery("select account.balance from Account as account where account.accountHolder = ?1");
+ query.setParameter(1, pk);
+ query.setHint("org.hibernate.cacheable", Boolean.TRUE);
+ return totalBalances(query);
+ }
+
+ private int getTotalBalanceViaNamedQuery(AccountHolderPK pk, boolean useRegion)
+ {
+ String queryName = useRegion ? "account.totalbalance.namedregion"
+ : "account.totalbalance.default";
+ Query query = manager.createNamedQuery(queryName);
+ query.setParameter(1, pk);
+ return totalBalances(query);
+ }
+
+ private int totalBalances(Query balanceQuery)
+ {
+ List results = balanceQuery.getResultList();
+ int total = 0;
+ if (results != null)
+ {
+ for (Iterator it = results.iterator(); it.hasNext();)
+ {
+ total += ((Integer) it.next()).intValue();
+ System.out.println("Total = " + total);
+ }
+ }
+ return total;
+ }
+
+ public boolean getSawRegionModification(String regionName)
+ {
+ return getSawRegion(regionName, listener.modified);
+ }
+
+ public boolean getSawRegionAccess(String regionName)
+ {
+ return getSawRegion(regionName, listener.accessed);
+ }
+
+ private boolean getSawRegion(String regionName, Set sawEvent)
+ {
+ boolean saw = false;
+ Fqn fqn = Fqn.fromString("/" + regionName.replace(".", "/"));
+ for (Iterator it = sawEvent.iterator(); it.hasNext();)
+ {
+ Fqn modified = (Fqn) it.next();
+ if (modified.isChildOf(fqn))
+ {
+ it.remove();
+ saw = true;
+ }
+ }
+ return saw;
+
+ }
+
+ public void cleanup()
+ {
+ Query query = manager.createQuery("select account from Account as account");
+ List accts = query.getResultList();
+ if (accts != null)
+ {
+ for (Iterator it = accts.iterator(); it.hasNext();)
+ {
+ try
+ {
+ Account acct = (Account) it.next();
+ log.info("Removing " + acct);
+ manager.remove(acct);
+ }
+ catch (Exception ignored) {}
+ }
+ }
+ }
+
+ @Remove
+ public void remove()
+ {
+ cleanup();
+ listener.clear();
+ try
+ {
+ getCache().removeCacheListener(listener);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ private Cache getCache() throws Exception
+ {
+ MBeanServer server = MBeanServerLocator.locateJBoss();
+ CacheJmxWrapperMBean proxy = (CacheJmxWrapperMBean)MBeanProxyExt.create(CacheJmxWrapperMBean.class, new ObjectName("jboss.cache:service=EJB3EntityTreeCache"), server);
+ Cache cache = proxy.getCache();
+
+ return cache;
+ }
+
+ class MyListener extends AbstractCacheListener
+ {
+ HashSet modified = new HashSet();
+ HashSet accessed = new HashSet();
+
+ public void clear()
+ {
+ modified.clear();
+ accessed.clear();
+ }
+
+ @Override
+ public void nodeModified(Fqn fqn, boolean pre, boolean isLocal,
+ ModificationType type, Map mods)
+ {
+ if (!pre)
+ {
+ System.out.println("MyListener - Modified node " + fqn.toString());
+ modified.add(fqn);
+ }
+ }
+
+ @Override
+ public void nodeCreated(Fqn fqn, boolean pre, boolean isLocal)
+ {
+ if (!pre)
+ {
+ System.out.println("MyListener - Created node " + fqn.toString());
+ modified.add(fqn);
+ }
+ }
+
+ @Override
+ public void nodeVisited(Fqn fqn, boolean pre)
+ {
+ System.out.println("MyListener - Visited node " + fqn.toString());
+ accessed.add(fqn);
+ }
+
+ }
+}
Copied: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid (from rev 58953, branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid)
Deleted: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTest.java
===================================================================
--- branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTest.java 2006-12-09 04:33:43 UTC (rev 58953)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTest.java 2007-01-12 03:18:56 UTC (rev 59569)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.test.clusteredentity.embeddedid;
-
-import java.util.List;
-
-
-/**
- * SFSB interface for {@link EmbeddedIdTestBean}.
- *
- * @author <a href="brian.stansberry at jboss.com">Brian Stansberry</a>
- * @version $Revision: 1.1 $
- */
-public interface EmbeddedIdTest
-{
- static final MusicianPK DEFAULT_PK = new MusicianPK("Brian", "Stansberry", "None of your business");
-
- void createMusician(MusicianPK pk, String instrument);
-
- List<MusicianPK> getMusiciansForInstrument(String instrument, boolean useNamedRegion);
-
- void cleanup();
-
- void remove();
-}
Copied: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTest.java (from rev 58953, branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTest.java)
Deleted: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTestBean.java
===================================================================
--- branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTestBean.java 2006-12-09 04:33:43 UTC (rev 58953)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTestBean.java 2007-01-12 03:18:56 UTC (rev 59569)
@@ -1,109 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.test.clusteredentity.embeddedid;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.ejb.Remote;
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.Query;
-
-import org.jboss.logging.Logger;
-
-/**
- * SFSB used for testing replicated query caching with an @EmbeddedId.
- *
- * @author <a href="brian.stansberry at jboss.com">Brian Stansberry</a>
- * @version $Revision: 1.1 $
- */
- at Stateful
- at Remote(EmbeddedIdTest.class)
-public class EmbeddedIdTestBean implements EmbeddedIdTest
-{
- private static final Logger log = Logger.getLogger(EmbeddedIdTestBean.class);
-
- @PersistenceContext
- private EntityManager manager;
-
- public void createMusician(MusicianPK pk, String instrument)
- {
- Musician musician = new Musician();
- musician.setId(pk);
- musician.setInstrument(instrument);
- manager.persist(musician);
- }
-
- public List<MusicianPK> getMusiciansForInstrument(String instrument, boolean useNamedRegion)
- {
- String queryName = useNamedRegion ? "musician.byinstrument.namedregion"
- : "musician.byinstrument.default";
- Query query = manager.createNamedQuery(queryName);
- query.setParameter(1, instrument);
- List<MusicianPK> result = new ArrayList<MusicianPK>();
- List users = query.getResultList();
- if (users != null)
- {
- for (Iterator it = users.iterator(); it.hasNext();)
- {
- result.add(((Musician) it.next()).getId());
- }
- }
- return result;
- }
-
- /* (non-Javadoc)
- * @see org.jboss.ejb3.test.clusteredentity.classloader.UserTest#cleanup()
- */
- public void cleanup()
- {
- Query query = manager.createQuery("select musician from Musician as musician");
- List accts = query.getResultList();
- if (accts != null)
- {
- for (Iterator it = accts.iterator(); it.hasNext();)
- {
- try
- {
- Musician musician = (Musician) it.next();
- log.info("Removing " + musician);
- manager.remove(musician);
- }
- catch (Exception ignored) {}
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.jboss.ejb3.test.clusteredentity.classloader.UserTest#remove()
- */
- @Remove
- public void remove()
- {
- cleanup();
- }
-
-}
Copied: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTestBean.java (from rev 58953, branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/EmbeddedIdTestBean.java)
Deleted: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/Musician.java
===================================================================
--- branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/Musician.java 2006-12-09 04:33:43 UTC (rev 58953)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/Musician.java 2007-01-12 03:18:56 UTC (rev 59569)
@@ -1,73 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.test.clusteredentity.embeddedid;
-
-import javax.persistence.EmbeddedId;
-import javax.persistence.Entity;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.QueryHint;
-
-import org.hibernate.annotations.Cache;
-import org.hibernate.annotations.CacheConcurrencyStrategy;
-
-/**
- * Entity used for testing replicated query caching with an @EmbeddedId.
- *
- * @author <a href="brian.stansberry at jboss.com">Brian Stansberry</a>
- * @version $Revision: 1.1 $
- */
- at Entity
- at Cache (usage=CacheConcurrencyStrategy.TRANSACTIONAL)
- at NamedQueries({
- @NamedQuery(name="musician.byinstrument.default",query="select musician from Musician as musician where musician.instrument = ?1",
- hints={@QueryHint(name="org.hibernate.cacheable",value="true")}),
- @NamedQuery(name="musician.byinstrument.namedregion",query="select musician from Musician as musician where musician.instrument = ?1",
- hints={@QueryHint(name="org.hibernate.cacheable",value="true"),
- @QueryHint(name="org.hibernate.cacheable",value="true")
- })
-})
-public class Musician
-{
- private MusicianPK id;
- private String instrument;
-
- @EmbeddedId
- public MusicianPK getId()
- {
- return id;
- }
- public void setId(MusicianPK id)
- {
- this.id = id;
- }
-
- public String getInstrument()
- {
- return instrument;
- }
- public void setInstrument(String instrument)
- {
- this.instrument = instrument;
- }
-
-}
Copied: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/Musician.java (from rev 58953, branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/Musician.java)
Deleted: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/MusicianPK.java
===================================================================
--- branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/MusicianPK.java 2006-12-09 04:33:43 UTC (rev 58953)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/MusicianPK.java 2007-01-12 03:18:56 UTC (rev 59569)
@@ -1,127 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, 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.ejb3.test.clusteredentity.embeddedid;
-
-import java.io.Serializable;
-
-import javax.persistence.Embeddable;
-
-/**
- * Primary key for the {@link Musician} entity.
- *
- * @author <a href="brian.stansberry at jboss.com">Brian Stansberry</a>
- * @version $Revision: 1.1 $
- */
- at Embeddable
-public class MusicianPK implements Serializable
-{
- private static final long serialVersionUID = 1L;
-
- private String firstName;
- private String lastName;
- private String ssn;
-
- /**
- * Default constructor
- */
- public MusicianPK() {}
-
- public MusicianPK(String firstName, String lastName, String ssn)
- {
- this.firstName = firstName;
- this.lastName = lastName;
- this.ssn = ssn;
- }
-
- public String getFirstName()
- {
- return firstName;
- }
-
- public void setFirstName(String firstName)
- {
- this.firstName = firstName;
- }
-
- public String getLastName()
- {
- return lastName;
- }
-
- public void setLastName(String lastName)
- {
- this.lastName = lastName;
- }
-
- public String getSsn()
- {
- return ssn;
- }
-
- public void setSsn(String ssn)
- {
- this.ssn = ssn;
- }
-
- @Override
- public boolean equals(Object obj)
- {
- boolean equal = (this == obj);
-
- if (!equal && obj instanceof MusicianPK)
- {
- MusicianPK other = (MusicianPK) obj;
-
- equal = firstName.equals(other.firstName)
- && lastName.equals(other.lastName)
- && ssn.equals(other.ssn);
- }
- return equal;
- }
-
- @Override
- public int hashCode()
- {
- int result = 19;
- result = result * 29 + firstName.hashCode();
- result = result * 29 + lastName.hashCode();
- result = result * 29 + ssn.hashCode();
- return result;
- }
-
- @Override
- public String toString()
- {
- StringBuffer sb = new StringBuffer(getClass().getName());
- sb.append("[firstName=");
- sb.append(firstName);
- sb.append(",lastName=");
- sb.append(lastName);
- sb.append(",ssn=");
- sb.append(ssn);
- sb.append("]");
- return sb.toString();
- }
-
-
-
-}
Copied: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/MusicianPK.java (from rev 58953, branches/Branch_4_0/ejb3/src/test/org/jboss/ejb3/test/clusteredentity/embeddedid/MusicianPK.java)
More information about the jboss-cvs-commits
mailing list