From 7a573aef4c0df5e52534320f8b911e54349f7921 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 04 Aug 2016 15:02:41 +0000
Subject: [PATCH] Make CustomSearchResult closer to SDK's Entry
---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TableViewEntryPanel.java | 71 ++++++++++++++++-------------------
1 files changed, 32 insertions(+), 39 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TableViewEntryPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TableViewEntryPanel.java
index 43a1609..874f987 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TableViewEntryPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/TableViewEntryPanel.java
@@ -16,6 +16,7 @@
*/
package org.opends.guitools.controlpanel.ui;
+import static org.forgerock.opendj.ldap.schema.CoreSchema.*;
import static org.opends.messages.AdminToolMessages.*;
import java.awt.Component;
@@ -46,6 +47,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.AVA;
+import org.forgerock.opendj.ldap.Attribute;
import org.forgerock.opendj.ldap.AttributeDescription;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.DN;
@@ -421,7 +423,7 @@
{
int result;
int[] possibleResults = {
- desc1.attrName.compareTo(desc2.attrName),
+ desc1.attrDesc.compareTo(desc2.attrDesc),
compareValues(desc1.value, desc2.value)};
result = possibleResults[sortColumn];
if (result == 0)
@@ -512,7 +514,7 @@
public Object getValueAt(int row, int col)
{
AttributeValuePair attrValuePair = dataArray.get(row);
- return col == 0 ? attrValuePair.attrName : attrValuePair.value;
+ return col == 0 ? attrValuePair.attrDesc.toString() : attrValuePair.value;
}
@Override
@@ -565,7 +567,7 @@
public boolean isCellEditable(int row, int col) {
return col != 0
&& !isReadOnly
- && !schemaReadOnlyAttributesLowerCase.contains(dataArray.get(row).attrName.toLowerCase());
+ && !schemaReadOnlyAttributesLowerCase.contains(dataArray.get(row).attrDesc.toString().toLowerCase());
}
@Override
@@ -590,26 +592,26 @@
requiredAttrs.clear();
List<String> addedAttrs = new ArrayList<>();
Schema schema = getInfo().getServerDescriptor().getSchema();
- List<ByteString> ocs = null;
- for (String attrName : searchResult.getAttributeNames())
+ Attribute ocs = null;
+ for (Attribute attr : searchResult.getAllAttributes())
{
- if (ServerConstants.OBJECTCLASS_ATTRIBUTE_TYPE_NAME.equalsIgnoreCase(attrName))
+ AttributeDescription attrDesc = attr.getAttributeDescription();
+ if (attrDesc.equals(getObjectClassAttributeType()))
{
if (schema != null)
{
- ocs = searchResult.getAttributeValues(attrName);
+ ocs = attr;
ObjectClassValue ocValue = getObjectClassDescriptor(ocs, schema);
- allSortedValues.add(new AttributeValuePair(attrName, ocValue));
+ allSortedValues.add(new AttributeValuePair(attrDesc, ocValue));
}
}
else
{
- for (Object v : searchResult.getAttributeValues(attrName))
+ for (Object v : attr)
{
- allSortedValues.add(new AttributeValuePair(attrName, v));
+ allSortedValues.add(new AttributeValuePair(attrDesc, v));
}
}
- AttributeDescription attrDesc = AttributeDescription.valueOf(attrName);
addedAttrs.add(attrDesc.getNameOrOID().toLowerCase());
}
if (ocs != null && schema != null)
@@ -619,22 +621,20 @@
ObjectClass objectClass = schema.getObjectClass(oc.toString());
if (!objectClass.isPlaceHolder())
{
- for (AttributeType attr : objectClass.getRequiredAttributes())
+ for (AttributeType attrType : objectClass.getRequiredAttributes())
{
- String attrName = attr.getNameOrOID();
- String lowerCase = attrName.toLowerCase();
+ String lowerCase = attrType.getNameOrOID().toLowerCase();
if (!addedAttrs.contains(lowerCase))
{
- allSortedValues.add(newAttributeValuePair(attrName));
+ allSortedValues.add(newAttributeValuePair(AttributeDescription.create(attrType)));
}
requiredAttrs.add(lowerCase);
}
- for (AttributeType attr : objectClass.getOptionalAttributes())
+ for (AttributeType attrType : objectClass.getOptionalAttributes())
{
- String attrName = attr.getNameOrOID();
- if (!addedAttrs.contains(attrName.toLowerCase()))
+ if (!addedAttrs.contains(attrType.getNameOrOID().toLowerCase()))
{
- allSortedValues.add(newAttributeValuePair(attrName));
+ allSortedValues.add(newAttributeValuePair(AttributeDescription.create(attrType)));
}
}
}
@@ -652,15 +652,16 @@
renderer.setRequiredAttrs(requiredAttrs);
}
- private AttributeValuePair newAttributeValuePair(String attrName)
+ private AttributeValuePair newAttributeValuePair(AttributeDescription attrDesc)
{
+ String attrName = attrDesc.toString();
if (isBinary(attrName) || isPassword(attrName))
{
- return new AttributeValuePair(attrName, new byte[] {});
+ return new AttributeValuePair(attrDesc, new byte[] {});
}
else
{
- return new AttributeValuePair(attrName, "");
+ return new AttributeValuePair(attrDesc, "");
}
}
@@ -697,7 +698,7 @@
List<Object> values = new ArrayList<>();
for (AttributeValuePair valuePair : dataArray)
{
- if (valuePair.attrName.equalsIgnoreCase(attrName)
+ if (valuePair.attrDesc.equals(AttributeDescription.valueOf(attrName))
&& hasValue(valuePair))
{
if (valuePair.value instanceof Collection<?>)
@@ -762,12 +763,11 @@
}
for (AttributeValuePair currValue : allSortedValues)
{
- AttributeDescription attrDesc = AttributeDescription.valueOf(currValue.attrName);
- String attrNoOptions = attrDesc.getNameOrOID().toLowerCase();
+ String attrNoOptions = currValue.attrDesc.getNameOrOID().toLowerCase();
if (attributes.contains(attrNoOptions)
- && !schemaReadOnlyAttributesLowerCase.contains(currValue.attrName.toLowerCase()))
+ && !schemaReadOnlyAttributesLowerCase.contains(currValue.attrDesc.toString().toLowerCase()))
{
- setValues(newResult, currValue.attrName);
+ setValues(newResult, currValue.attrDesc.toString());
}
}
}
@@ -779,8 +779,7 @@
private boolean isRequired(AttributeValuePair value)
{
- AttributeDescription attrDesc = AttributeDescription.valueOf(value.attrName.toLowerCase());
- return requiredAttrs.contains(attrDesc.getNameOrOID());
+ return requiredAttrs.contains(value.attrDesc.getNameOrOID());
}
private boolean hasValue(AttributeValuePair value)
@@ -808,18 +807,12 @@
*/
private static class AttributeValuePair
{
- /** The attribute name. */
- private final String attrName;
- /** The value. */
+ private final AttributeDescription attrDesc;
private Object value;
- /**
- * Constructor.
- * @param attrName the attribute name.
- * @param value the value.
- */
- private AttributeValuePair(String attrName, Object value)
+
+ private AttributeValuePair(AttributeDescription attrDesc, Object value)
{
- this.attrName = attrName;
+ this.attrDesc = attrDesc;
this.value = value;
}
}
--
Gitblit v1.10.0