Skip to content
Snippets Groups Projects
Commit 49ea49bc authored by felmer's avatar felmer
Browse files

Managed Properties API: Also input lists turned into arrays. Test fixed....

Managed Properties API: Also input lists turned into arrays. Test fixed. EntityLinkElementKind: Attribute label added.

SVN: 19703
parent 2244d519
No related branches found
No related tags found
No related merge requests found
...@@ -25,15 +25,22 @@ package ch.systemsx.cisd.openbis.generic.shared.managed_property.api; ...@@ -25,15 +25,22 @@ package ch.systemsx.cisd.openbis.generic.shared.managed_property.api;
public enum EntityLinkElementKind public enum EntityLinkElementKind
{ {
EXPERIMENT("Experiment"), SAMPLE("Sample"), DATA_SET("Dataset"), MATERIAL("Material"); EXPERIMENT("Experiment"), SAMPLE("Sample"), DATA_SET("Dataset", "Data Set"), MATERIAL("Material");
private String elementName; private final String elementName;
private final String label;
private EntityLinkElementKind(String elementName) private EntityLinkElementKind(String elementName)
{ {
this.elementName = elementName; this(elementName, elementName);
} }
private EntityLinkElementKind(String elementName, String label)
{
this.elementName = elementName;
this.label = label;
}
/** /**
* the {@link IElement} name corresponding to the link. * the {@link IElement} name corresponding to the link.
*/ */
...@@ -42,6 +49,14 @@ public enum EntityLinkElementKind ...@@ -42,6 +49,14 @@ public enum EntityLinkElementKind
return elementName; return elementName;
} }
/**
* Returns the label.
*/
public String getLabel()
{
return label;
}
/** /**
* @return the {@link EntityLinkElementKind} for a given element name or <code>null</code> if no * @return the {@link EntityLinkElementKind} for a given element name or <code>null</code> if no
* matching kind exists. * matching kind exists.
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
package ch.systemsx.cisd.openbis.generic.shared.managed_property.api; package ch.systemsx.cisd.openbis.generic.shared.managed_property.api;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -69,7 +68,7 @@ public interface IElement ...@@ -69,7 +68,7 @@ public interface IElement
/** /**
* sets the children of this {@link IElement}, replacing any previously existing children. * sets the children of this {@link IElement}, replacing any previously existing children.
*/ */
IElement setChildren(List<IElement> children); IElement setChildren(IElement[] children);
/** /**
* appends a list of children to this children elements list. * appends a list of children to this children elements list.
......
...@@ -16,8 +16,6 @@ ...@@ -16,8 +16,6 @@
package ch.systemsx.cisd.openbis.generic.shared.managed_property.api; package ch.systemsx.cisd.openbis.generic.shared.managed_property.api;
import java.util.List;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.api.IManagedProperty; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.api.IManagedProperty;
import ch.systemsx.cisd.openbis.generic.shared.managed_property.structured.Element; import ch.systemsx.cisd.openbis.generic.shared.managed_property.structured.Element;
...@@ -39,6 +37,6 @@ public interface IStructuredPropertyConverter ...@@ -39,6 +37,6 @@ public interface IStructuredPropertyConverter
* @return a {@link String} representation of the specified elements that can be persisted in * @return a {@link String} representation of the specified elements that can be persisted in
* the database. * the database.
*/ */
String convertToString(List<IElement> elements); String convertToString(IElement[] elements);
} }
\ No newline at end of file
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package ch.systemsx.cisd.openbis.generic.shared.managed_property.structured; package ch.systemsx.cisd.openbis.generic.shared.managed_property.structured;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -86,10 +87,10 @@ public class Element implements IElement ...@@ -86,10 +87,10 @@ public class Element implements IElement
} }
public IElement setChildren(List<IElement> newChildren) public IElement setChildren(IElement[] newChildren)
{ {
assert newChildren != null : "Setting null children is not allowed."; assert newChildren != null : "Setting null children is not allowed.";
this.children = newChildren; this.children = new ArrayList<IElement>(Arrays.asList(newChildren));
return this; return this;
} }
......
...@@ -78,7 +78,7 @@ public class XmlStructuredPropertyConverter implements IStructuredPropertyConver ...@@ -78,7 +78,7 @@ public class XmlStructuredPropertyConverter implements IStructuredPropertyConver
return root.getChildren(); return root.getChildren();
} }
public String convertToString(List<IElement> elements) public String convertToString(IElement[] elements)
{ {
IElement root = createRootElement(elements); IElement root = createRootElement(elements);
Document doc = createEmptyDocument(); Document doc = createEmptyDocument();
...@@ -88,7 +88,7 @@ public class XmlStructuredPropertyConverter implements IStructuredPropertyConver ...@@ -88,7 +88,7 @@ public class XmlStructuredPropertyConverter implements IStructuredPropertyConver
return XmlUtils.serializeDocument(doc); return XmlUtils.serializeDocument(doc);
} }
private IElement createRootElement(List<IElement> elements) private IElement createRootElement(IElement[] elements)
{ {
IElement root = new Element(ROOT_NAME); IElement root = new Element(ROOT_NAME);
root.addAttribute("xmlns:" + OPENBIS_NS, OPENBIS_NAMESPACE_URL); root.addAttribute("xmlns:" + OPENBIS_NS, OPENBIS_NAMESPACE_URL);
...@@ -150,7 +150,7 @@ public class XmlStructuredPropertyConverter implements IStructuredPropertyConver ...@@ -150,7 +150,7 @@ public class XmlStructuredPropertyConverter implements IStructuredPropertyConver
} }
result.setChildren(children); result.setChildren(children.toArray(new IElement[children.size()]));
return result; return result;
} }
......
...@@ -49,7 +49,7 @@ public class XmlStructuredPropertyConverterTest extends AssertJUnit ...@@ -49,7 +49,7 @@ public class XmlStructuredPropertyConverterTest extends AssertJUnit
"materialAttrKey", "materialAttrVal") "materialAttrKey", "materialAttrVal")
); );
String persistentValue = converter.convertToString(elements); String persistentValue = converter.convertToString(elements.toArray(new IElement[0]));
IElement[] deserialized = converter.convertStringToElements(persistentValue); IElement[] deserialized = converter.convertStringToElements(persistentValue);
assertEquals(elements, Arrays.asList(deserialized)); assertEquals(elements, Arrays.asList(deserialized));
...@@ -70,7 +70,7 @@ public class XmlStructuredPropertyConverterTest extends AssertJUnit ...@@ -70,7 +70,7 @@ public class XmlStructuredPropertyConverterTest extends AssertJUnit
factory.createMaterialLink("materialCode", "typeCode").addChildren( factory.createMaterialLink("materialCode", "typeCode").addChildren(
factory.createElement("nested2").addAttribute("na2", "nav2"))); factory.createElement("nested2").addAttribute("na2", "nav2")));
String persistentValue = converter.convertToString(elements); String persistentValue = converter.convertToString(elements.toArray(new IElement[0]));
IElement[] deserialized = converter.convertStringToElements(persistentValue); IElement[] deserialized = converter.convertStringToElements(persistentValue);
assertEquals(elements, Arrays.asList(deserialized)); assertEquals(elements, Arrays.asList(deserialized));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment