From 377b2709c64b32fe93905b466482216c2cc0581c Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 19 Mar 2014 16:30:32 +0000
Subject: [PATCH] OPENDJ-1368 (CR-3232) Remove AttributeValue
---
opendj3-server-dev/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProvider.java | 41 +++++++++++++++--------------------------
1 files changed, 15 insertions(+), 26 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProvider.java b/opendj3-server-dev/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProvider.java
index 628d5b8..88f714e 100644
--- a/opendj3-server-dev/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProvider.java
+++ b/opendj3-server-dev/src/server/org/opends/server/extensions/UserDefinedVirtualAttributeProvider.java
@@ -25,23 +25,18 @@
* Portions Copyright 2012-2014 ForgeRock AS
*/
package org.opends.server.extensions;
-import org.forgerock.i18n.LocalizableMessage;
-
-
-import java.util.Collections;
-import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.config.server.ConfigException;
+import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.server.UserDefinedVirtualAttributeCfg;
import org.opends.server.api.VirtualAttributeProvider;
-import org.forgerock.opendj.config.server.ConfigException;
import org.opends.server.core.SearchOperation;
import org.opends.server.types.*;
-import org.forgerock.opendj.ldap.ResultCode;
-
/**
* This class implements a virtual attribute provider that allows administrators
@@ -103,14 +98,11 @@
@Override()
public boolean isMultiValued()
{
- if (currentConfig == null)
+ if (currentConfig != null)
{
- return true;
+ return currentConfig.getValue().size() > 1;
}
- else
- {
- return (currentConfig.getValue().size() > 1);
- }
+ return true;
}
@@ -119,28 +111,23 @@
* {@inheritDoc}
*/
@Override()
- public Set<AttributeValue> getValues(Entry entry,
- VirtualAttributeRule rule)
+ public Attribute getValues(Entry entry, VirtualAttributeRule rule)
{
- AttributeType attributeType = rule.getAttributeType();
Set<String> userDefinedValues = currentConfig.getValue();
switch (userDefinedValues.size()) {
case 0:
- return Collections.emptySet();
+ return Attributes.empty(rule.getAttributeType());
case 1:
String valueString = userDefinedValues.iterator().next();
- AttributeValue value =
- AttributeValues.create(attributeType, valueString);
- return Collections.singleton(value);
+ return Attributes.create(rule.getAttributeType(), valueString);
default:
- HashSet<AttributeValue> values =
- new HashSet<AttributeValue>(userDefinedValues.size());
- for (String valueString2 : userDefinedValues)
+ AttributeBuilder builder = new AttributeBuilder(rule.getAttributeType());
+ for (String valueStr : userDefinedValues)
{
- values.add(AttributeValues.create(attributeType, valueString2));
+ builder.add(valueStr);
}
- return Collections.unmodifiableSet(values);
+ return builder.toAttribute();
}
}
@@ -176,6 +163,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public boolean isConfigurationChangeAcceptable(
UserDefinedVirtualAttributeCfg configuration,
List<LocalizableMessage> unacceptableReasons)
@@ -189,6 +177,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public ConfigChangeResult applyConfigurationChange(
UserDefinedVirtualAttributeCfg configuration)
{
--
Gitblit v1.10.0