First Commit from Source Code Reply

This commit is contained in:
vincenzofariello
2024-05-09 17:40:24 +02:00
parent 11e3b57c5b
commit 107a016cb9
35225 changed files with 1111346 additions and 1 deletions

View File

@@ -0,0 +1,127 @@
<!DOCTYPE weblogic-persistence-vendor PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 6.0.0 Persistence Vendor//EN" "http://www.bea.com/no-such-file.dtd">
<weblogic-persistence-vendor>
<vendor-name>
BEA Systems, Inc.
</vendor-name>
<weblogic-persistence-type>
<persistence-type-identifier>
WebLogic_CMP_RDBMS
</persistence-type-identifier>
<persistence-type-version>
6.0
</persistence-type-version>
<weblogic-major-version>
7
</weblogic-major-version>
<cmp-version>
2.x
</cmp-version>
<class-information>
<cmp-deployer-class>
weblogic.ejb.container.cmp.rdbms.Deployer
</cmp-deployer-class>
<persistence-manager-class>
weblogic.ejb.container.cmp.rdbms.RDBMSPersistenceManager
</persistence-manager-class>
<jar-deployment-class>
weblogic.ejb.container.cmp.rdbms.RDBMSDeployment
</jar-deployment-class>
<code-generator-class>
weblogic.ejb.container.cmp.rdbms.codegen.RDBMSCodeGenerator
</code-generator-class>
</class-information>
</weblogic-persistence-type>
<weblogic-persistence-type>
<persistence-type-identifier>
WebLogic_CMP_RDBMS
</persistence-type-identifier>
<persistence-type-version>
7.0
</persistence-type-version>
<weblogic-major-version>
7
</weblogic-major-version>
<cmp-version>
2.x
</cmp-version>
<class-information>
<cmp-deployer-class>
weblogic.ejb.container.cmp.rdbms.Deployer
</cmp-deployer-class>
<persistence-manager-class>
weblogic.ejb.container.cmp.rdbms.RDBMSPersistenceManager
</persistence-manager-class>
<jar-deployment-class>
weblogic.ejb.container.cmp.rdbms.RDBMSDeployment
</jar-deployment-class>
<code-generator-class>
weblogic.ejb.container.cmp.rdbms.codegen.RDBMSCodeGenerator
</code-generator-class>
</class-information>
</weblogic-persistence-type>
<weblogic-persistence-type>
<persistence-type-identifier>
WebLogic_CMP_RDBMS
</persistence-type-identifier>
<persistence-type-version>
5.1.0
</persistence-type-version>
<weblogic-major-version>
7
</weblogic-major-version>
<cmp-version>
1.x
</cmp-version>
<class-information>
<cmp-deployer-class>
weblogic.ejb.container.cmp11.rdbms.Deployer
</cmp-deployer-class>
<persistence-manager-class>
weblogic.ejb.container.cmp11.rdbms.PersistenceManagerImpl
</persistence-manager-class>
<jar-deployment-class>
weblogic.ejb.container.cmp11.rdbms.RDBMSDeployment
</jar-deployment-class>
<code-generator-class>
weblogic.ejb.container.cmp11.rdbms.codegen.RDBMSCodeGenerator
</code-generator-class>
</class-information>
</weblogic-persistence-type>
</weblogic-persistence-vendor>

View File

@@ -0,0 +1,106 @@
@start rule: main
/**
* This code was automatically generated at @time on @date
* by @generator -- do not edit.
*
* @@version @buildString
* @@author Copyright (c) @year by BEA Systems, Inc. All Rights Reserved.
*/
@packageStatement
import java.util.Iterator;
import java.util.Set;
import javax.transaction.xa.Xid;
import weblogic.ejb.container.persistence.spi.EoWrapper;
import weblogic.ejb.container.persistence.spi.EloWrapper;
import weblogic.ejb.container.EJBTextTextFormatter;
import weblogic.ejb.container.EJBLogger;
import weblogic.logging.Loggable;
import weblogic.transaction.Transaction;
import weblogic.transaction.TransactionHelper;
import weblogic.utils.Debug;
public class @iteratorClassName implements Iterator {
private @EoWrapper currWrapper = null;
private Iterator @iterVar;
private @setClassName @creatorVar;
private Xid @createTxIdVar;
public @iteratorClassName(Iterator @iterVar,
@setClassName @creatorVar)
{
this.@iterVar = @iterVar;
this.@creatorVar = @creatorVar;
this.@createTxIdVar = @creatorVar.getXid();
}
public boolean hasNext()
{
checkTransaction();
return @iterVar.hasNext();
}
// Note: IllegalStateException checking for illegal
// calls to next() and remove() are deferred to
// the underlying Iterator.
public Object next()
{
checkTransaction();
currWrapper = (@EoWrapper)@iterVar.next();
return currWrapper.@getEJBObjectForField();
}
public void remove()
{
checkTransaction();
@iterVar.remove();
if (null == currWrapper) {
return;
}
@creatorVar.remove(currWrapper.@getEJBObjectForField(),
false, // do ejbStore()
false); // do Collection.remove()
}
private void checkTransaction()
{
Transaction tx = (weblogic.transaction.Transaction)TransactionHelper.getTransactionHelper().getTransaction();
if ((tx == null) && (@createTxIdVar == null))
return;
else if ((tx == null) && (@createTxIdVar != null))
if (! @isReadOnly) {
Loggable l1 = EJBLogger.logaccessedCmrCollectionInDifferentTransactionLoggable("@ejbName", "@cmrName");
throw new IllegalStateException(l1.getMessage());
}
else if (!tx.getXid().equals(@createTxIdVar) && ! @isReadOnly ) {
Loggable l1 = EJBLogger.logaccessedCmrCollectionInDifferentTransactionLoggable("@ejbName", "@cmrName");
throw new IllegalStateException(l1.getMessage());
}
}
}
@end rule: main

View File

@@ -0,0 +1,750 @@
@start rule: main
/**
* This code was automatically generated at @time on @date
* by @generator -- do not edit.
*
* @@version @buildString
* @@author Copyright (c) @year by BEA Systems, Inc. All Rights Reserved.
*/
@packageStatement
import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.Collection;
import java.util.List;
import java.util.ArrayList;
import java.util.Set;
import java.util.HashSet;
import java.lang.reflect.Array;
import java.io.Serializable;
import java.io.IOException;
import javax.ejb.EJBObject;
import javax.ejb.EJBLocalObject;
import javax.ejb.EntityContext;
import javax.ejb.EJBException;
import javax.ejb.NoSuchEntityException;
import javax.transaction.xa.Xid;
import javax.transaction.Transaction;
import weblogic.ejb.container.InternalException;
import weblogic.ejb.container.cache.QueryCacheElement;
import weblogic.ejb.container.cache.QueryCacheKey;
import weblogic.ejb.container.internal.EntityEJBContextImpl;
import weblogic.ejb.container.interfaces.WLEnterpriseBean;
import weblogic.ejb.container.persistence.spi.CMPBeanManager;
import weblogic.ejb.container.persistence.spi.EoWrapper;
import weblogic.ejb.container.persistence.spi.EloWrapper;
import weblogic.ejb.container.cmp.rdbms.RDBMSSet;
import weblogic.ejb.container.cmp.rdbms.RDBMSUtils;
import weblogic.ejb.container.cmp.rdbms.RDBMSPersistenceManager;
import weblogic.ejb20.persistence.spi.PersistenceRuntimeException;
import weblogic.ejb20.cmp.rdbms.RDBMSException;
import javax.transaction.TransactionManager;
import weblogic.transaction.TransactionHelper;
import weblogic.ejb.container.EJBLogger;
import weblogic.logging.Loggable;
import weblogic.utils.Debug;
import weblogic.utils.collections.ArraySet;
public final class @setClassName implements RDBMSSet, Set, Serializable,Cloneable
{
// =================================================================
// Class variable(s)
private static final weblogic.diagnostics.debug.DebugLogger @debugVar =
weblogic.ejb.container.EJBDebugService.cmpRuntimeLogger;
private CMPBeanManager @bmVar;
private Method @finderVar;
private Object @cpkVar;
private @EJBObject @ceoVar;
private Set @cacheVar;
@perhapsDeclareReadWriteVars
private boolean isCreatorBeanInvalidated = false;
private Xid @createTxIdVar;
private @owningBeanInterfaceName @creatorVar;
public @setClassName(@owningBeanInterfaceName @creatorVar,
CMPBeanManager @bmVar,
Method @finderVar
) {
try {
this.@creatorVar = @creatorVar;
this.@bmVar = @bmVar;
this.@finderVar = @finderVar;
EntityEJBContextImpl @ctxVar = (EntityEJBContextImpl) @creatorVar.__WL_getEntityContext();
@cpkVar = @ctxVar.__WL_getPrimaryKey();
@ceoVar = @ctxVar.@getWLGetEJBObject();
@perhapsInitReadWriteVars
if (((weblogic.transaction.Transaction)TransactionHelper.getTransactionHelper().getTransaction()) != null)
@createTxIdVar = ((weblogic.transaction.Transaction)TransactionHelper.getTransactionHelper().getTransaction()).getXid();
@standardCatch
}
private void populateCache() {
try {
assert (@cpkVar !=null);
@perhapsPopulateFromQueryCache
@perhapsInvokeFinder
@perhapsReconcileReadWriteChanges
@perhapsPutInQueryCache
isCreatorBeanInvalidated = false;
@standardCatch
}
//======================================================================
//implementation of RDBMSSet
public void doAdd(Object o)
{
@perhapsDoAddForReadWrite
}
public void doRemove(Object o) {
doRemove(o, true);
}
public void doRemove(Object o, boolean remove)
{
@perhapsDoRemoveForReadWrite
}
public void doAddToCache(Object o)
{
if (@debugEnabled) @debugSay("doAddToCache() called.");
if (@cacheVar==null) {
@cacheVar = new HashSet(10);
}
if (o == null) return;
@EJBObjectForField eo = (@EJBObjectForField)o;
@EoWrapper wrap = new @EoWrapper(eo);
assert (!@cacheVar.contains(wrap));
@cacheVar.add(wrap);
}
//======================================================================
//implementation of java.util.Collection
public Iterator iterator() {
checkTransaction();
if (@cacheVar==null) {
populateCache();
}
return new @iteratorClassName(@cacheVar.iterator(), this);
}
public Xid getXid() { return @createTxIdVar; }
public void setTransaction(javax.transaction.Transaction newCreateTx) {
if (newCreateTx != null)
@createTxIdVar = ((weblogic.transaction.Transaction)newCreateTx).getXid();
else
@createTxIdVar = null;
}
public void setIsCreatorBeanInvalidated(boolean value) {
isCreatorBeanInvalidated = value;
}
public boolean add(Object o) {
checkTransaction();
if (o==null)
throw new IllegalArgumentException();
if (!(o instanceof @elementInterfaceName))
throw new IllegalArgumentException(
"Attempted to add an object of type '" +
o.getClass().getName() +
"' to collection, but the type must be '" +
"@elementInterfaceName' instead.");
try {
@EJBObjectForField eo = (@EJBObjectForField)o;
@relatedBeanInterfaceName @beanVar = (@relatedBeanInterfaceName)
@bmVar.lookup(eo.getPrimaryKey());
int @oldStateVar = @beanVar.__WL_getMethodState();
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
@perhapsDeclarePkVar
@perhapsAssignPkVar
try {
@beanVar.__WL_checkExistsOnMethod();
}
catch (NoSuchEntityException nsee) {
Loggable l = EJBLogger.logbeanDoesNotExistLoggable("@relatedEjbName",eo.getPrimaryKey().toString());
throw new IllegalArgumentException(l.getMessage());
}
if (@cpkVar.equals(@pkVarForBean)) {
return false;
}
else {
@beanVar.@relatedBeanSetMethod(
(@remoteInterfaceName)@ceoVar);
return true;
}
} finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
@standardCatch
}
public boolean addAll(Collection @colVar) {
checkTransaction();
if (@colVar==null) return false;
Collection temp = new ArrayList();
temp.addAll(@colVar);
Iterator @iterVar = temp.iterator();
boolean changed = false;
while (@iterVar.hasNext()) {
changed |= add(@iterVar.next());
}
return changed;
}
public void clear() {
clear(false);
}
public void clear(boolean ejbStore) {
checkTransaction();
if (@cacheVar==null) {
populateCache();
}
Collection cln = (Collection)((HashSet)@cacheVar).clone();
Iterator @iterVar = cln.iterator();
while (@iterVar.hasNext()) {
@EoWrapper @wrapperVar = (@EoWrapper)@iterVar.next();
uncheckedTxnRemove(@wrapperVar.@getEJBObjectForField(), ejbStore, true);
}
}
public boolean contains(Object o) {
checkTransaction();
if (o==null)
return false;
if (!(o instanceof @elementInterfaceName))
return false;
try {
@EJBObjectForField eo = (@EJBObjectForField)o;
if (@cacheVar !=null) {
@EoWrapper wrap = new @EoWrapper(eo);
return @cacheVar.contains(wrap);
}
else {
@relatedBeanInterfaceName @beanVar = (@relatedBeanInterfaceName)
@bmVar.lookup(eo.getPrimaryKey());
try {
@beanVar.__WL_checkExistsOnMethod();
}
catch (NoSuchEntityException nsee) {
Loggable l = EJBLogger.logbeanDoesNotExistLoggable("@relatedEjbName",eo.getPrimaryKey().toString());
throw new IllegalArgumentException(l.getMessage());
}
int @oldStateVar = @beanVar.__WL_getMethodState();
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
@perhapsDeclarePkVar
@perhapsAssignPkVar
if (@cpkVar.equals(@pkVarForBean)) {
return true;
}
else {
return false;
}
} finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
}
@standardCatch
}
public boolean containsAll(Collection eos) {
checkTransaction();
if (eos==null)
return true;
Iterator iter = eos.iterator();
while (iter.hasNext()) {
if (!contains(iter.next())) {
return false;
}
}
return true;
}
public boolean equals(Object o) {
checkTransaction();
if (!(o instanceof @setClassName))
return false;
@setClassName other = (@setClassName)o;
if (@cacheVar==null)
populateCache();
if (other.@cacheVar==null)
other.populateCache();
return @cacheVar.equals(other.@cacheVar);
}
public int hashCode() {
checkTransaction();
if (@cacheVar==null)
populateCache();
return @cacheVar.hashCode();
}
public boolean isEmpty() {
checkTransaction();
if (@cacheVar==null)
populateCache();
return @cacheVar.isEmpty();
}
public boolean remove(Object o)
{
return remove(o, false);
}
public boolean remove(Object o, boolean ejbStore)
{
return remove(o, ejbStore, true);
}
// The flag 'remove' controls whether the Relationship's
// underlying __WL_cache does a remove() operation.
// If an Iterator of the __WL_cache is used to effect a remove()
// then we must be sure to not do a __WL_cache.remove()
// that is the intended use of the 'remove' flag.
public boolean remove(Object o, boolean ejbStore, boolean remove)
{
checkTransaction();
return uncheckedTxnRemove(o, ejbStore, remove);
}
private boolean uncheckedTxnRemove(Object o, boolean ejbStore,
boolean remove)
{
if (o==null)
throw new IllegalArgumentException();
if (!(o instanceof @elementInterfaceName))
throw new IllegalArgumentException(
"Attempted to add an object of type '" +
o.getClass().getName() +
"' to collection, but the type must be '" +
"@elementInterfaceName' instead.");
try {
@EJBObjectForField eo = (@EJBObjectForField)o;
@relatedBeanInterfaceName @beanVar = (@relatedBeanInterfaceName)
@bmVar.lookup(eo.getPrimaryKey());
try {
@beanVar.__WL_checkExistsOnMethod();
}
catch (NoSuchEntityException nsee) {
Loggable l = EJBLogger.logbeanDoesNotExistLoggable("@relatedEjbName",eo.getPrimaryKey().toString());
throw new IllegalArgumentException(l.getMessage());
}
int @oldStateVar = @beanVar.__WL_getMethodState();
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
@perhapsDeclarePkVar
@perhapsAssignPkVar
if (!@cpkVar.equals(@pkVarForBean)) {
return false;
}
else {
@beanVar.@varPrefix@relatedBeanSetMethod(null, ejbStore, remove);
return true;
}
} finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
@standardCatch
}
public boolean removeAll(Collection col) {
checkTransaction();
if (col==null)
return false;
boolean changed = false;
Iterator iter = col.iterator();
while (iter.hasNext()) {
changed |= uncheckedTxnRemove(iter.next(), false, true);
}
return changed;
}
public boolean retainAll(Collection c) {
checkTransaction();
Iterator iter = iterator();
List toRemove = new ArrayList();
while (iter.hasNext()) {
@EJBObjectForField eo = (@EJBObjectForField)iter.next();
if (c != null && !c.contains(eo)) {
toRemove.add(eo);
}
}
Iterator remIter = toRemove.iterator();
boolean changed = false;
while (remIter.hasNext()) {
@EJBObjectForField eo = (@EJBObjectForField)remIter.next();
changed |= this.remove(eo);
}
return changed;
}
public int size() {
checkTransaction();
if (@cacheVar==null)
populateCache();
return @cacheVar.size();
}
public Object[] toArray()
{
if (@debugEnabled) @debugSay("toArray() called.");
checkTransaction();
if (@cacheVar==null) populateCache();
int i = 0;
Object[] arry = new Object[@cacheVar.size()];
Iterator iter = @cacheVar.iterator();
while (iter.hasNext()) {
@EoWrapper wrap = (@EoWrapper)iter.next();
arry[i++] = wrap.@getEJBObjectForField();
}
return arry;
}
public Object[] toArray(Object[] a)
{
if (@debugEnabled) @debugSay("toArray() called.");
checkTransaction();
if (a==null)
throw new ArrayStoreException(
"Null argument passed to @setClassName.toArray");
try {
Class toClass = a.getClass().getComponentType();
if (@cacheVar==null) populateCache();
if (a.length<@cacheVar.size())
a = (Object[])Array.newInstance(toClass, @cacheVar.size());
int i = 0;
Iterator iter = @cacheVar.iterator();
while (iter.hasNext()) {
@EoWrapper wrap = (@EoWrapper)iter.next();
@elementInterfaceName elem =
(@elementInterfaceName)wrap.@getEJBObjectForField();
if (i==0) {
Class colClass = elem.getClass();
if (!toClass.isAssignableFrom(colClass)) {
throw new ArrayStoreException(
"Argument type '" +
toClass.getName() +
"' passed to @setClassName.toArray " +
"is not a superclass of the element type of the collection '" +
colClass.getName() +
"'.");
}
}
a[i++] = elem;
}
while (i<a.length) {
a[i++] = null;
}
return a;
@standardCatch
}
private void checkTransaction()
{
weblogic.transaction.Transaction tx = (weblogic.transaction.Transaction)
TransactionHelper.getTransactionHelper().getTransaction();
if ((tx == null) && (@createTxIdVar == null))
return;
else if ((tx == null) && (@createTxIdVar != null))
if (! @isReadOnly) {
Loggable l1 = EJBLogger.logaccessedCmrCollectionInDifferentTransactionLoggable("@ejbName", "@cmrName");
throw new IllegalStateException(l1.getMessage());
}
else if (!tx.getXid().equals(@createTxIdVar) && ! @isReadOnly ) {
Loggable l1 = EJBLogger.logaccessedCmrCollectionInDifferentTransactionLoggable("@ejbName", "@cmrName");
throw new IllegalStateException(l1.getMessage());
}
}
public boolean checkIfCurrentTxEqualsCreateTx(Transaction currentTx) {
if(currentTx != null && ((weblogic.transaction.Transaction)
currentTx).getXid().equals(@createTxIdVar))
return true;
else
return false;
}
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
private void writeObject(java.io.ObjectOutputStream out)
throws IOException
{
throw new EJBException(
"Attempt to serialize a collection that implements a cmr-field. " +
"Collections managed by the CMP RDBMS persistence manager may not " +
"be passed directly to a remote client.");
}
private void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException
{
// this method is never called
throw new EJBException(
"Attempt to serialize a collection that implements a cmr-field. " +
"Collections managed by the CMP RDBMS persistence manager may not " +
"be passed directly to a remote client.");
}
private static void @debugSay(String s) {
@debugVar.debug("[@setClassName] " + s);
}
@perhapsImplementQueryCachingMethods
}
@end rule: main
@start rule: standardCatch
} catch (RuntimeException re) {
if (@debugEnabled) {
@debugSay("rethrowing RuntimeException.");
re.printStackTrace();
}
throw re;
} catch (Exception ex) {
if (@debugEnabled) {
@debugSay("wrapping Exception in PersistenceRuntimeException.");
ex.printStackTrace();
}
throw new PersistenceRuntimeException(ex);
}
@end rule: standardCatch
@start rule: reconcileReadWriteChanges
Iterator @addIter = @addVar.iterator();
while (@addIter.hasNext()) {
@EoWrapper @wrapperVar = (@EoWrapper)@addIter.next();
if (!@cacheVar.contains(@wrapperVar)) {
@cacheVar.add(@wrapperVar);
}
}
Iterator @remIter = @removeVar.iterator();
while (@remIter.hasNext()) {
@EoWrapper @wrapperVar = (@EoWrapper)@remIter.next();
if (@cacheVar.contains(@wrapperVar)) {
@cacheVar.remove(@wrapperVar);
}
}
@addVar = null;
@removeVar = null;
@end rule: reconcileReadWriteChanges
@start rule: doAddForReadWrite
if (@debugEnabled) @debugSay("doAdd() called.");
@EJBObjectForField eo = (@EJBObjectForField)o;
checkTransaction();
@EoWrapper wrap = new @EoWrapper(eo);
if (@cacheVar==null) {
if (@removeVar.contains(wrap)) {
@removeVar.remove(wrap);
}
assert (!@addVar.contains(wrap));
@addVar.add(wrap);
}
else {
assert (!@cacheVar.contains(wrap));
@cacheVar.add(wrap);
}
if (!isCreatorBeanInvalidated) {
@pmVar.registerInvalidatedBean(@cpkVar);
isCreatorBeanInvalidated = true;
}
@end rule: doAddForReadWrite
@start rule: doRemoveForReadWrite
checkTransaction();
@EJBObjectForField eo = (@EJBObjectForField)o;
@EoWrapper wrap = new @EoWrapper(eo);
if (@cacheVar==null) {
if (@addVar.contains(wrap)) {
@addVar.remove(wrap);
}
assert (!@removeVar.contains(wrap));
@removeVar.add(wrap);
}
else {
if (remove) {
assert (@cacheVar.contains(wrap));
@cacheVar.remove(wrap);
}
}
if(!isCreatorBeanInvalidated) {
@pmVar.registerInvalidatedBean(@cpkVar);
isCreatorBeanInvalidated = true;
}
@end rule: doRemoveForReadWrite
@start rule: queryCachingMethods
private Set getFromQueryCache() throws InternalException {
weblogic.ejb.container.manager.TTLManager roMgr =
(weblogic.ejb.container.manager.TTLManager)@bmVar;
return (Set)roMgr.getFromQueryCache(@finderVar.getName(),
new Object[] { @cpkVar },
@isLocal, true);
}
// If this collection was loaded using eager relationship caching,
// the associated query is passed in
public void putInQueryCache(QueryCacheKey sourceQuery) {
weblogic.ejb.container.manager.TTLManager roMgr =
(weblogic.ejb.container.manager.TTLManager)@bmVar;
Collection cacheKeys = new ArrayList(@cacheVar.size());
Iterator iterator = @cacheVar.iterator();
while(iterator.hasNext()) {
Object obj = iterator.next();
if (obj instanceof EloWrapper) {
obj = ((EloWrapper)obj).getPrimaryKey();
} else {
obj = ((EoWrapper)obj).getPrimaryKey();
}
cacheKeys.add(new QueryCacheElement(obj, roMgr));
}
if (!cacheKeys.isEmpty()) {
QueryCacheKey qckey = new QueryCacheKey(@finderVar.getName(),
new Object[] { @cpkVar }, roMgr,
QueryCacheKey.RET_TYPE_SET);
if (sourceQuery != null) {
sourceQuery.addDestinationQuery(qckey);
qckey.addSourceQuery(sourceQuery);
}
roMgr.putInQueryCache(qckey, cacheKeys);
}
}
@end rule: queryCachingMethods
@start rule: loadIfNotPostCreate
if (@creatorVar.__WL_getMethodState() == WLEnterpriseBean.STATE_EJB_POSTCREATE) {
if (@cacheVar == null) @cacheVar = new HashSet();
}
@end rule: loadIfNotPostCreate

View File

@@ -0,0 +1,554 @@
@start rule: simpleLoadCheckForField
if (!(@isLoadedVarForField @perhapsOrTermForIsModified)) {
@callLoadMethodForField
}
@end rule: simpleLoadCheckForField
@start rule: cmpGetMethod
public @fieldClassForCmpField @getMethodNameForField()
{
try {
@simpleLoadCheckForField
return @fieldNameForField;
@standardCatch
}
@end rule: cmpGetMethod
@start rule: cmpGetMethodJavaClassInternal
@java_class_internal_method_signature
{
try {
@simpleLoadCheckForField
return super.@getMethodNameForField();
@standardCatch
}
@end rule: cmpGetMethodJavaClassInternal
@start rule: cmpSetMethod
public void @setMethodNameForField(
@fieldClassForCmpField @fieldNameForField)
{
@cmpSetMethodGuard
}
@end rule: cmpSetMethod
@start rule: cmpSetMethodBody
@trimStringTypes
@cmpSetMethodCheck
this.@fieldNameForField = @fieldNameForField;
@isModifiedVarForField = true;
@beanIsModifiedVar = true;
@perhapsSetTableModifiedVarForCmpField
@registerModifiedBean
@end rule: cmpSetMethodBody
@start rule: cmpSetMethodBodyJavaClass
@trimStringTypes
@cmpSetMethodCheck
super.@setMethodNameForField(arg0);
@isModifiedVarForField = true;
@beanIsModifiedVar = true;
@perhapsSetTableModifiedVarForCmpField
@registerModifiedBean
@end rule: cmpSetMethodBodyJavaClass
@start rule: cmpSetMethodBodyForOptimistic
if(! __WL_beanIsLoaded()) {
try {
@callLoadMethodForField
@standardCatch
}
@cmpSetMethodBody
@end rule: cmpSetMethodBodyForOptimistic
@start rule: cmpSetMethodBodyForOptimisticJavaClass
if(! __WL_beanIsLoaded()) {
try {
@callLoadMethodForField
@standardCatch
}
@cmpSetMethodBodyJavaClass
@end rule: cmpSetMethodBodyForOptimisticJavaClass
@start rule: cmpSetMethodJavaClassInternal
@java_class_internal_method_signature
{
@cmpSetMethodGuard
}
@end rule: cmpSetMethodJavaClassInternal
@start rule: oneToOneGetterBody_fkOwner
try {
@loadCheckForCmrField
if (@fieldVarForField==null) {
if (!@fkVarForFieldIsNull) {
@perhapsDeclareFkVar
@perhapsAllocateFkVar
@perhapsAssignFkVar
Transaction orgTx =
TransactionHelper.getTransactionHelper().getTransaction();
try {
@readOnlyOneToOneGetterBody_fkOwner
}finally {
@readOnlyResumeTx
}
}
}
return @fieldVarForField;
@standardCatch
@end rule: oneToOneGetterBody_fkOwner
@start rule: oneToOneGetterBody
try {
if (!@isCmrLoadedVarNameForField) {
if (@debugEnabled) {
@debugSay("calling @finderVarForField with value of " +
@ctxVar.getPrimaryKey());
}
Transaction orgTx =
TransactionHelper.getTransactionHelper().getTransaction();
try {
@readOnlyFinderOneToOneGetterBody
}
catch (InternalException ie) {
if (ie.detail!=null && ie.detail instanceof ObjectNotFoundException)
@assignFieldVarForFieldWithNull
else
throw ie;
}
finally {
@readOnlyResumeTx
}
@isCmrLoadedVarNameForField = true;
if (@debugEnabled) {
if (@fieldVarForField == null)
@debugSay("bean not found.");
else
@debugSay("bean was found.");
}
}
return @fieldVarForField;
@standardCatch
@end rule: oneToOneGetterBody
@start rule: oneToOneSetNullBody_fkOwner
try {
@loadCheckForCmrField
if (!@fkVarForFieldIsNull) {
@perhapsDeclareFkVar
@perhapsAllocateFkVar
@perhapsAssignFkVar
@relInterfaceNameForField @beanVar =
(@relInterfaceNameForField)@bmVarForField.lookup(@fkVarForField);
int @oldStateVar = @beanVar.__WL_getMethodState();
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
@beanVar.@relatedDoSetForField(null);
} finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
if (ejbStore && !@pmVar.getOrderDatabaseOperations()) {
@beanVarEjbStoreForField
}
}
@standardCatch
@end rule: oneToOneSetNullBody_fkOwner
@start rule: oneToOneSetNullBody
try {
@getMethodNameForField();
if (@fieldVarForField !=null) {
@relInterfaceNameForField @beanVar =
(@relInterfaceNameForField)@bmVarForField.lookup(
@fieldVarGetPrimaryKey);
int @oldStateVar = @beanVar.__WL_getMethodState();
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
@beanVar.@relatedDoSetForField(null);
}
finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
if (ejbStore && !@pmVar.getOrderDatabaseOperations()) {
@beanVarEjbStoreForField
}
}
@standardCatch
@end rule: oneToOneSetNullBody
@start rule: oneToManySetBody_local_fkOwner
try {
@oneToManySetBody_fkOwner_preSetCheck
@doSetMethodNameForField(@fieldNameForField);
@perhapsCallPostSetMethodForField
if (ejbStore && !@pmVar.getOrderDatabaseOperations()) {
ejbStore();
}
@standardCatch
@end rule: oneToManySetBody_local_fkOwner
@start rule: oneToManySetBody_remote_fkOwner
if (__WL_method_state==STATE_EJB_CREATE) {
Loggable l = EJBLogger.logsetCheckForCmrFieldDuringEjbCreateLoggable();
throw new IllegalStateException(l.getMessage());
}
try {
@doSetMethodNameForField(@fieldNameForField);
@standardCatch
@end rule: oneToManySetBody_remote_fkOwner
@start rule: oneToManySetBody_fkOwner_preSetCheck
@loadCheckForCmrField
if (!@fkVarForFieldIsNull) {
@perhapsDeclareFkVar
@perhapsAllocateFkVar
@perhapsAssignFkVar
@relInterfaceNameForField @beanVar =
(@relInterfaceNameForField)@bmVarForField.lookup(@fkVarForField);
int @oldStateVar = @beanVar.__WL_getMethodState();
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
RDBMSSet @colVar = (RDBMSSet)
@beanVar.@getRelatedMethodNameForField();
@colVar.doRemove(@ctxVar.@getEJBObject(), remove);
// register relation change on relation's non-FK holder
((CMPBean)@beanVar).__WL_setNonFKHolderRelationChange(true);
} finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
}
@end rule: oneToManySetBody_fkOwner_preSetCheck
@start rule: oneToOnePostSetBody_fkOwner
if (!@fkVarForFieldIsNull) {
@perhapsDeclareFkVar
@perhapsAllocateFkVar
@perhapsAssignFkVar
@relInterfaceNameForField @beanVar = (@relInterfaceNameForField)
@bmVarForField.lookup(@fkVarForField);
int @oldStateVar = @beanVar.__WL_getMethodState();
if (@oldStateVar == WLEnterpriseBean.STATE_EJB_POSTCREATE) {
@beanVar.@relatedIsCmrLoadedVarNameForField(true);
}
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
@beanVar.@relatedSetRestForField((@componentInterfaceForBean)
@ctxVar.@getEJBObject(), this.__WL_getMethodState());
} finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
}
@end rule: oneToOnePostSetBody_fkOwner
@start rule: oneToOnePostSetBody
if (@fieldVarForField !=null) {
@relInterfaceNameForField @beanVar = (@relInterfaceNameForField)
@bmVarForField.lookup(@fieldVarGetPrimaryKey);
int @oldStateVar = @beanVar.__WL_getMethodState();
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
@beanVar.@relatedSetRestForField((@componentInterfaceForBean)
@ctxVar.@getEJBObject(), this.__WL_getMethodState());
} finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
}
@end rule: oneToOnePostSetBody
@start rule: checkIsRemovedBody
if ((@fieldNameForField != null) && (@fieldNameGetPrimaryKey != null)) {
@relInterfaceNameForField @beanVar = (@relInterfaceNameForField)
@bmVarForField.lookup(@fieldNameGetPrimaryKey);
return @beanVar.__WL_getIsRemoved();
}
return false;
@end rule: checkIsRemovedBody
@start rule: checkRelatedExistsOneMany
if (!@beanVar.__WL_beanIsLoaded() && !@beanVar.__WL_exists(@fkVarForField)) {
Loggable l = EJBLogger.logillegalAttemptToAssignRemovedBeanToCMRFieldLoggable(
@fkVarForField.toString());
throw new IllegalArgumentException(l.getMessage());
}
@end rule: checkRelatedExistsOneMany
@start rule: oneToManyPostSetBody
if (!@fkVarForFieldIsNull) {
@perhapsDeclareFkVar
@perhapsAllocateFkVar
@perhapsAssignFkVar
@relInterfaceNameForField @beanVar = (@relInterfaceNameForField)
@bmVarForField.lookup(@fkVarForField);
int @oldStateVar = @beanVar.__WL_getMethodState();
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
@perhapsCheckRelatedExistsOneMany
RDBMSSet @colVar = (RDBMSSet)
@beanVar.@getRelatedMethodNameForField();
@colVar.doAdd(@ctxVar.@getEJBObject());
// register relation change on relation's non-FK holder
((CMPBean)@beanVar).__WL_setNonFKHolderRelationChange(true);
} finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
}
@end rule: oneToManyPostSetBody
@start rule: oneToManySetBody
if (@fieldNameForField==null) {
Loggable l = EJBLogger.lognullAssignedToCmrFieldLoggable();
throw new IllegalArgumentException(l.getMessage());
}
try {
@getMethodNameForField();
if (@fieldNameForField==@fieldVarForField)
return;
@fieldVarForField.clear();
@fieldVarForField.addAll(@fieldNameForField);
@standardCatch
@end rule: oneToManySetBody
@start rule: oneToOneDoSetBody_fkOwner
try {
@loadCheckForCmrField
if (@debugEnabled) {
@debugSay("[" + @ctxVar.getPrimaryKey() +
"]called @doSetMethodNameForField...");
}
@assignFieldVarForFieldWithFieldNameForField
if (@fieldVarForField == null) {
if (@debugEnabled) {
@debugSay("setting field variable to null.");
}
@assignFkVarsNull_forField
}
else {
if (@debugEnabled) {
@debugSay("setting field variable to new value.");
}
@assignFkVarsFkField_forField
}
@registerModifiedBean
@standardCatch
@end rule: oneToOneDoSetBody_fkOwner
@start rule: oneToManyGetterBody_fkOwner
try {
@loadCheckForCmrField
if (@fieldVarForField==null) {
@perhapsDeclareFkVar
@perhapsAllocateFkVar
@perhapsAssignFkVar
if (!@fkVarForFieldIsNull) {
Transaction orgTx =
TransactionHelper.getTransactionHelper().getTransaction();
try {
@readOnlyOneToManyGetterBody_fkOwner
} finally {
@readOnlyResumeTx
}
}
}
return @fieldVarForField;
@standardCatch
@end rule: oneToManyGetterBody_fkOwner
@start rule: oneToManyGetterBody
try {
if (@fieldVarForField==null) {
if (@debugEnabled) {
@debugSay("\t@fieldVarForField was null.");
}
@assignFieldVarForFieldWithAllocatedOneToManySet
return @fieldVarForField;
}
Transaction currentTx =
TransactionHelper.getTransactionHelper().getTransaction();
if(currentTx != null && ((RDBMSSet)@fieldVarForField)
.checkIfCurrentTxEqualsCreateTx(currentTx)) {
return @fieldVarForField;
} else {
@assignFieldVarForFieldWithOneToManySetClone
((RDBMSSet)@fieldVarForField).setTransaction(currentTx);
((RDBMSSet)@fieldVarForField).setIsCreatorBeanInvalidated(false);
return @fieldVarForField;
}
@standardCatch
@end rule: oneToManyGetterBody
@start rule: ManyToManyGetterBody
try {
if (@fieldVarForField==null) {
if (@debugEnabled) {
@debugSay("\t@fieldVarForField was null.");
}
@assignFieldVarForFieldWithAllocatedManyToManySet
return @fieldVarForField;
}
Transaction currentTx =
TransactionHelper.getTransactionHelper().getTransaction();
if(currentTx != null && ((RDBMSSet)@fieldVarForField)
.checkIfCurrentTxEqualsCreateTx(currentTx)) {
return @fieldVarForField;
} else {
@assignFieldVarForFieldWithOneToManySetClone
((RDBMSSet)@fieldVarForField).setTransaction(currentTx);
return @fieldVarForField;
}
@standardCatch
@end rule: ManyToManyGetterBody
@start rule: manyToManyGetSQL
if (cmrf.equals("@fieldNameForField")) {
@getMethodNameForField();
if (operation == DDConstants.INSERT) {
String @queryVar = ((RDBMSM2NSet) @fieldVarForField).getAddJoinTableSQL();
if (@debugEnabled) {
@debugSay("__WL_getM2NSQL() produced sqlString: " + @queryVar);
}
return @queryVar;
}
else {
throw new AssertionError("Unknown request for Many To Many Get SQL: "+
operation);
}
}
@end rule: manyToManyGetSQL
@start rule: getCmrBeansForCmrField
if (cmrf.equals("@fieldNameForField")) {
return @getMethodNameForField();
}
@end rule: getCmrBeansForCmrField
@start rule: oneToOneSetRestBody_fkOwner
try {
@loadCheckForCmrField
if (@debugEnabled) {
@debugSay("[" + @ctxVar.getPrimaryKey() +
"]called @setRestMethodNameForField...");
}
if (!(@fkVarForFieldIsNull)) {
if (@debugEnabled) { @debugSay("\tvariable for field is not null."); }
@perhapsDeclareFkVar
@perhapsAllocateFkVar
@perhapsAssignFkVar
@relInterfaceNameForField @beanVar =
(@relInterfaceNameForField) @bmVarForField.lookup(@fkVarForField);
int @oldStateVar = @beanVar.__WL_getMethodState();
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
@beanVar.@relatedDoSetForField(null);
} finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
}
@doSetMethodNameForField(@fieldNameForField);
@standardCatch
@end rule: oneToOneSetRestBody_fkOwner
@start rule: checkExistsOneOne
if (!@beanIsLoadedVar && !__WL_exists(@ctxVar.getPrimaryKey())) {
Loggable l = EJBLogger.logillegalAttemptToAssignRemovedBeanToCMRFieldLoggable(
@ctxVar.getPrimaryKey().toString());
throw new IllegalArgumentException(l.getMessage());
}
@end rule: checkExistsOneOne
@start rule: oneToOneSetRestBody
try {
@perhapsCheckExistsOneOne
@perhapsOptimizeOneToOne
if (@fieldVarForField !=null) {
@relInterfaceNameForField @beanVar = (@relInterfaceNameForField)
@bmVarForField.lookup(@fieldVarGetPrimaryKey);
int @oldStateVar = @beanVar.__WL_getMethodState();
try {
@beanVar.__WL_setMethodState(WLEnterpriseBean.STATE_BUSINESS_METHOD);
@beanVar.@relatedDoSetForField(null);
} finally {
@beanVar.__WL_setMethodState(@oldStateVar);
}
}
@doSetMethodNameForField(@fieldNameForField);
@standardCatch
@end rule: oneToOneSetRestBody

Some files were not shown because too many files have changed in this diff Show More