luetzkendorf 2004/12/21 08:12:44
Modified: src/share/org/apache/slide/common PropertyName.java
src/share/org/apache/slide/content ContentImpl.java
NodeProperty.java NodeRevisionDescriptor.java
src/share/org/apache/slide/extractor
PropertyExtractorTrigger.java
src/share/org/apache/slide/search/basic
ComparableResourceImpl.java
src/share/org/apache/slide/security ACLSecurityImpl.java
SecurityImpl.java
src/share/org/apache/slide/store BindingStore.java
ExtendedStore.java
Log:
use of PropertyName objects instead of simple Strings
Revision Changes Path
1.6 +9 -4
jakarta-slide/src/share/org/apache/slide/common/PropertyName.java
Index: PropertyName.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/common/PropertyName.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- PropertyName.java 7 Dec 2004 17:52:20 -0000 1.5
+++ PropertyName.java 21 Dec 2004 16:12:44 -0000 1.6
@@ -64,6 +64,11 @@
PropertyName.getPropertyName(NodeRevisionDescriptor.RESOURCE_TYPE);
public static final PropertyName SOURCE =
PropertyName.getPropertyName(NodeRevisionDescriptor.SOURCE);
+ public static final PropertyName REDIRECT_LIFETIME =
+
PropertyName.getPropertyName(NodeRevisionDescriptor.REDIRECT_LIFETIME);
+ public static final PropertyName REFTARGET =
+ PropertyName.getPropertyName(NodeRevisionDescriptor.REFTARGET);
+
/**
* The name of the Property.
1.63 +6 -5
jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java
Index: ContentImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/ContentImpl.java,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- ContentImpl.java 15 Dec 2004 16:30:19 -0000 1.62
+++ ContentImpl.java 21 Dec 2004 16:12:44 -0000 1.63
@@ -1327,7 +1327,8 @@
// Initialize the branch name in the new descriptor
String branchName = "backup";
- NodeProperty rootVersionProperty =
revisionDescriptor.getProperty("version-set");
+ NodeProperty rootVersionProperty = revisionDescriptor.getProperty(
+ "version-set");
if (rootVersionProperty != null) {
branchName = "version-history";
}
1.29 +12 -5
jakarta-slide/src/share/org/apache/slide/content/NodeProperty.java
Index: NodeProperty.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/NodeProperty.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- NodeProperty.java 29 Nov 2004 18:48:46 -0000 1.28
+++ NodeProperty.java 21 Dec 2004 16:12:44 -0000 1.29
@@ -166,9 +166,16 @@
if( protectedProperty )
this.kind = Kind.PROTECTED;
else
- this.kind = determineKind( DEFAULT_NAMESPACE, name );
+ this.kind = determineKind( namespace, name );
}
+ public NodeProperty(PropertyName name, Object value, boolean
protectedProperty) {
+ this(name, value);
+ if( protectedProperty )
+ this.kind = Kind.PROTECTED;
+ else
+ this.kind = determineKind( name.getNamespace(), name.getName() );
+ }
/**
* Constructor.
1.43 +52 -54
jakarta-slide/src/share/org/apache/slide/content/NodeRevisionDescriptor.java
Index: NodeRevisionDescriptor.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/content/NodeRevisionDescriptor.java,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- NodeRevisionDescriptor.java 7 Dec 2004 17:52:20 -0000 1.42
+++ NodeRevisionDescriptor.java 21 Dec 2004 16:12:44 -0000 1.43
@@ -251,6 +251,14 @@
}
}
+ public NodeRevisionDescriptor(NodeRevisionNumber number, String
branchName) {
+ this();
+ this.number = number;
+ if (branchName != null) {
+ this.branchName = branchName;
+ }
+ this.labels = new Vector();
+ }
// ----------------------------------------------------- Instance
Variables
@@ -359,30 +367,12 @@
return this.labels.elements();
}
-
-// /**
-// * Properties accessor.
-// */
-// Hashtable getProperties() {
-// return this.properties;
-// }
-
-
-// /**
-// * Properties mutator.
-// */
-// void setProperties(Hashtable properties) {
-// // FIXME : Do a clean merge
-// this.properties = properties;
-// this.updatedProperties = new Hashtable(properties);
-// }
-
-
/**
- * Tests if a property has been set.
+ * Tests if a property with the namespace <code>DAV:</code> has been set.
*
* @param name Property name
* @return true if the property has been set
+ * @see use of [EMAIL PROTECTED] #exists(PropertyName)} is preferred.
*/
public boolean exists(String name) {
return exists(PropertyName.getPropertyName(name,
NodeProperty.DEFAULT_NAMESPACE));
@@ -392,22 +382,31 @@
/**
* Tests if a property has been set.
*
- * @param name Property name
+ * @param name properties name
+ * @param namespace properties namesapce
* @return true if the property has been set
+ * @see use of [EMAIL PROTECTED] #exists(PropertyName)} is preferred.
*/
public boolean exists(String name, String namespace) {
return exists(PropertyName.getPropertyName(name, namespace));
}
+ /**
+ * Tests if a property has been set.
+ *
+ * @param name Property name
+ * @return true if the property has been set
+ */
public boolean exists(PropertyName name) {
return properties.containsKey(name);
}
/**
- * Property accessor.
+ * Property accessor for properties in <code>DAV:</code> namespace.
*
* @param name Property name
- * @return String property value
+ * @return NodeProperty object or <code>null</code> if the property
+ * is not defined on this node.
*/
public NodeProperty getProperty(String name) {
return getProperty(PropertyName.getPropertyName(name,
NodeProperty.DEFAULT_NAMESPACE));
@@ -419,12 +418,19 @@
*
* @param name Property name
* @param namespace Property namespace
- * @return String property value
+ * @return NodeProperty object or <code>null</code> if the property
+ * is not defined on this node.
*/
public NodeProperty getProperty(String name, String namespace) {
return getProperty(PropertyName.getPropertyName(name, namespace));
}
+ /**
+ * Property accessor.
+ * @param name properties name
+ * @return NodeProperty object or <code>null</code> if the property
+ * is not defined on this node.
+ */
public NodeProperty getProperty(PropertyName name) {
return (NodeProperty)properties.get(name);
}
@@ -597,19 +603,9 @@
* substring
*/
public boolean propertyValueContains( String name, String substr ) {
- boolean result = false;
- NodeProperty p = getProperty( name );
-
- if( p != null ) {
- Object v = p.getValue();
- if( v instanceof String && ((String)v).indexOf(substr) >= 0 )
- result = true;
- }
-
- return result;
+ return propertyValueContains(PropertyName.getPropertyName(name),
substr);
}
-
/**
* Checks whether the value of the given property contains the specified
* substring.
@@ -621,19 +617,22 @@
* substring
*/
public boolean propertyValueContains( String name, String namespace,
String substr ) {
- boolean result = false;
- NodeProperty p = getProperty( name, namespace );
+ return propertyValueContains(PropertyName.getPropertyName(name,
namespace), substr);
+ }
+
+ public boolean propertyValueContains(PropertyName name, String substr ) {
+ NodeProperty p = getProperty(name);
if( p != null ) {
Object v = p.getValue();
- if( v instanceof String && ((String)v).indexOf(substr) >= 0 )
- result = true;
+ if( v instanceof String && ((String)v).indexOf(substr) >= 0 ) {
+ return true;
+ }
}
- return result;
+ return false;
}
-
/**
* Name accessor.
*
@@ -1118,7 +1117,7 @@
* @return String
*/
public String getRefTarget() {
- NodeProperty refTarget = getProperty(REFTARGET);
+ NodeProperty refTarget = getProperty(PropertyName.REFTARGET);
if (refTarget == null) {
return new String();
} else {
@@ -1133,7 +1132,7 @@
* @param refTarget New RefTarget
*/
public void setRefTarget(String refTarget) {
- setProperty(REFTARGET, refTarget); // live property, can not be
modified
+ setProperty(PropertyName.REFTARGET, refTarget); // live property,
can not be modified
}
@@ -1143,7 +1142,7 @@
* @return redirect lifetime or <code>null</code>.
*/
public String getRedirectLifetime() {
- NodeProperty redirectLifetime = getProperty(REDIRECT_LIFETIME);
+ NodeProperty redirectLifetime =
getProperty(PropertyName.REDIRECT_LIFETIME);
if (redirectLifetime == null) {
return new String();
} else {
@@ -1158,7 +1157,7 @@
* @param redirectLifetime New RedirectLifetime
*/
public void setRedirectLifetime(String redirectLifetime) {
- setProperty(REDIRECT_LIFETIME, redirectLifetime); // live property,
can not be modified
+ setProperty(PropertyName.REDIRECT_LIFETIME, redirectLifetime); //
live property, can not be modified
}
@@ -1169,12 +1168,11 @@
while (defaultProperties.hasMoreElements()) {
NodeProperty currentProperty =
(NodeProperty) defaultProperties.nextElement();
- String name = currentProperty.getName();
- String namespace = currentProperty.getNamespace();
- NodeProperty lookup = getProperty(name, namespace);
+ NodeProperty lookup =
getProperty(currentProperty.getPropertyName());
if (lookup == null) {
// Adding property
- setProperty(name, namespace, currentProperty.getValue());
+ setProperty(currentProperty.getPropertyName(),
+ currentProperty.getValue());
}
}
}
@@ -1189,7 +1187,7 @@
// setName("");
// By default, a resource is a collection
setResourceType(COLLECTION_TYPE);
- setProperty(SOURCE, ""); // live property, can not be modified
+ setProperty(PropertyName.SOURCE, ""); // live property, can not be
modified
// Collection content lengths are usually 0, and should be
non-negative
// to support WebFolders, but we use -1 internally to indicate an
unset
// content length.
1.7 +6 -8
jakarta-slide/src/share/org/apache/slide/extractor/PropertyExtractorTrigger.java
Index: PropertyExtractorTrigger.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/extractor/PropertyExtractorTrigger.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- PropertyExtractorTrigger.java 29 Sep 2004 15:28:06 -0000 1.6
+++ PropertyExtractorTrigger.java 21 Dec 2004 16:12:44 -0000 1.7
@@ -57,12 +57,10 @@
Map.Entry entry = (Map.Entry) j.next();
final Object key = entry.getKey();
if (key instanceof PropertyName) {
- final String name = ((PropertyName)
key).getName();
- final String namespace = ((PropertyName)
key).getNamespace();
- descriptor.setProperty(name, namespace,
entry.getValue());
+ descriptor.setProperty(((PropertyName)key),
entry.getValue());
}
else {
- descriptor.setProperty((String) entry.getKey(),
entry.getValue());
+ descriptor.setProperty((String)entry.getKey(),
entry.getValue());
}
}
}
1.15 +5 -5
jakarta-slide/src/share/org/apache/slide/search/basic/ComparableResourceImpl.java
Index: ComparableResourceImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/search/basic/ComparableResourceImpl.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- ComparableResourceImpl.java 29 Nov 2004 18:48:46 -0000 1.14
+++ ComparableResourceImpl.java 21 Dec 2004 16:12:44 -0000 1.15
@@ -417,7 +417,7 @@
if (revisionDescriptor == null)
return true;
- NodeProperty property =
revisionDescriptor.getProperty("resourcetype");
+ NodeProperty property =
revisionDescriptor.getProperty(PropertyName.RESOURCE_TYPE);
if ((property != null)
&&
(property.getValue().equals(NodeRevisionDescriptor.COLLECTION_TYPE))) {
1.14 +8 -7
jakarta-slide/src/share/org/apache/slide/security/ACLSecurityImpl.java
Index: ACLSecurityImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/security/ACLSecurityImpl.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- ACLSecurityImpl.java 3 Dec 2004 23:14:42 -0000 1.13
+++ ACLSecurityImpl.java 21 Dec 2004 16:12:44 -0000 1.14
@@ -27,6 +27,7 @@
import java.util.Vector;
import org.apache.slide.common.Namespace;
import org.apache.slide.common.NamespaceConfig;
+import org.apache.slide.common.PropertyName;
import org.apache.slide.common.ServiceAccessException;
import org.apache.slide.common.SlideToken;
import org.apache.slide.common.Uri;
@@ -250,7 +251,7 @@
try {
NodeRevisionDescriptor nrd =
roleUri.getStore().retrieveRevisionDescriptor(roleUri, new
NodeRevisionNumber());
- NodeProperty membersetProp =
nrd.getProperty("group-member-set");
+ NodeProperty membersetProp =
nrd.getProperty(GROUP_MEMBER_SET);
if (membersetProp != null &&
membersetProp.getValue() != null) {
XMLValue xmlVal = new
XMLValue((String)membersetProp.getValue());
List memberNodes = xmlVal.getHrefNodes();
@@ -279,7 +280,7 @@
try {
NodeRevisionDescriptor nrd =
roleUri.getStore().retrieveRevisionDescriptor(roleUri, new
NodeRevisionNumber());
- NodeProperty membersetProp =
nrd.getProperty("group-member-set");
+ NodeProperty membersetProp =
nrd.getProperty(GROUP_MEMBER_SET);
if (membersetProp != null &&
membersetProp.getValue() != null) {
XMLValue xmlVal = new
XMLValue((String)membersetProp.getValue());
List memberNodes = xmlVal.getHrefNodes();
@@ -352,7 +353,7 @@
try {
NodeRevisionDescriptor nrd =
objectUri.getStore().retrieveRevisionDescriptor(objectUri,
new NodeRevisionNumber());
- NodeProperty ownerProp = nrd.getProperty("owner");
+ NodeProperty ownerProp = nrd.getProperty(PropertyName.OWNER);
if (ownerProp != null && ownerProp.getValue() != null) {
String usersPath = namespace.getConfig().getUsersPath();
SubjectNode ownerSubject =
SubjectNode.getSubjectNode(usersPath+"/"+ownerProp.getValue());
1.62 +15 -10
jakarta-slide/src/share/org/apache/slide/security/SecurityImpl.java
Index: SecurityImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/security/SecurityImpl.java,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -r1.61 -r1.62
--- SecurityImpl.java 15 Dec 2004 16:45:02 -0000 1.61
+++ SecurityImpl.java 21 Dec 2004 16:12:44 -0000 1.62
@@ -38,6 +38,7 @@
import java.util.Vector;
import org.apache.slide.common.Namespace;
import org.apache.slide.common.NamespaceConfig;
+import org.apache.slide.common.PropertyName;
import org.apache.slide.common.ServiceAccessException;
import org.apache.slide.common.SlideException;
import org.apache.slide.common.SlideToken;
@@ -70,8 +71,12 @@
public class SecurityImpl implements Security {
private static final String LOG_CHANNEL = SecurityImpl.class.getName();
- private static final String PRIVILEGE_MEMBER_SET =
"privilege-member-set";
- private static final String PRIVILEGE_NAMESPACE = "privilege-namespace";
+ private static final PropertyName PRIVILEGE_MEMBER_SET =
+ PropertyName.getPropertyName("privilege-member-set");
+ private static final PropertyName PRIVILEGE_NAMESPACE =
+ PropertyName.getPropertyName("privilege-namespace");
+ protected static final PropertyName GROUP_MEMBER_SET =
+ PropertyName.getPropertyName("group-member-set");
protected Logger logger;
@@ -1039,7 +1044,7 @@
initialRevision, workingRevisions,
latestRevisionNumbers, branches, isVersioned);
NodeRevisionDescriptor revisionDescriptor = new
NodeRevisionDescriptor(initialRevision,
- NodeRevisionDescriptors.MAIN_BRANCH, new
Vector(), new Hashtable());
+ NodeRevisionDescriptors.MAIN_BRANCH);
subjectUri.getStore().createRevisionDescriptors(subjectUri,
revisionDescriptors);
subjectUri.getStore().createRevisionDescriptor(subjectUri, revisionDescriptor);
@@ -1097,7 +1102,7 @@
Uri uri = security.namespace.getUri(token, uriAsString);
NodeRevisionNumber latestRevisionNumber =
aNodeUri.getStore().retrieveRevisionDescriptors(uri).getLatestRevision();
if (latestRevisionNumber != null) {
- NodeProperty privilegeNamespace =
aNodeUri.getStore().retrieveRevisionDescriptor(uri,
latestRevisionNumber).getProperty(PRIVILEGE_NAMESPACE, "DAV:");
+ NodeProperty privilegeNamespace =
aNodeUri.getStore().retrieveRevisionDescriptor(uri,
latestRevisionNumber).getProperty(PRIVILEGE_NAMESPACE);
org.jdom.Namespace namespace = null;
if (privilegeNamespace != null &&
privilegeNamespace.getValue() instanceof String) {
namespace = org.jdom.Namespace.getNamespace((String)
privilegeNamespace.getValue());
@@ -1181,7 +1186,7 @@
try {
NodeRevisionDescriptor nrd =
groupUri.getStore().retrieveRevisionDescriptor(groupUri,
new NodeRevisionNumber());
- NodeProperty membersetProp =
nrd.getProperty("group-member-set");
+ NodeProperty membersetProp =
nrd.getProperty(GROUP_MEMBER_SET);
if (membersetProp != null && membersetProp.getValue() !=
null) {
XMLValue xmlVal = new
XMLValue((String)membersetProp.getValue());
List memberNodes = xmlVal.getHrefNodes();
@@ -1384,7 +1389,7 @@
security.logger.log("Adding action " + oNode.getUri() +
" to action aggregation", LOG_CHANNEL, Logger.DEBUG);
}
NodeRevisionNumber latestRevisionNumber =
security.namespace.getStore(aNodeUri.getScope()).retrieveRevisionDescriptors(aNodeUri).getLatestRevision();
- NodeProperty privilegeNamespace =
security.namespace.getStore(aNodeUri.getScope()).retrieveRevisionDescriptor(aNodeUri,
latestRevisionNumber).getProperty(PRIVILEGE_NAMESPACE, "DAV:");
+ NodeProperty privilegeNamespace =
security.namespace.getStore(aNodeUri.getScope()).retrieveRevisionDescriptor(aNodeUri,
latestRevisionNumber).getProperty(PRIVILEGE_NAMESPACE);
ActionNode aNode;
org.jdom.Namespace actionNamespace;
if (privilegeNamespace != null &&
privilegeNamespace.getValue() instanceof String) {
1.8 +16 -10
jakarta-slide/src/share/org/apache/slide/store/BindingStore.java
Index: BindingStore.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/store/BindingStore.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- BindingStore.java 26 Nov 2004 23:37:42 -0000 1.7
+++ BindingStore.java 21 Dec 2004 16:12:44 -0000 1.8
@@ -25,6 +25,8 @@
import java.util.Enumeration;
import java.util.Vector;
+
+import org.apache.slide.common.PropertyName;
import org.apache.slide.common.ServiceAccessException;
import org.apache.slide.common.Uri;
import org.apache.slide.common.UriPath;
@@ -56,6 +58,10 @@
* @version $Revision$
*/
public class BindingStore extends ExtendedStore {
+ private static PropertyName RESOURCE_ID =
+ PropertyName.getPropertyName("resource-id");
+ private static PropertyName PARENT_SET =
+ PropertyName.getPropertyName("parent-set");
// overwrites inherited
public ObjectNode retrieveObject(Uri uri)
@@ -401,8 +407,8 @@
ObjectNode objectNode = doRetrieveObjectNode(uri);
ResourceId resourceId = obtainResourceId(uri);
NodeRevisionDescriptor nrd =
resourceId.getStore().retrieveRevisionDescriptor(resourceId, revisionNumber);
- nrd.setProperty("resource-id", resourceId.asXml());
- nrd.setProperty("parent-set", getXmlParentSet(uri,
objectNode));
+ nrd.setProperty(RESOURCE_ID, resourceId.asXml());
+ nrd.setProperty(PARENT_SET, getXmlParentSet(uri,
objectNode));
return nrd;
}
catch (ObjectNotFoundException e) {
@@ -474,8 +480,8 @@
}
else {
try {
- revisionDescriptor.removeProperty("resource-id");
- revisionDescriptor.removeProperty("parent-set");
+ revisionDescriptor.removeProperty(RESOURCE_ID);
+ revisionDescriptor.removeProperty(PARENT_SET);
ResourceId resourceId = obtainResourceId(uri);
resourceId.getStore().createRevisionDescriptor(resourceId,
revisionDescriptor);
}
@@ -495,8 +501,8 @@
}
else {
try {
- revisionDescriptor.removeProperty("resource-id");
- revisionDescriptor.removeProperty("parent-set");
+ revisionDescriptor.removeProperty(RESOURCE_ID);
+ revisionDescriptor.removeProperty(PARENT_SET);
ResourceId resourceId = obtainResourceId(uri);
resourceId.getStore().storeRevisionDescriptor(resourceId,
revisionDescriptor);
}
1.28 +5 -5
jakarta-slide/src/share/org/apache/slide/store/ExtendedStore.java
Index: ExtendedStore.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/store/ExtendedStore.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- ExtendedStore.java 15 Dec 2004 01:01:22 -0000 1.27
+++ ExtendedStore.java 21 Dec 2004 16:12:44 -0000 1.28
@@ -1151,7 +1151,7 @@
LOG_CHANNEL, Logger.DEBUG);
}
- Xid txId = (Xid) XidWrapper.wrap(xid);
+ Xid txId = XidWrapper.wrap(xid);
activeTransactionBranch.set(txId);
if (flags == TMNOFLAGS || flags == TMJOIN) {
objectsCache.getTxCache().start(txId);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]