X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2Fxml%2FDomContent.java;h=0686be7cb59b2cf63d034fc8331a1d1884e39f08;hb=55d88fba80cec198a0f11ba7545e19878c51fc5e;hp=1520bc2cf7cf48b49b40caf88d92dbcbb6e4becd;hpb=be6d2dbdf3ccafc9b8ac8820a68a3eb7de859b06;p=lgpl%2Fargeo-commons.git
diff --git a/org.argeo.cms/src/org/argeo/cms/acr/xml/DomContent.java b/org.argeo.cms/src/org/argeo/cms/acr/xml/DomContent.java
index 1520bc2cf..0686be7cb 100644
--- a/org.argeo.cms/src/org/argeo/cms/acr/xml/DomContent.java
+++ b/org.argeo.cms/src/org/argeo/cms/acr/xml/DomContent.java
@@ -29,6 +29,7 @@ import javax.xml.transform.stream.StreamResult;
import org.argeo.api.acr.Content;
import org.argeo.api.acr.ContentName;
+import org.argeo.api.acr.CrAttributeType;
import org.argeo.api.acr.CrName;
import org.argeo.api.acr.spi.ProvidedContent;
import org.argeo.api.acr.spi.ProvidedSession;
@@ -68,7 +69,7 @@ public class DomContent extends AbstractContent implements ProvidedContent {
if (isLocalRoot()) {// root
String mountPath = provider.getMountPath();
if (mountPath != null) {
- if (ContentUtils.ROOT_SLASH.equals(mountPath)) {
+ if (Content.ROOT_PATH.equals(mountPath)) {
return CrName.root.qName();
}
Content mountPoint = getSession().getMountPoint(mountPath);
@@ -137,17 +138,16 @@ public class DomContent extends AbstractContent implements ProvidedContent {
return result;
}
- @SuppressWarnings("unchecked")
+// @SuppressWarnings("unchecked")
@Override
public Optional get(QName key, Class clss) {
String namespaceUriOrNull = XMLConstants.NULL_NS_URI.equals(key.getNamespaceURI()) ? null
: key.getNamespaceURI();
if (element.hasAttributeNS(namespaceUriOrNull, key.getLocalPart())) {
String value = element.getAttributeNS(namespaceUriOrNull, key.getLocalPart());
- if (clss.isAssignableFrom(String.class))
- return Optional.of((A) value);
- else
- return Optional.empty();
+// if (isDefaultAttrTypeRequested(clss))
+// return Optional.of((A) CrAttributeType.parse(value));
+ return CrAttributeType.cast(clss, value);
} else
return Optional.empty();
}
@@ -236,7 +236,7 @@ public class DomContent extends AbstractContent implements ProvidedContent {
String mountPath = provider.getMountPath();
if (mountPath == null)
return null;
- if (ContentUtils.ROOT_SLASH.equals(mountPath)) {
+ if (Content.ROOT_PATH.equals(mountPath)) {
return null;
}
String[] parent = ContentUtils.getParentPath(mountPath);
@@ -386,7 +386,7 @@ public class DomContent extends AbstractContent implements ProvidedContent {
List res = new ArrayList<>();
if (isLocalRoot()) {
String mountPath = provider.getMountPath();
- if (ContentUtils.SLASH_STRING.equals(mountPath)) {// repository root
+ if (Content.ROOT_PATH.equals(mountPath)) {// repository root
res.add(CrName.root.qName());
} else {
Content mountPoint = getSession().getMountPoint(mountPath);
@@ -402,7 +402,7 @@ public class DomContent extends AbstractContent implements ProvidedContent {
public void addContentClasses(QName... contentClass) {
if (isLocalRoot()) {
String mountPath = provider.getMountPath();
- if (ContentUtils.SLASH_STRING.equals(mountPath)) {// repository root
+ if (Content.ROOT_PATH.equals(mountPath)) {// repository root
throw new IllegalArgumentException("Cannot add content classes to repository root");
} else {
Content mountPoint = getSession().getMountPoint(mountPath);