X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2Fxml%2FDomContent.java;h=0686be7cb59b2cf63d034fc8331a1d1884e39f08;hb=9e6715d360fb29bb817ecaf6d49f0c8a3cc014f5;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);