Author: tripod
Date: Tue Apr 12 00:32:29 2011
New Revision: 1091263
URL: http://svn.apache.org/viewvc?rev=1091263&view=rev
Log:
JCR-2940 PrivilegeDefinition should implement equals and hashcode
Added:
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/commons/privilege/
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/java/org/apache/jackrabbit/commons/privilege/PrivilegeHandlerTest.java
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/resources/
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/resources/org/
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/resources/org/apache/
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/resources/org/apache/jackrabbit/
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/resources/org/apache/jackrabbit/commons/
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/resources/org/apache/jackrabbit/commons/privilege/
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/resources/org/apache/jackrabbit/commons/privilege/readtest.xml
jackrabbit/trunk/jackrabbit-jcr-commons/src/test/resources/org/apache/jackrabbit/commons/privilege/writetest.xml
Modified:
jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/privilege/PrivilegeDefinition.java
jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/privilege/PrivilegeXmlHandler.java
Modified: jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/privilege/PrivilegeDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/privilege/PrivilegeDefinition.java?rev=1091263&r1=1091262&r2=1091263&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/privilege/PrivilegeDefinition.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/privilege/PrivilegeDefinition.java Tue Apr 12 00:32:29 2011
@@ -16,10 +16,13 @@
*/
package org.apache.jackrabbit.commons.privilege;
+import java.util.Arrays;
+
/**
* PrivilegeDefinition
*/
public class PrivilegeDefinition {
+
private final String name;
private final boolean isAbstract;
private final String[] declaredAggregateNames;
@@ -27,7 +30,7 @@ public class PrivilegeDefinition {
public PrivilegeDefinition(String name, boolean isAbstract, String[] declaredAggregateNames) {
this.name = name;
this.isAbstract = isAbstract;
- this.declaredAggregateNames = declaredAggregateNames;
+ this.declaredAggregateNames = declaredAggregateNames == null ? new String[0] : declaredAggregateNames;
}
public String getName() {
@@ -41,4 +44,26 @@ public class PrivilegeDefinition {
public String[] getDeclaredAggregateNames() {
return declaredAggregateNames;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ PrivilegeDefinition that = (PrivilegeDefinition) o;
+
+ if (isAbstract != that.isAbstract) return false;
+ if (!Arrays.equals(declaredAggregateNames, that.declaredAggregateNames)) return false;
+ if (name != null ? !name.equals(that.name) : that.name != null) return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = name != null ? name.hashCode() : 0;
+ result = 31 * result + (isAbstract ? 1 : 0);
+ result = 31 * result + (declaredAggregateNames != null ? Arrays.hashCode(declaredAggregateNames) : 0);
+ return result;
+ }
}
\ No newline at end of file
Modified: jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/privilege/PrivilegeXmlHandler.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/privilege/PrivilegeXmlHandler.java?rev=1091263&r1=1091262&r2=1091263&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/privilege/PrivilegeXmlHandler.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/privilege/PrivilegeXmlHandler.java Tue Apr 12 00:32:29 2011
@@ -28,6 +28,7 @@ import org.xml.sax.helpers.DefaultHandle
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
@@ -39,8 +40,21 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
+
/**
- * PrivilegeXmlHandler
+ * The PrivilegeXmlHandler loads and stores privilege definitions from a XML document using the
+ * following format:
+ *
PrivilegeReadTest...
+ */
+public class PrivilegeHandlerTest extends TestCase {
+
+ /*
+