You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by cu...@apache.org on 2010/04/05 22:48:54 UTC
svn commit: r930957 - in /openjpa/trunk:
openjpa-kernel/src/main/java/org/apache/openjpa/meta/
openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/
openjpa-persistence/src/main/java/org/apache/openjpa/persistence/
openjpa-p...
Author: curtisr7
Date: Mon Apr 5 20:48:54 2010
New Revision: 930957
URL: http://svn.apache.org/viewvc?rev=930957&view=rev
Log:
OPENJPA-1604: Backing out the two previous commits while investigating a couple test failures.
Removed:
openjpa/trunk/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/TestNamedQueryLockMode.java
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/QueryMetaData.java
openjpa/trunk/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployee.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties
Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/QueryMetaData.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/QueryMetaData.java?rev=930957&r1=930956&r2=930957&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/QueryMetaData.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/QueryMetaData.java Mon Apr 5 20:48:54 2010
@@ -58,8 +58,7 @@ public class QueryMetaData
private String _resultSetMappingName;
private int _lineNum;
private int _colNum;
- private int _lockMode;
-
+
/**
* Construct with the given name.
*/
@@ -157,14 +156,6 @@ public class QueryMetaData
public void setQueryString(String query) {
_query = query;
}
-
- public void setLockMode(int mode) {
- _lockMode = mode;
- }
-
- public int getLockMode() {
- return _lockMode;
- }
/**
* Query hints.
@@ -218,7 +209,6 @@ public class QueryMetaData
query.setReadOnly(_readOnly.booleanValue());
if (_resultSetMappingName != null)
query.setResultMapping(null, _resultSetMappingName);
- query.getFetchConfiguration().setReadLockLevel(_lockMode);
}
/**
Modified: openjpa/trunk/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployee.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployee.java?rev=930957&r1=930956&r2=930957&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployee.java (original)
+++ openjpa/trunk/openjpa-persistence-locking/src/test/java/org/apache/openjpa/persistence/lockmgr/LockEmployee.java Mon Apr 5 20:48:54 2010
@@ -25,22 +25,13 @@ import java.io.ObjectOutput;
import javax.persistence.Entity;
import javax.persistence.Id;
-import javax.persistence.LockModeType;
-import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Version;
-
-@NamedQueries({
- @NamedQuery(name="findEmployeeById",
- query="SELECT c FROM LockEmployee c WHERE c.id = :id"),
- @NamedQuery(name="findEmployeeByIdWithLock",
- query="SELECT c FROM LockEmployee c WHERE c.id = :id",
- lockMode=LockModeType.PESSIMISTIC_READ),
- @NamedQuery(name="findEmployeeByIdWithNoLock",
- query="SELECT c FROM LockEmployee c WHERE c.id = :id",
- lockMode=LockModeType.NONE)
- })
+@NamedQuery(
+ name="findEmployeeById"
+ , query="SELECT c FROM LockEmployee c WHERE c.id = :id"
+ )
@Entity
public class LockEmployee implements Externalizable {
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java?rev=930957&r1=930956&r2=930957&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java Mon Apr 5 20:48:54 2010
@@ -94,7 +94,6 @@ import org.apache.openjpa.event.BeanLife
import org.apache.openjpa.event.LifecycleCallbacks;
import org.apache.openjpa.event.LifecycleEvent;
import org.apache.openjpa.event.MethodLifecycleCallbacks;
-import org.apache.openjpa.kernel.LockLevels;
import org.apache.openjpa.kernel.QueryLanguages;
import org.apache.openjpa.kernel.jpql.JPQLParser;
import org.apache.openjpa.lib.conf.Configurations;
@@ -1776,10 +1775,11 @@ public class AnnotationPersistenceMetaDa
meta = getRepository().addQueryMetaData(_cls, query.name());
meta.setQueryString(query.query());
meta.setLanguage(JPQLParser.LANG_JPQL);
- meta.setLockMode(MixedLockLevelsHelper.toLockLevel(query.lockMode()));
for (QueryHint hint : query.hints())
meta.addHint(hint.name(), hint.value());
-
+ if (query.lockMode() != null) {
+ meta.addHint("openjpa.FetchPlan.ReadLockMode", query.lockMode());
+ }
meta.setSource(getSourceFile(), (el instanceof Class) ? el : null,
SourceTracker.SRC_ANNOTATIONS);
if (isMetaDataMode())
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java?rev=930957&r1=930956&r2=930957&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java Mon Apr 5 20:48:54 2010
@@ -85,7 +85,6 @@ import org.apache.openjpa.persistence.va
import org.apache.openjpa.util.ExceptionInfo;
import org.apache.openjpa.util.Exceptions;
import org.apache.openjpa.util.ImplHelper;
-import org.apache.openjpa.util.NoTransactionException;
import org.apache.openjpa.util.RuntimeExceptionTranslator;
import org.apache.openjpa.util.UserException;
@@ -1024,13 +1023,7 @@ public class EntityManagerImpl
if (pq != null) {
pq.setInto(del);
} else {
- try {
- meta.setInto(del);
- } catch (NoTransactionException e) {
- throw new TransactionRequiredException(_loc.get("named-query-no-txn", name,
- meta.getDefiningType(), MixedLockLevelsHelper.fromLockLevel(meta.getLockMode())),
- new Throwable[]{e}, name, false);
- }
+ meta.setInto(del);
del.compile();
}
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java?rev=930957&r1=930956&r2=930957&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/QueryImpl.java Mon Apr 5 20:48:54 2010
@@ -50,7 +50,6 @@ import org.apache.openjpa.kernel.Delegat
import org.apache.openjpa.kernel.DelegatingResultList;
import org.apache.openjpa.kernel.FetchConfiguration;
import org.apache.openjpa.kernel.Filters;
-import org.apache.openjpa.kernel.LockLevels;
import org.apache.openjpa.kernel.PreparedQuery;
import org.apache.openjpa.kernel.PreparedQueryCache;
import org.apache.openjpa.kernel.QueryLanguages;
@@ -509,7 +508,7 @@ public class QueryImpl<X> implements Ope
return false;
}
FetchConfiguration fetch = _query.getFetchConfiguration();
- if (fetch.getReadLockLevel() != LockLevels.LOCK_NONE)
+ if (fetch.getReadLockLevel() != 0)
return false;
Boolean registered = cache.register(_id, _query, fetch);
boolean alreadyCached = (registered == null);
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java?rev=930957&r1=930956&r2=930957&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/XMLPersistenceMetaDataParser.java Mon Apr 5 20:48:54 2010
@@ -1674,7 +1674,7 @@ public class XMLPersistenceMetaDataParse
meta.setLanguage(JPQLParser.LANG_JPQL);
String lockModeStr = attrs.getValue("lock-mode");
if (lockModeStr != null) {
- meta.setLockMode(MixedLockLevelsHelper.toLockLevel(LockModeType.valueOf(lockModeStr)));
+ meta.addHint("openjpa.FetchPlan.ReadLockMode", LockModeType.valueOf(lockModeStr));
}
Locator locator = getLocation().getLocator();
if (locator != null) {
Modified: openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties?rev=930957&r1=930956&r2=930957&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties (original)
+++ openjpa/trunk/openjpa-persistence/src/main/resources/org/apache/openjpa/persistence/localizer.properties Mon Apr 5 20:48:54 2010
@@ -229,7 +229,4 @@ create-emf-depend-error: Failed to creat
invalid-version-attribute: Persistence version attribute value "{0}" is not valid. Using version "{1}" by default.
not-jpql-or-criteria-query: Query is neither a JPQL SELECT nor a Criteria API query.
cache-retrieve-override: The setting of CacheRetrieveMode.USE is ignored and set to BYPASS for refresh operation.
-null-detach: Can not detach null entity
-named-query-no-txn: Named query "{0}" declared in "{1}" specifies "{2}" lock mode and hence must be \
- created and executed within an active transaction.
-
\ No newline at end of file
+null-detach: Can not detach null entity
\ No newline at end of file