Author: tolusha
Date: 2010-09-17 04:39:43 -0400 (Fri, 17 Sep 2010)
New Revision: 3130
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
Log:
EXOJCR-954: properly getting property record from DB
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java 2010-09-17
08:20:10 UTC (rev 3129)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/jbosscache/ControllerCacheLoader.java 2010-09-17
08:39:43 UTC (rev 3130)
@@ -239,17 +239,33 @@
/**
* @see org.jboss.cache.loader.CacheLoader#put(java.util.List)
*/
- public void put(List<Modification> modifications) throws Exception
+ public void put(final List<Modification> modifications) throws Exception
{
- cl.put(modifications);
+ SecurityHelper.doPriviledgedIOExceptionAction(new
PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ cl.put(modifications);
+ return null;
+
+ }
+ });
}
/**
* @see org.jboss.cache.loader.CacheLoader#put(org.jboss.cache.Fqn, java.util.Map)
*/
- public void put(Fqn name, Map<Object, Object> attributes) throws Exception
+ public void put(final Fqn name, final Map<Object, Object> attributes) throws
Exception
{
- cl.put(name, attributes);
+ SecurityHelper.doPriviledgedIOExceptionAction(new
PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ cl.put(name, attributes);
+ return null;
+
+ }
+ });
}
/**
@@ -257,7 +273,6 @@
*/
public Object put(final Fqn name, final Object key, final Object value) throws
Exception
{
-
return SecurityHelper.doPriviledgedIOExceptionAction(new
PrivilegedExceptionAction<Object>()
{
public Object run() throws Exception
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2010-09-17
08:20:10 UTC (rev 3129)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2010-09-17
08:39:43 UTC (rev 3130)
@@ -1119,8 +1119,8 @@
if (valueRecord.next())
{
String storageId = valueRecord.getString(COLUMN_VSTORAGE_DESC);
- return valueRecord.wasNull() ? readValueData(cid, orderNumb,
persistedVersion, valueRecord
- .getBinaryStream(COLUMN_VDATA)) : readValueData(propertyId, orderNumb,
storageId);
+ return valueRecord.wasNull() ? readValueData(cid, orderNumb,
persistedVersion,
+ valueRecord.getBinaryStream(COLUMN_VDATA)) : readValueData(propertyId,
orderNumb, storageId);
}
return null;
@@ -1222,20 +1222,16 @@
ResultSet item = null;
try
{
- if (itemType != ItemType.PROPERTY)
+ item = findItemByName(parentId, name.getAsString(), name.getIndex());
+ while (item.next())
{
- item = findItemByName(parentId, name.getAsString(), name.getIndex());
+ int columnClass = item.getInt(COLUMN_CLASS);
+ if (itemType == ItemType.UNKNOWN || columnClass == itemType.ordinal())
+ {
+ return itemData(parent.getQPath(), item, columnClass,
parent.getACL());
+ }
}
- else
- {
- item = findPropertyByName(parentId, name.getAsString());
- }
- if (item.next())
- {
- return itemData(parent.getQPath(), item, item.getInt(COLUMN_CLASS),
parent.getACL());
- }
-
return null;
}
finally
@@ -2021,8 +2017,8 @@
{
// use permissions from existed parent
acl =
- new AccessControlList(readACLOwner(cid), parentACL.hasPermissions()
? parentACL
- .getPermissionEntries() : null);
+ new AccessControlList(readACLOwner(cid), parentACL.hasPermissions()
+ ? parentACL.getPermissionEntries() : null);
}
else
{
@@ -2056,8 +2052,8 @@
if (parentACL != null)
// construct ACL from existed parent ACL
acl =
- new AccessControlList(parentACL.getOwner(),
parentACL.hasPermissions() ? parentACL
- .getPermissionEntries() : null);
+ new AccessControlList(parentACL.getOwner(),
parentACL.hasPermissions()
+ ? parentACL.getPermissionEntries() : null);
else
// have to search nearest ancestor owner and permissions in ACL
manager
// acl = traverseACL(cpid);
@@ -2231,8 +2227,8 @@
final int orderNum = valueRecords.getInt(COLUMN_VORDERNUM);
final String storageId = valueRecords.getString(COLUMN_VSTORAGE_DESC);
ValueData vdata =
- valueRecords.wasNull() ? readValueData(cid, orderNum, cversion,
valueRecords
- .getBinaryStream(COLUMN_VDATA)) : readValueData(identifier, orderNum,
storageId);
+ valueRecords.wasNull() ? readValueData(cid, orderNum, cversion,
+ valueRecords.getBinaryStream(COLUMN_VDATA)) : readValueData(identifier,
orderNum, storageId);
data.add(vdata);
}
}