b09311
From 3258e4276bd13f3c9cd45ddf416e77b9732f079a Mon Sep 17 00:00:00 2001
b09311
From: "Endi S. Dewata" <edewata@redhat.com>
b09311
Date: Mon, 2 Oct 2017 17:44:02 +0200
b09311
Subject: [PATCH] Added getter methods for JDAPFilter classes.
b09311
b09311
Some JDAPFilter classes have been modified to provide getter
b09311
methods to access the elements of parsed LDAP filters.
b09311
b09311
Eclipse project files have been added to simplify development
b09311
using Eclipse.
b09311
b09311
The LDAPUrl has been modified to fix complie error in Eclipse.
b09311
b09311
Some unused import statements have been removed as well.
b09311
b09311
https://bugzilla.mozilla.org/show_bug.cgi?id=1376300
b09311
---
b09311
 .classpath                                         | 11 +++++
b09311
 .project                                           | 17 ++++++++
b09311
 java-sdk/ietfldap/org/ietf/ldap/LDAPUrl.java       |  2 +-
b09311
 java-sdk/ldapjdk/netscape/ldap/client/JDAPAVA.java |  2 -
b09311
 .../netscape/ldap/client/JDAPBERTagDecoder.java    |  1 -
b09311
 .../ldapjdk/netscape/ldap/client/JDAPFilter.java   |  1 -
b09311
 .../netscape/ldap/client/JDAPFilterAVA.java        |  2 -
b09311
 .../netscape/ldap/client/JDAPFilterAnd.java        |  2 -
b09311
 .../ldap/client/JDAPFilterApproxMatch.java         |  2 -
b09311
 .../ldap/client/JDAPFilterEqualityMatch.java       |  2 -
b09311
 .../netscape/ldap/client/JDAPFilterExtensible.java |  2 -
b09311
 .../ldap/client/JDAPFilterGreaterOrEqual.java      |  2 -
b09311
 .../ldap/client/JDAPFilterLessOrEqual.java         |  2 -
b09311
 .../netscape/ldap/client/JDAPFilterNot.java        | 12 ++++--
b09311
 .../ldapjdk/netscape/ldap/client/JDAPFilterOr.java |  4 +-
b09311
 .../netscape/ldap/client/JDAPFilterPresent.java    | 10 ++++-
b09311
 .../netscape/ldap/client/JDAPFilterSet.java        | 10 ++++-
b09311
 .../netscape/ldap/client/JDAPFilterSubString.java  | 50 +++++++++++++++++++---
b09311
 18 files changed, 100 insertions(+), 34 deletions(-)
b09311
 create mode 100644 .classpath
b09311
 create mode 100644 .project
b09311
b09311
diff --git a/.classpath b/.classpath
b09311
new file mode 100644
b09311
index 0000000..426c9dd
b09311
--- /dev/null
b09311
+++ b/.classpath
b09311
@@ -0,0 +1,11 @@
b09311
+
b09311
+<classpath>
b09311
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
b09311
+	<classpathentry excluding="tools/" kind="src" path="java-sdk/ietfldap"/>
b09311
+	<classpathentry kind="src" path="java-sdk/ldapbeans"/>
b09311
+	<classpathentry kind="src" path="java-sdk/ldapfilter"/>
b09311
+	<classpathentry kind="src" path="java-sdk/ldapjdk"/>
b09311
+	<classpathentry kind="src" path="java-sdk/ldapsp"/>
b09311
+	<classpathentry kind="lib" path="/usr/lib/java/jss4.jar"/>
b09311
+	<classpathentry kind="output" path="bin"/>
b09311
+</classpath>
b09311
diff --git a/.project b/.project
b09311
new file mode 100644
b09311
index 0000000..b6607c7
b09311
--- /dev/null
b09311
+++ b/.project
b09311
@@ -0,0 +1,17 @@
b09311
+
b09311
+<projectDescription>
b09311
+	<name>ldap-sdks</name>
b09311
+	<comment></comment>
b09311
+	<projects>
b09311
+	</projects>
b09311
+	<buildSpec>
b09311
+		<buildCommand>
b09311
+			<name>org.eclipse.jdt.core.javabuilder</name>
b09311
+			<arguments>
b09311
+			</arguments>
b09311
+		</buildCommand>
b09311
+	</buildSpec>
b09311
+	<natures>
b09311
+		<nature>org.eclipse.jdt.core.javanature</nature>
b09311
+	</natures>
b09311
+</projectDescription>
b09311
diff --git a/java-sdk/ietfldap/org/ietf/ldap/LDAPUrl.java b/java-sdk/ietfldap/org/ietf/ldap/LDAPUrl.java
b09311
index 5fcd70e..fd808de 100644
b09311
--- a/java-sdk/ietfldap/org/ietf/ldap/LDAPUrl.java
b09311
+++ b/java-sdk/ietfldap/org/ietf/ldap/LDAPUrl.java
b09311
@@ -383,7 +383,7 @@ public class LDAPUrl implements java.io.Serializable {
b09311
 
b09311
             try {
b09311
                 // then try Sun JSSESocketFactory
b09311
-                _factory = new JSSESocketFactory(null);
b09311
+                _factory = new JSSESocketFactory((String[])null);
b09311
             }
b09311
             catch (Throwable e) {
b09311
             }
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPAVA.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPAVA.java
b09311
index 6d16bd4..2cc4d76 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPAVA.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPAVA.java
b09311
@@ -37,8 +37,6 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
-import java.io.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
 
b09311
 /**
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPBERTagDecoder.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPBERTagDecoder.java
b09311
index 94b69ca..5b87223 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPBERTagDecoder.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPBERTagDecoder.java
b09311
@@ -37,7 +37,6 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
 import java.io.*;
b09311
 
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilter.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilter.java
b09311
index 366d49d..0e16fff 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilter.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilter.java
b09311
@@ -39,7 +39,6 @@ package netscape.ldap.client;
b09311
 
b09311
 import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the filter.
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterAVA.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterAVA.java
b09311
index bf80dbe..d31785d 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterAVA.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterAVA.java
b09311
@@ -37,9 +37,7 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the attribute value assertion filter.
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterAnd.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterAnd.java
b09311
index 0a47917..f780cfb 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterAnd.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterAnd.java
b09311
@@ -37,9 +37,7 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the filter And.
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterApproxMatch.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterApproxMatch.java
b09311
index 747f5ed..91ca4a0 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterApproxMatch.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterApproxMatch.java
b09311
@@ -37,9 +37,7 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the approximate match filter.
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterEqualityMatch.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterEqualityMatch.java
b09311
index c6e0bfe..6d891eb 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterEqualityMatch.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterEqualityMatch.java
b09311
@@ -37,9 +37,7 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the equality match filter.
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterExtensible.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterExtensible.java
b09311
index 2e83117..04c9710 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterExtensible.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterExtensible.java
b09311
@@ -37,9 +37,7 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the extended match filter.
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterGreaterOrEqual.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterGreaterOrEqual.java
b09311
index cbf066f..8aa7878 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterGreaterOrEqual.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterGreaterOrEqual.java
b09311
@@ -37,9 +37,7 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the greater or equal filter.
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterLessOrEqual.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterLessOrEqual.java
b09311
index 8368ad3..7b1b434 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterLessOrEqual.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterLessOrEqual.java
b09311
@@ -37,9 +37,7 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the less or equal filter.
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterNot.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterNot.java
b09311
index 4aabd66..e25ea14 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterNot.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterNot.java
b09311
@@ -37,9 +37,7 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the filter not.
b09311
@@ -66,6 +64,14 @@ public class JDAPFilterNot extends JDAPFilter {
b09311
     }
b09311
 
b09311
     /**
b09311
+     * Gets original filter.
b09311
+     * @return original filter
b09311
+     */
b09311
+    public JDAPFilter getFilter() {
b09311
+    	return m_filter;
b09311
+    }
b09311
+
b09311
+    /**
b09311
      * Gets ber representation of the filter.
b09311
      * @return ber representation
b09311
      */
b09311
@@ -76,7 +82,7 @@ public class JDAPFilterNot extends JDAPFilter {
b09311
     }
b09311
 
b09311
     /**
b09311
-     * Gets string reprensetation of the filter.
b09311
+     * Gets string representation of the filter.
b09311
      * @return string representation
b09311
      */
b09311
     public String toString() {
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterOr.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterOr.java
b09311
index 430760f..d624f01 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterOr.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterOr.java
b09311
@@ -37,9 +37,7 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the filter And.
b09311
@@ -59,7 +57,7 @@ public class JDAPFilterOr extends JDAPFilterSet {
b09311
     }
b09311
 
b09311
     /**
b09311
-     * Gets string reprensetation of the filter.
b09311
+     * Gets string representation of the filter.
b09311
      * @return string representation
b09311
      */
b09311
     public String toString() {
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterPresent.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterPresent.java
b09311
index db408a2..796e14e 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterPresent.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterPresent.java
b09311
@@ -37,9 +37,7 @@
b09311
  * ***** END LICENSE BLOCK ***** */
b09311
 package netscape.ldap.client;
b09311
 
b09311
-import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the filter present.
b09311
@@ -66,6 +64,14 @@ public class JDAPFilterPresent extends JDAPFilter {
b09311
     }
b09311
 
b09311
     /**
b09311
+     * Gets attribute type.
b09311
+     * @return attribute type
b09311
+     */
b09311
+    public String getType() {
b09311
+    	return m_type;
b09311
+    }
b09311
+
b09311
+    /**
b09311
      * Gets ber representation of the filter.
b09311
      * @return ber representation
b09311
      */
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterSet.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterSet.java
b09311
index 72a0098..5f5a71e 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterSet.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterSet.java
b09311
@@ -51,7 +51,7 @@ public abstract class JDAPFilterSet extends JDAPFilter {
b09311
      * Internal variables
b09311
      */
b09311
     private int m_tag;
b09311
-    private Vector m_set = new Vector();
b09311
+    private Vector<JDAPFilter> m_set = new Vector<>();
b09311
 
b09311
     /**
b09311
      * Constructs the filter set.
b09311
@@ -63,6 +63,14 @@ public abstract class JDAPFilterSet extends JDAPFilter {
b09311
     }
b09311
 
b09311
     /**
b09311
+     * Gets the filter set.
b09311
+     * @return filter set
b09311
+     */
b09311
+     public Collection<JDAPFilter> getFilters() {
b09311
+    	 return m_set;
b09311
+     }
b09311
+
b09311
+    /**
b09311
      * Adds filter into the filter set.
b09311
      * @param filter adding filter
b09311
      */
b09311
diff --git a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterSubString.java b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterSubString.java
b09311
index 129a8ec..b660082 100644
b09311
--- a/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterSubString.java
b09311
+++ b/java-sdk/ldapjdk/netscape/ldap/client/JDAPFilterSubString.java
b09311
@@ -39,11 +39,10 @@ package netscape.ldap.client;
b09311
 
b09311
 import java.util.*;
b09311
 import netscape.ldap.ber.stream.*;
b09311
-import java.io.*;
b09311
 
b09311
 /**
b09311
  * This class implements the filter substring.
b09311
- * See RFC 1777.
b09311
+ * See RFC 1777 and 2254.
b09311
  * 
b09311
  * [4] SEQUENCE {
b09311
  *   type AttributeType,
b09311
@@ -52,7 +51,12 @@ import java.io.*;
b09311
  *     any [1] LDAPString,
b09311
  *     final [2] LDAPString
b09311
  *   }
b09311
- *     }
b09311
+ * }
b09311
+ *
b09311
+ * substring  = attr "=" [initial] any [final]
b09311
+ * initial    = value
b09311
+ * any        = "*" *(value "*")
b09311
+ * final      = value
b09311
  * 
b09311
  *
b09311
  * @version 1.0
b09311
@@ -62,9 +66,9 @@ public class JDAPFilterSubString extends JDAPFilter {
b09311
      * Internal variables
b09311
      */
b09311
     private String m_type = null;
b09311
-    private Vector m_initial = new Vector();
b09311
-    private Vector m_any = new Vector();
b09311
-    private Vector m_final = new Vector();
b09311
+    private Vector<String> m_initial = new Vector<>();
b09311
+    private Vector<String> m_any = new Vector<>();
b09311
+    private Vector<String> m_final = new Vector<>();
b09311
 
b09311
     /**
b09311
      * Constructs the filter.
b09311
@@ -76,6 +80,23 @@ public class JDAPFilterSubString extends JDAPFilter {
b09311
     }
b09311
 
b09311
     /**
b09311
+     * Get attribute type.
b09311
+     * @return attribute type
b09311
+     */
b09311
+    public String getType() {
b09311
+    	return m_type;
b09311
+    }
b09311
+
b09311
+    /**
b09311
+     * Get initial substring.
b09311
+     * @return initial substring.
b09311
+     */
b09311
+    public String getInitialSubstring() {
b09311
+    	// RFC 2254: there is only one optional initial substring
b09311
+    	return m_initial.isEmpty() ? null : m_initial.get(0);
b09311
+    }
b09311
+
b09311
+    /**
b09311
      * Adds initial substring.
b09311
      * @param s initial substring
b09311
      */
b09311
@@ -84,6 +105,14 @@ public class JDAPFilterSubString extends JDAPFilter {
b09311
     }
b09311
 
b09311
     /**
b09311
+     * Get any substrings.
b09311
+     * @return any substrings.
b09311
+     */
b09311
+    public Collection<String> getAnySubstrings() {
b09311
+    	return m_any;
b09311
+    }
b09311
+
b09311
+    /**
b09311
      * Adds any substring.
b09311
      * @param s any substring
b09311
      */
b09311
@@ -92,6 +121,15 @@ public class JDAPFilterSubString extends JDAPFilter {
b09311
     }
b09311
 
b09311
     /**
b09311
+     * Get final substring.
b09311
+     * @return final substring.
b09311
+     */
b09311
+    public String getFinalSubstring() {
b09311
+    	// RFC 2254: there is only one optional final substring
b09311
+    	return m_final.isEmpty() ? null : m_final.get(0);
b09311
+    }
b09311
+
b09311
+    /**
b09311
      * Adds final substring.
b09311
      * @param s final substring
b09311
      */
b09311
-- 
b09311
2.13.6
b09311