From 43a01cb8d6c368843baa014eb80be265bfe092e7 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Fri, 01 Jul 2016 13:46:08 +0000
Subject: [PATCH] OPENDJ-3038 Merge ServerSchemaElement class into SchemaUtils class
---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseSchemaPanel.java | 1
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/NewSchemaElementsTask.java | 4
/dev/null | 126 ---------------------
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java | 3
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java | 7
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java | 7
opendj-server-legacy/src/main/java/org/opends/server/util/SchemaUtils.java | 88 ++++++++++++++
opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java | 52 ++++----
opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java | 4
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/StandardObjectClassPanel.java | 7
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java | 12 +
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java | 8
12 files changed, 142 insertions(+), 177 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
index 2ae8d92..a91d1a1 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
@@ -16,6 +16,8 @@
*/
package org.opends.guitools.controlpanel.datamodel;
+import static org.opends.server.util.SchemaUtils.getElementDefinitionWithFileName;
+
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -38,7 +40,6 @@
import com.forgerock.opendj.util.OperatingSystem;
import static org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes.*;
-import static org.opends.server.schema.ServerSchemaElement.*;
/**
* This is just a class used to provide a data model describing what the
@@ -607,7 +608,7 @@
&& attr1.isOperational() == attr2.isOperational()
&& attr1.isSingleValue() == attr2.isSingleValue()
&& areEqual(attr1.getApproximateMatchingRule(), attr2.getApproximateMatchingRule())
- && areEqual(getDefinitionWithFileName(attr1), getDefinitionWithFileName(attr2))
+ && areEqual(getElementDefinitionWithFileName(attr1), getElementDefinitionWithFileName(attr2))
&& areEqual(attr1.getDescription(), attr2.getDescription())
&& areEqual(attr1.getEqualityMatchingRule(), attr2.getEqualityMatchingRule())
&& areEqual(attr1.getOrderingMatchingRule(), attr2.getOrderingMatchingRule())
@@ -631,7 +632,7 @@
private static boolean areObjectClassesEqual(ObjectClass oc1, ObjectClass oc2)
{
return oc1.getOID().equals(oc2.getOID())
- && areEqual(getDefinitionWithFileName(oc1), getDefinitionWithFileName(oc2))
+ && areEqual(getElementDefinitionWithFileName(oc1), getElementDefinitionWithFileName(oc2))
&& areEqual(oc1.getDescription(), oc2.getDescription())
&& areEqual(oc1.getObjectClassType(), oc2.getObjectClassType())
&& areEqual(oc1.getDeclaredOptionalAttributes(), oc2.getDeclaredOptionalAttributes())
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
index 3184ebc..55b1d9a 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
@@ -52,7 +52,6 @@
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.server.config.ConfigConstants;
import org.opends.server.core.DirectoryServer;
-import org.opends.server.schema.ServerSchemaElement;
import org.opends.server.types.Attributes;
import org.opends.server.types.Entry;
import org.opends.server.types.LDIFExportConfig;
@@ -348,7 +347,7 @@
*/
private String getSchemaFile(SchemaElement element)
{
- String schemaFile = ServerSchemaElement.getSchemaFile(element);
+ String schemaFile = getElementSchemaFile(element);
if (schemaFile == null)
{
schemaFile = ConfigConstants.FILE_USER_SCHEMA_ELEMENTS;
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/NewSchemaElementsTask.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/NewSchemaElementsTask.java
index 5a70d48..02d0290 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/NewSchemaElementsTask.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/NewSchemaElementsTask.java
@@ -20,7 +20,7 @@
import static org.forgerock.util.Utils.*;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.guitools.controlpanel.util.Utilities.*;
-import static org.opends.server.schema.ServerSchemaElement.getSchemaFile;
+import static org.opends.server.util.SchemaUtils.getElementSchemaFile;
import java.io.File;
import java.util.ArrayList;
@@ -275,7 +275,7 @@
Map<String, List<SchemaElement>> hmElems = new LinkedHashMap<>();
for (SchemaElement elem : elemsToAdd)
{
- String fileName = getSchemaFile(elem);
+ String fileName = getElementSchemaFile(elem);
if (fileName == null)
{
fileName = "";
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseSchemaPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseSchemaPanel.java
index 4df822c..33901bb 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseSchemaPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseSchemaPanel.java
@@ -99,7 +99,6 @@
import org.opends.guitools.controlpanel.util.LowerCaseComparator;
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.guitools.controlpanel.util.ViewPositions;
-import org.opends.server.schema.ServerSchemaElement;
import org.opends.server.types.Schema;
/** The pane that is displayed when the user clicks on 'Browse Schema'. */
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java
index 5df2ca2..3f5651d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomAttributePanel.java
@@ -16,10 +16,12 @@
*/
package org.opends.guitools.controlpanel.ui;
+
+import static org.opends.server.util.SchemaUtils.getElementSchemaFile;
import static org.opends.guitools.controlpanel.util.Utilities.*;
import static org.opends.messages.AdminToolMessages.*;
-import static org.opends.server.schema.ServerSchemaElement.*;
import static org.opends.server.util.CollectionUtils.*;
+import static org.opends.server.util.SchemaUtils.getElementOrigin;
import java.awt.Component;
import java.awt.Container;
@@ -526,14 +528,14 @@
lastAliases.addAll(someAliases);
this.aliases.setText(Utilities.getStringFromCollection(someAliases, ", "));
- String sOrigin = getOrigin(attr);
+ String sOrigin = getElementOrigin(attr);
if (sOrigin == null)
{
sOrigin = "";
}
origin.setText(sOrigin);
- String sFile = getSchemaFile(attr);
+ String sFile = getElementSchemaFile(attr);
if (sFile == null)
{
sFile = "";
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java
index 4bb5706..32aaeed 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/CustomObjectClassPanel.java
@@ -16,8 +16,9 @@
*/
package org.opends.guitools.controlpanel.ui;
+
+import static org.opends.server.util.SchemaUtils.getElementSchemaFile;
import static org.opends.messages.AdminToolMessages.*;
-import static org.opends.server.schema.ServerSchemaElement.*;
import static org.opends.server.util.CollectionUtils.*;
import static org.opends.server.util.SchemaUtils.*;
@@ -499,14 +500,14 @@
lastAliases.addAll(aliases);
this.aliases.setText(Utilities.getStringFromCollection(aliases, ", "));
- String sOrigin = getOrigin(oc);
+ String sOrigin = getElementOrigin(oc);
if (sOrigin == null)
{
sOrigin = "";
}
origin.setText(sOrigin);
- String sFile = getSchemaFile(oc);
+ String sFile = getElementSchemaFile(oc);
if (sFile == null)
{
sFile = "";
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/StandardObjectClassPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/StandardObjectClassPanel.java
index a55a809..c7a5a1f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/StandardObjectClassPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/StandardObjectClassPanel.java
@@ -18,7 +18,7 @@
package org.opends.guitools.controlpanel.ui;
import static org.opends.messages.AdminToolMessages.*;
-import static org.opends.server.schema.ServerSchemaElement.*;
+import static org.opends.server.util.SchemaUtils.*;
import static org.opends.server.util.StaticUtils.*;
import java.awt.Component;
@@ -50,7 +50,6 @@
import org.opends.guitools.controlpanel.ui.components.TitlePanel;
import org.opends.guitools.controlpanel.util.LowerCaseComparator;
import org.opends.guitools.controlpanel.util.Utilities;
-import org.opends.server.schema.ServerSchemaElement;
import org.opends.server.types.Schema;
/** The panel that displays a standard object class definition. */
@@ -244,8 +243,8 @@
static LocalizableMessage getOrigin(SchemaElement element)
{
LocalizableMessageBuilder returnValue = new LocalizableMessageBuilder();
- String fileName = getSchemaFile(element);
- String xOrigin = ServerSchemaElement.getOrigin(element);
+ String fileName = getElementSchemaFile(element);
+ String xOrigin = getElementOrigin(element);
if (xOrigin != null)
{
returnValue.append(xOrigin);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java
index 1c10f6c..3275dce 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/Utilities.java
@@ -16,6 +16,8 @@
*/
package org.opends.guitools.controlpanel.util;
+import static org.opends.server.util.SchemaUtils.getElementSchemaFile;
+
import static com.forgerock.opendj.cli.Utils.*;
import static com.forgerock.opendj.util.OperatingSystem.*;
import static org.forgerock.opendj.ldap.DereferenceAliasesPolicy.*;
@@ -25,7 +27,7 @@
import static org.opends.admin.ads.util.PreferredConnection.Type.*;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.quicksetup.Installation.*;
-import static org.opends.server.schema.ServerSchemaElement.*;
+import static org.opends.server.util.SchemaUtils.*;
import java.awt.Color;
import java.awt.Component;
@@ -1997,12 +1999,12 @@
*/
public static boolean isStandard(SchemaElement fileElement)
{
- final String fileName = getSchemaFile(fileElement);
+ final String fileName = getElementSchemaFile(fileElement);
if (fileName != null)
{
return standardSchemaFileNames.contains(fileName) || fileName.toLowerCase().contains("-rfc");
}
- String xOrigin = getOrigin(fileElement);
+ String xOrigin = getElementOrigin(fileElement);
if (xOrigin != null)
{
return standardSchemaOrigins.contains(xOrigin) || xOrigin.startsWith("RFC ") || xOrigin.startsWith("draft-");
@@ -2019,12 +2021,12 @@
*/
public static boolean isConfiguration(SchemaElement fileElement)
{
- String fileName = getSchemaFile(fileElement);
+ String fileName = getElementSchemaFile(fileElement);
if (fileName != null)
{
return configurationSchemaFileNames.contains(fileName);
}
- String xOrigin = getOrigin(fileElement);
+ String xOrigin = getElementOrigin(fileElement);
if (xOrigin != null)
{
return configurationSchemaOrigins.contains(xOrigin);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
index 7baca5b..db3826c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
@@ -18,7 +18,7 @@
import static org.forgerock.opendj.ldap.schema.CoreSchema.*;
import static org.opends.messages.BackendMessages.*;
-import static org.opends.server.schema.ServerSchemaElement.*;
+import static org.opends.server.util.SchemaUtils.getElementSchemaFile;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
@@ -150,7 +150,7 @@
String nulOCName = "nullbackendobject";
ObjectClass nulOC = DirectoryServer.getSchema().getObjectClass(nulOCName);
try {
- DirectoryServer.getSchema().registerObjectClass(nulOC, getSchemaFile(nulOC), false);
+ DirectoryServer.getSchema().registerObjectClass(nulOC, getElementSchemaFile(nulOC), false);
} catch (DirectoryException de) {
logger.traceException(de);
throw new InitializationException(de.getMessageObject());
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
index 25fb218..71cdbe5 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
@@ -24,9 +24,9 @@
import static org.opends.server.config.ConfigConstants.*;
import static org.opends.server.core.DirectoryServer.*;
import static org.opends.server.schema.GeneralizedTimeSyntax.*;
-import static org.opends.server.schema.ServerSchemaElement.*;
import static org.opends.server.util.CollectionUtils.*;
import static org.opends.server.util.ServerConstants.*;
+import static org.opends.server.util.SchemaUtils.*;
import static org.opends.server.util.StaticUtils.*;
import java.io.File;
@@ -573,7 +573,7 @@
for (SchemaElement element : elements)
{
/* Add the file name to the description of the element if this was requested by the caller. */
- String value = includeSchemaFile ? getDefinitionWithFileName(element) : element.toString();
+ String value = includeSchemaFile ? getElementDefinitionWithFileName(element) : element.toString();
if (stripSyntaxMinimumUpperBound && value.indexOf('{') != -1)
{
// Strip the minimum upper bound value from the attribute value.
@@ -1015,7 +1015,7 @@
*/
private String addNewSchemaElement(Set<String> modifiedSchemaFiles, SchemaElement elem)
{
- String schemaFile = getSchemaFile(elem);
+ String schemaFile = getElementSchemaFile(elem);
String finalFile = schemaFile != null ? schemaFile : FILE_USER_SCHEMA_ELEMENTS;
modifiedSchemaFiles.add(finalFile);
return schemaFile == null ? finalFile : null;
@@ -1028,8 +1028,8 @@
private String replaceExistingSchemaElement(Set<String> modifiedSchemaFiles, SchemaElement newElem,
SchemaElement existingElem)
{
- String newSchemaFile = getSchemaFile(newElem);
- String oldSchemaFile = getSchemaFile(existingElem);
+ String newSchemaFile = getElementSchemaFile(newElem);
+ String oldSchemaFile = getElementSchemaFile(existingElem);
if (newSchemaFile == null)
{
if (oldSchemaFile == null)
@@ -1166,7 +1166,7 @@
// If we've gotten here, then it's OK to remove the attribute type from the schema.
schema.deregisterAttributeType(removeType);
- addIfNotNull(modifiedSchemaFiles, getSchemaFile(removeType));
+ addIfNotNull(modifiedSchemaFiles, getElementSchemaFile(removeType));
}
/**
@@ -1356,7 +1356,7 @@
// If we've gotten here, then it's OK to remove the objectclass from the schema.
schema.deregisterObjectClass(removeClass);
- addIfNotNull(modifiedSchemaFiles, getSchemaFile(removeClass));
+ addIfNotNull(modifiedSchemaFiles, getElementSchemaFile(removeClass));
}
/**
@@ -1485,7 +1485,7 @@
// Now remove the name form from the schema.
schema.deregisterNameForm(removeNF);
- addIfNotNull(modifiedSchemaFiles, getSchemaFile(removeNF));
+ addIfNotNull(modifiedSchemaFiles, getElementSchemaFile(removeNF));
}
/**
@@ -1592,7 +1592,7 @@
// just remove the DIT content rule now, and if it is added back later then
// there still won't be any conflict.
schema.deregisterDITContentRule(removeDCR);
- addIfNotNull(modifiedSchemaFiles, getSchemaFile(removeDCR));
+ addIfNotNull(modifiedSchemaFiles, getElementSchemaFile(removeDCR));
}
/**
@@ -1756,7 +1756,7 @@
// If we've gotten here, then it's OK to remove the DIT structure rule from the schema.
schema.deregisterDITStructureRule(removeDSR);
- addIfNotNull(modifiedSchemaFiles, getSchemaFile(removeDSR));
+ addIfNotNull(modifiedSchemaFiles, getElementSchemaFile(removeDSR));
}
/**
@@ -1862,7 +1862,7 @@
// just remove the DIT content rule now, and if it is added back later then
// there still won't be any conflict.
schema.deregisterMatchingRuleUse(removeMRU);
- addIfNotNull(modifiedSchemaFiles, getSchemaFile(removeMRU));
+ addIfNotNull(modifiedSchemaFiles, getElementSchemaFile(removeMRU));
}
/**
@@ -1901,19 +1901,19 @@
String def = Schema.addSchemaFileToElementDefinitionIfAbsent(definition, FILE_USER_SCHEMA_ELEMENTS);
schema.registerSyntax(def, false);
- modifiedSchemaFiles.add(getSchemaFile(schema.getSyntax(oid)));
+ modifiedSchemaFiles.add(getElementSchemaFile(schema.getSyntax(oid)));
}
else
{
schema.deregisterSyntax(existingLS);
- String oldSchemaFile = getSchemaFile(existingLS);
+ String oldSchemaFile = getElementSchemaFile(existingLS);
String schemaFile = oldSchemaFile != null && oldSchemaFile.length() > 0 ?
oldSchemaFile : FILE_USER_SCHEMA_ELEMENTS;
String def = Schema.addSchemaFileToElementDefinitionIfAbsent(definition, schemaFile);
schema.registerSyntax(def, false);
- String newSchemaFile = getSchemaFile(schema.getSyntax(oid));
+ String newSchemaFile = getElementSchemaFile(schema.getSyntax(oid));
addIfNotNull(modifiedSchemaFiles, oldSchemaFile);
addIfNotNull(modifiedSchemaFiles, newSchemaFile);
}
@@ -1940,7 +1940,7 @@
}
schema.deregisterSyntax(removeLS);
- addIfNotNull(modifiedSchemaFiles, getSchemaFile(removeLS));
+ addIfNotNull(modifiedSchemaFiles, getElementSchemaFile(removeLS));
}
/**
@@ -2092,7 +2092,7 @@
Set<ByteString> values = new LinkedHashSet<>();
for (SchemaElement schemaElement : schemaElements)
{
- if (schemaFile.equals(getSchemaFile(schemaElement)))
+ if (schemaFile.equals(getElementSchemaFile(schemaElement)))
{
values.add(ByteString.valueOfUtf8(schemaElement.toString()));
}
@@ -2107,7 +2107,7 @@
Set<ByteString> values = new LinkedHashSet<>();
for (AttributeType at : schema.getAttributeTypes())
{
- if (schemaFile.equals(getSchemaFile(at)))
+ if (schemaFile.equals(getElementSchemaFile(at)))
{
addAttrTypeToSchemaFile(schema, schemaFile, at, values, addedTypes, 0);
}
@@ -2121,7 +2121,7 @@
Set<ByteString> values = new LinkedHashSet<>();
for (ObjectClass oc : schema.getObjectClasses())
{
- if (schemaFile.equals(getSchemaFile(oc)))
+ if (schemaFile.equals(getElementSchemaFile(oc)))
{
addObjectClassToSchemaFile(schema, schemaFile, oc, values, addedClasses, 0);
}
@@ -2136,7 +2136,7 @@
Set<ByteString> values = new LinkedHashSet<>();
for (DITStructureRule dsr : schema.getDITStructureRules())
{
- if (schemaFile.equals(getSchemaFile(dsr)))
+ if (schemaFile.equals(getElementSchemaFile(dsr)))
{
addDITStructureRuleToSchemaFile(schema, schemaFile, dsr, values, addedDSRs, 0);
}
@@ -2191,7 +2191,7 @@
AttributeType superiorType = attributeType.getSuperiorType();
if (superiorType != null &&
- schemaFile.equals(getSchemaFile(attributeType)) &&
+ schemaFile.equals(getElementSchemaFile(attributeType)) &&
!addedTypes.contains(superiorType))
{
addAttrTypeToSchemaFile(schema, schemaFile, superiorType, values,
@@ -2239,7 +2239,7 @@
for(ObjectClass superiorClass : objectClass.getSuperiorClasses())
{
- if (schemaFile.equals(getSchemaFile(superiorClass)) &&
+ if (schemaFile.equals(getElementSchemaFile(superiorClass)) &&
!addedClasses.contains(superiorClass))
{
addObjectClassToSchemaFile(schema, schemaFile, superiorClass, values,
@@ -2287,7 +2287,7 @@
for (DITStructureRule dsr : ditStructureRule.getSuperiorRules())
{
- if (schemaFile.equals(getSchemaFile(dsr)) && !addedDSRs.contains(dsr))
+ if (schemaFile.equals(getElementSchemaFile(dsr)) && !addedDSRs.contains(dsr))
{
addDITStructureRuleToSchemaFile(schema, schemaFile, dsr, values,
addedDSRs, depth+1);
@@ -2721,7 +2721,7 @@
for (ByteString v : a)
{
AttributeType attrType = schema.parseAttributeType(v.toString());
- String schemaFile = getSchemaFile(attrType);
+ String schemaFile = getElementSchemaFile(attrType);
if (is02ConfigLdif(schemaFile))
{
continue;
@@ -2749,7 +2749,7 @@
// them from the new schema if they are not in the imported schema entry.
for (AttributeType removeType : newSchema.getAttributeTypes())
{
- String schemaFile = getSchemaFile(removeType);
+ String schemaFile = getElementSchemaFile(removeType);
if (is02ConfigLdif(schemaFile) || CORE_SCHEMA_ELEMENTS_FILE.equals(schemaFile))
{
// Also never delete anything from the core schema file.
@@ -2772,7 +2772,7 @@
// It IS important here to allow the unknown elements that could
// appear in the new config schema.
ObjectClass newObjectClass = newSchema.parseObjectClass(v.toString());
- String schemaFile = getSchemaFile(newObjectClass);
+ String schemaFile = getElementSchemaFile(newObjectClass);
if (is02ConfigLdif(schemaFile))
{
continue;
@@ -2800,7 +2800,7 @@
// them from the new schema if they are not in the imported schema entry.
for (ObjectClass removeClass : newSchema.getObjectClasses())
{
- String schemaFile = getSchemaFile(removeClass);
+ String schemaFile = getElementSchemaFile(removeClass);
if (is02ConfigLdif(schemaFile))
{
continue;
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/schema/ServerSchemaElement.java b/opendj-server-legacy/src/main/java/org/opends/server/schema/ServerSchemaElement.java
deleted file mode 100644
index b455cb8..0000000
--- a/opendj-server-legacy/src/main/java/org/opends/server/schema/ServerSchemaElement.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * The contents of this file are subject to the terms of the Common Development and
- * Distribution License (the License). You may not use this file except in compliance with the
- * License.
- *
- * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
- * specific language governing permission and limitations under the License.
- *
- * When distributing Covered Software, include this CDDL Header Notice in each file and include
- * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
- * Header, with the fields enclosed by brackets [] replaced by your own identifying
- * information: "Portions Copyright [year] [name of copyright owner]".
- *
- * Copyright 2016 ForgeRock AS.
- */
-package org.opends.server.schema;
-
-import static org.opends.server.types.Schema.addSchemaFileToElementDefinitionIfAbsent;
-import static org.opends.messages.SchemaMessages.ERR_ATTR_SYNTAX_ILLEGAL_X_SCHEMA_FILE;
-import static org.opends.server.util.ServerConstants.SCHEMA_PROPERTY_FILENAME;
-
-import java.util.List;
-
-import org.forgerock.i18n.LocalizableMessage;
-import org.forgerock.opendj.ldap.ResultCode;
-import org.forgerock.opendj.ldap.schema.AttributeType;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.schema.SchemaBuilder;
-import org.forgerock.opendj.ldap.schema.SchemaElement;
-import org.opends.server.core.ServerContext;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.util.ServerConstants;
-
-/**
- * Utility class that provides common operations over schema elements in a server context.
- */
-public class ServerSchemaElement
-{
-
- private ServerSchemaElement()
- {
- // prevent instantiation
- }
-
- /**
- * Retrieves the definition string used to create the provided schema element and including the
- * X-SCHEMA-FILE extension.
- *
- * @param element
- * The schema element.
- * @return The definition string used to create the schema element including the X-SCHEMA-FILE
- * extension.
- */
- public static String getDefinitionWithFileName(SchemaElement element)
- {
- final String definition = element.toString();
- return addSchemaFileToElementDefinitionIfAbsent(definition, getSchemaFile(element));
- }
-
- /**
- * Returns the single value of the provided extra property for the provided schema element.
- *
- * @param element
- * The schema element.
- * @param property
- * The name of property to retrieve.
- * @return the single value of the extra property
- */
- public static String getExtraPropertyAsSingleValue(SchemaElement element, String property)
- {
- List<String> values = element.getExtraProperties().get(property);
- return values != null && !values.isEmpty() ? values.get(0) : null;
- }
-
- /**
- * Returns the origin of the provided schema element.
- *
- * @param element
- * The schema element.
- * @return the origin of the schema element as defined in the extra properties.
- */
- public static String getOrigin(SchemaElement element)
- {
- return getExtraPropertyAsSingleValue(element, ServerConstants.SCHEMA_PROPERTY_ORIGIN);
- }
-
- /**
- * Returns the schema file of the provided schema element.
- *
- * @param element
- * The schema element.
- * @return the schema file of schema element.
- */
- public static String getSchemaFile(SchemaElement element)
- {
- return getExtraPropertyAsSingleValue(element, ServerConstants.SCHEMA_PROPERTY_FILENAME);
- }
-
- /**
- * Updates the property of the provided attribute type.
- *
- * @param serverContext
- * the server context
- * @param attributeType
- * attribute type to update
- * @param property
- * the property to set
- * @param values
- * the values to set
- * @return the updated attribute type
- */
- public static AttributeType updateProperty(ServerContext serverContext, AttributeType attributeType, String property,
- String...values)
- {
- SchemaBuilder schemaBuilder =
- new SchemaBuilder(serverContext != null ? serverContext.getSchemaNG() : Schema.getDefaultSchema());
- AttributeType.Builder builder =
- schemaBuilder.buildAttributeType(attributeType).removeExtraProperty(property, (String) null);
- if (values != null && values.length > 0)
- {
- builder.extraProperties(property, values);
- return builder.addToSchemaOverwrite().toSchema().getAttributeType(attributeType.getNameOrOID());
- }
- return attributeType;
- }
-}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/SchemaUtils.java b/opendj-server-legacy/src/main/java/org/opends/server/util/SchemaUtils.java
index d0fa47d..166b2d0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/SchemaUtils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/SchemaUtils.java
@@ -15,15 +15,21 @@
*/
package org.opends.server.util;
+import static org.opends.server.types.Schema.addSchemaFileToElementDefinitionIfAbsent;
import static org.opends.server.schema.SchemaConstants.SYNTAX_AUTH_PASSWORD_OID;
import static org.opends.server.schema.SchemaConstants.SYNTAX_USER_PASSWORD_OID;
import java.util.Collection;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.schema.ObjectClass;
+import org.forgerock.opendj.ldap.schema.Schema;
+import org.forgerock.opendj.ldap.schema.SchemaBuilder;
+import org.forgerock.opendj.ldap.schema.SchemaElement;
+import org.opends.server.core.ServerContext;
/** Utility methods related to schema. */
public class SchemaUtils
@@ -67,6 +73,60 @@
}
/**
+ * Retrieves the definition string used to create the provided schema element and including the
+ * X-SCHEMA-FILE extension.
+ *
+ * @param element
+ * The schema element.
+ * @return The definition string used to create the schema element including the X-SCHEMA-FILE
+ * extension.
+ */
+ public static String getElementDefinitionWithFileName(SchemaElement element)
+ {
+ final String definition = element.toString();
+ return addSchemaFileToElementDefinitionIfAbsent(definition, SchemaUtils.getElementSchemaFile(element));
+ }
+
+ /**
+ * Returns the origin of the provided schema element.
+ *
+ * @param element
+ * The schema element.
+ * @return the origin of the schema element as defined in the extra properties.
+ */
+ public static String getElementOrigin(SchemaElement element)
+ {
+ return getElementPropertyAsSingleValue(element, ServerConstants.SCHEMA_PROPERTY_ORIGIN);
+ }
+
+ /**
+ * Returns the single value of the provided extra property for the provided schema element.
+ *
+ * @param element
+ * The schema element.
+ * @param property
+ * The name of property to retrieve.
+ * @return the single value of the extra property
+ */
+ public static String getElementPropertyAsSingleValue(SchemaElement element, String property)
+ {
+ List<String> values = element.getExtraProperties().get(property);
+ return values != null && !values.isEmpty() ? values.get(0) : null;
+ }
+
+ /**
+ * Returns the schema file of the provided schema element.
+ *
+ * @param element
+ * The schema element.
+ * @return the schema file of schema element.
+ */
+ public static String getElementSchemaFile(SchemaElement element)
+ {
+ return getElementPropertyAsSingleValue(element, ServerConstants.SCHEMA_PROPERTY_FILENAME);
+ }
+
+ /**
* Returns a new collection with the result of calling {@link ObjectClass#getNameOrOID()} on each
* element of the provided collection.
*
@@ -101,4 +161,32 @@
}
return results;
}
+
+ /**
+ * Returns the new updated attribute type with the provided extra property and its values.
+ *
+ * @param serverContext
+ * the server context
+ * @param attributeType
+ * attribute type to update
+ * @param property
+ * the property to set
+ * @param values
+ * the values to set
+ * @return the new updated attribute type
+ */
+ public static AttributeType getNewAttributeTypeWithProperty(ServerContext serverContext, AttributeType attributeType,
+ String property, String...values)
+ {
+ SchemaBuilder schemaBuilder =
+ new SchemaBuilder(serverContext != null ? serverContext.getSchemaNG() : Schema.getDefaultSchema());
+ AttributeType.Builder builder =
+ schemaBuilder.buildAttributeType(attributeType).removeExtraProperty(property, (String) null);
+ if (values != null && values.length > 0)
+ {
+ builder.extraProperties(property, values);
+ return builder.addToSchemaOverwrite().toSchema().getAttributeType(attributeType.getNameOrOID());
+ }
+ return attributeType;
+ }
}
--
Gitblit v1.10.0