| sdk/src/org/opends/sdk/AbstractEntry.java | ●●●●● patch | view | raw | blame | history | |
| sdk/src/org/opends/sdk/Attributes.java | ●●●●● patch | view | raw | blame | history | |
| sdk/src/org/opends/sdk/Entries.java | ●●●●● patch | view | raw | blame | history | |
| sdk/src/org/opends/sdk/controls/PostReadResponseControl.java | ●●●●● patch | view | raw | blame | history | |
| sdk/src/org/opends/sdk/controls/PreReadResponseControl.java | ●●●●● patch | view | raw | blame | history | |
| sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java | ●●●●● patch | view | raw | blame | history | |
| sdk/tests/unit-tests-testng/src/org/opends/sdk/TypesTestCase.java | ●●●●● patch | view | raw | blame | history |
sdk/src/org/opends/sdk/AbstractEntry.java
@@ -22,7 +22,7 @@ * CDDL HEADER END * * * Copyright 2009 Sun Microsystems, Inc. * Copyright 2009-2010 Sun Microsystems, Inc. */ package org.opends.sdk; @@ -311,7 +311,8 @@ public boolean removeAttribute(final AttributeDescription attributeDescription) throws UnsupportedOperationException, NullPointerException { return removeAttribute(Types.emptyAttribute(attributeDescription), null); return removeAttribute( Attributes.emptyAttribute(attributeDescription), null); } sdk/src/org/opends/sdk/Attributes.java
File was renamed from sdk/src/org/opends/sdk/Types.java @@ -22,7 +22,7 @@ * CDDL HEADER END * * * Copyright 2009 Sun Microsystems, Inc. * Copyright 2010 Sun Microsystems, Inc. */ package org.opends.sdk; @@ -35,18 +35,15 @@ import org.opends.sdk.schema.AttributeType; import com.sun.opends.sdk.util.Function; import com.sun.opends.sdk.util.Iterables; import com.sun.opends.sdk.util.Iterators; import com.sun.opends.sdk.util.Validator; /** * This class contains methods for creating and manipulating attributes, * entries, and other types of object. * This class contains methods for creating and manipulating attributes. */ public final class Types public final class Attributes { /** @@ -546,286 +543,6 @@ private static final class UnmodifiableEntry implements Entry { private final Entry entry; private UnmodifiableEntry(final Entry entry) { this.entry = entry; } /** * {@inheritDoc} */ public boolean addAttribute(final Attribute attribute) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public boolean addAttribute(final Attribute attribute, final Collection<ByteString> duplicateValues) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public Entry addAttribute(final String attributeDescription, final Object... values) throws LocalizedIllegalArgumentException, UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } public Entry clearAttributes() throws UnsupportedOperationException { throw new UnsupportedOperationException(); } public boolean containsAttribute(final Attribute attribute, final Collection<ByteString> missingValues) throws NullPointerException { return entry.containsAttribute(attribute, missingValues); } public boolean containsAttribute(final String attributeDescription, final Object... values) throws LocalizedIllegalArgumentException, NullPointerException { return entry.containsAttribute(attributeDescription, values); } /** * {@inheritDoc} */ @Override public boolean equals(final Object object) { return (object == this || entry.equals(object)); } public Iterable<Attribute> getAllAttributes() { return Iterables.unmodifiable(Iterables.transform(entry .getAllAttributes(), UNMODIFIABLE_ATTRIBUTE_FUNCTION)); } public Iterable<Attribute> getAllAttributes( final AttributeDescription attributeDescription) { return Iterables.unmodifiable(Iterables.transform(entry .getAllAttributes(attributeDescription), UNMODIFIABLE_ATTRIBUTE_FUNCTION)); } /** * {@inheritDoc} */ public Iterable<Attribute> getAllAttributes( final String attributeDescription) throws LocalizedIllegalArgumentException, NullPointerException { return Iterables.unmodifiable(Iterables.transform(entry .getAllAttributes(attributeDescription), UNMODIFIABLE_ATTRIBUTE_FUNCTION)); } public Attribute getAttribute( final AttributeDescription attributeDescription) { final Attribute attribute = entry.getAttribute(attributeDescription); if (attribute != null) { return unmodifiableAttribute(attribute); } else { return null; } } /** * {@inheritDoc} */ public Attribute getAttribute(final String attributeDescription) throws LocalizedIllegalArgumentException, NullPointerException { final Attribute attribute = entry.getAttribute(attributeDescription); if (attribute != null) { return unmodifiableAttribute(attribute); } else { return null; } } public int getAttributeCount() { return entry.getAttributeCount(); } /** * {@inheritDoc} */ public DN getName() { return entry.getName(); } /** * {@inheritDoc} */ @Override public int hashCode() { return entry.hashCode(); } /** * {@inheritDoc} */ public boolean removeAttribute(final Attribute attribute, final Collection<ByteString> missingValues) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } public boolean removeAttribute( final AttributeDescription attributeDescription) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public Entry removeAttribute(final String attributeDescription, final Object... values) throws LocalizedIllegalArgumentException, UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public boolean replaceAttribute(final Attribute attribute) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public Entry replaceAttribute(final String attributeDescription, final Object... values) throws LocalizedIllegalArgumentException, UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } public Entry setName(final DN dn) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public Entry setName(final String dn) throws LocalizedIllegalArgumentException, UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ @Override public String toString() { return entry.toString(); } } private static final Function<Attribute, Attribute, Void> UNMODIFIABLE_ATTRIBUTE_FUNCTION = new Function<Attribute, Attribute, Void>() { public Attribute apply(final Attribute value, final Void p) { return unmodifiableAttribute(value); } }; /** * Returns a read-only empty attribute having the specified attribute * description. @@ -902,29 +619,8 @@ /** * Returns a read-only view of {@code entry} and its attributes. Query * operations on the returned entry and its attributes"read-through" to the * underlying entry or attribute, and attempts to modify the returned entry * and its attributes either directly or indirectly via an iterator result in * an {@code UnsupportedOperationException}. * * @param entry * The entry for which a read-only view is to be returned. * @return A read-only view of {@code entry}. * @throws NullPointerException * If {@code entry} was {@code null}. */ public static final Entry unmodifiableEntry(final Entry entry) throws NullPointerException { return new UnmodifiableEntry(entry); } // Prevent instantiation. private Types() private Attributes() { // Nothing to do. } sdk/src/org/opends/sdk/Entries.java
New file @@ -0,0 +1,351 @@ /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Copyright 2010 Sun Microsystems, Inc. */ package org.opends.sdk; import java.util.Collection; import com.sun.opends.sdk.util.Function; import com.sun.opends.sdk.util.Iterables; /** * This class contains methods for creating and manipulating entries. */ public final class Entries { private static final class UnmodifiableEntry implements Entry { private final Entry entry; private UnmodifiableEntry(final Entry entry) { this.entry = entry; } /** * {@inheritDoc} */ public boolean addAttribute(final Attribute attribute) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public boolean addAttribute(final Attribute attribute, final Collection<ByteString> duplicateValues) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public Entry addAttribute(final String attributeDescription, final Object... values) throws LocalizedIllegalArgumentException, UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } public Entry clearAttributes() throws UnsupportedOperationException { throw new UnsupportedOperationException(); } public boolean containsAttribute(final Attribute attribute, final Collection<ByteString> missingValues) throws NullPointerException { return entry.containsAttribute(attribute, missingValues); } public boolean containsAttribute(final String attributeDescription, final Object... values) throws LocalizedIllegalArgumentException, NullPointerException { return entry.containsAttribute(attributeDescription, values); } /** * {@inheritDoc} */ @Override public boolean equals(final Object object) { return (object == this || entry.equals(object)); } public Iterable<Attribute> getAllAttributes() { return Iterables.unmodifiable(Iterables.transform(entry .getAllAttributes(), UNMODIFIABLE_ATTRIBUTE_FUNCTION)); } public Iterable<Attribute> getAllAttributes( final AttributeDescription attributeDescription) { return Iterables.unmodifiable(Iterables.transform(entry .getAllAttributes(attributeDescription), UNMODIFIABLE_ATTRIBUTE_FUNCTION)); } /** * {@inheritDoc} */ public Iterable<Attribute> getAllAttributes( final String attributeDescription) throws LocalizedIllegalArgumentException, NullPointerException { return Iterables.unmodifiable(Iterables.transform(entry .getAllAttributes(attributeDescription), UNMODIFIABLE_ATTRIBUTE_FUNCTION)); } public Attribute getAttribute( final AttributeDescription attributeDescription) { final Attribute attribute = entry.getAttribute(attributeDescription); if (attribute != null) { return Attributes.unmodifiableAttribute(attribute); } else { return null; } } /** * {@inheritDoc} */ public Attribute getAttribute(final String attributeDescription) throws LocalizedIllegalArgumentException, NullPointerException { final Attribute attribute = entry.getAttribute(attributeDescription); if (attribute != null) { return Attributes.unmodifiableAttribute(attribute); } else { return null; } } public int getAttributeCount() { return entry.getAttributeCount(); } /** * {@inheritDoc} */ public DN getName() { return entry.getName(); } /** * {@inheritDoc} */ @Override public int hashCode() { return entry.hashCode(); } /** * {@inheritDoc} */ public boolean removeAttribute(final Attribute attribute, final Collection<ByteString> missingValues) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } public boolean removeAttribute( final AttributeDescription attributeDescription) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public Entry removeAttribute(final String attributeDescription, final Object... values) throws LocalizedIllegalArgumentException, UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public boolean replaceAttribute(final Attribute attribute) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public Entry replaceAttribute(final String attributeDescription, final Object... values) throws LocalizedIllegalArgumentException, UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } public Entry setName(final DN dn) throws UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ public Entry setName(final String dn) throws LocalizedIllegalArgumentException, UnsupportedOperationException, NullPointerException { throw new UnsupportedOperationException(); } /** * {@inheritDoc} */ @Override public String toString() { return entry.toString(); } } private static final Function<Attribute, Attribute, Void> UNMODIFIABLE_ATTRIBUTE_FUNCTION = new Function<Attribute, Attribute, Void>() { public Attribute apply(final Attribute value, final Void p) { return Attributes.unmodifiableAttribute(value); } }; /** * Returns a read-only view of {@code entry} and its attributes. Query * operations on the returned entry and its attributes"read-through" to the * underlying entry or attribute, and attempts to modify the returned entry * and its attributes either directly or indirectly via an iterator result in * an {@code UnsupportedOperationException}. * * @param entry * The entry for which a read-only view is to be returned. * @return A read-only view of {@code entry}. * @throws NullPointerException * If {@code entry} was {@code null}. */ public static final Entry unmodifiableEntry(final Entry entry) throws NullPointerException { return new UnmodifiableEntry(entry); } // Prevent instantiation. private Entries() { // Nothing to do. } } sdk/src/org/opends/sdk/controls/PostReadResponseControl.java
@@ -22,7 +22,7 @@ * CDDL HEADER END * * * Copyright 2009 Sun Microsystems, Inc. * Copyright 2009-2010 Sun Microsystems, Inc. */ package org.opends.sdk.controls; @@ -121,7 +121,7 @@ * rather than an Entry. Can we assume that the response will not contain * a nested set of controls? */ return new PostReadResponseControl(control.isCritical(), Types return new PostReadResponseControl(control.isCritical(), Entries .unmodifiableEntry(searchEntry)); } @@ -155,7 +155,7 @@ * SearchResultEntry rather than an Entry. Can we assume that the response * will not contain a nested set of controls? */ return new PostReadResponseControl(false, Types.unmodifiableEntry(entry)); return new PostReadResponseControl(false, Entries.unmodifiableEntry(entry)); } sdk/src/org/opends/sdk/controls/PreReadResponseControl.java
@@ -22,7 +22,7 @@ * CDDL HEADER END * * * Copyright 2009 Sun Microsystems, Inc. * Copyright 2009-2010 Sun Microsystems, Inc. */ package org.opends.sdk.controls; @@ -121,7 +121,7 @@ * rather than an Entry. Can we assume that the response will not contain * a nested set of controls? */ return new PreReadResponseControl(control.isCritical(), Types return new PreReadResponseControl(control.isCritical(), Entries .unmodifiableEntry(searchEntry)); } @@ -155,7 +155,7 @@ * SearchResultEntry rather than an Entry. Can we assume that the response * will not contain a nested set of controls? */ return new PreReadResponseControl(false, Types.unmodifiableEntry(entry)); return new PreReadResponseControl(false, Entries.unmodifiableEntry(entry)); } sdk/tests/unit-tests-testng/src/org/opends/sdk/LDAPServer.java
@@ -157,7 +157,8 @@ private LDAPServer() { // Add the root dse first. entryMap.put(DN.rootDN(), Types.unmodifiableEntry(new LinkedHashMapEntry())); entryMap.put(DN.rootDN(), Entries.unmodifiableEntry(new LinkedHashMapEntry())); for (int i = 0; i < 1000; i++) { final String dn = String.format("uid=user.%d,ou=people,o=test", i); @@ -169,7 +170,7 @@ final Entry e = new LinkedHashMapEntry("dn: " + dn, "objectclass: person", "objectclass: inetorgperson", "objectclass: top", cn, sn, uid); entryMap.put(d, Types.unmodifiableEntry(e)); entryMap.put(d, Entries.unmodifiableEntry(e)); } } sdk/tests/unit-tests-testng/src/org/opends/sdk/TypesTestCase.java
@@ -87,10 +87,10 @@ Schema.getCoreSchema()); final AttributeDescription desc2 = AttributeDescription.valueOf(desc, Schema.getCoreSchema()); final Attribute attr1 = Types.emptyAttribute(desc1); final Attribute attr1 = Attributes.emptyAttribute(desc1); try { Types.renameAttribute(attr1, desc2); Attributes.renameAttribute(attr1, desc2); } catch (final Exception e) { @@ -114,7 +114,7 @@ { final AttributeDescription desc = AttributeDescription.valueOf(attrDesc, Schema.getCoreSchema()); final Attribute attr = Types.emptyAttribute(desc); final Attribute attr = Attributes.emptyAttribute(desc); assertTrue(attr.isEmpty()); } @@ -130,10 +130,10 @@ { final AttributeDescription desc = AttributeDescription.valueOf(attrDesc, Schema.getCoreSchema()); final Attribute attr = Types.emptyAttribute(desc); final Attribute attr = Attributes.emptyAttribute(desc); attr.add("test"); // should go through. // Make it unmodifiable. final Attribute attr1 = Types.unmodifiableAttribute(attr); final Attribute attr1 = Attributes.unmodifiableAttribute(attr); attr1.add("test"); } @@ -150,7 +150,7 @@ final Entry entry = new LinkedHashMapEntry("cn=test"); // add a value. entry.clearAttributes(); final Entry entry1 = Types.unmodifiableEntry(entry); final Entry entry1 = Entries.unmodifiableEntry(entry); entry1.clearAttributes(); } }