X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Facr%2Ffs%2FFsContent.java;h=4b94abf1eb5143b1ee5074d5f1b1126ae1de001b;hb=117eaabc86f6c09eff9a4b971ac137d51f45e953;hp=8fca831b024293084a07ded2ff93d9ad8a9085e4;hpb=5787751da1ea80d35427825f4a9ecbf228fa4767;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/acr/fs/FsContent.java b/org.argeo.cms/src/org/argeo/cms/acr/fs/FsContent.java index 8fca831b0..4b94abf1e 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/fs/FsContent.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/fs/FsContent.java @@ -41,14 +41,13 @@ import org.argeo.api.acr.NamespaceUtils; import org.argeo.api.acr.spi.ContentProvider; import org.argeo.api.acr.spi.ProvidedContent; import org.argeo.api.acr.spi.ProvidedSession; -import org.argeo.api.cms.CmsLog; import org.argeo.cms.acr.AbstractContent; import org.argeo.cms.acr.ContentUtils; import org.argeo.cms.util.FsUtils; /** Content persisted as a filesystem {@link Path}. */ public class FsContent extends AbstractContent implements ProvidedContent { - private CmsLog log = CmsLog.getLog(FsContent.class); +// private CmsLog log = CmsLog.getLog(FsContent.class); final static String USER_ = "user:"; @@ -160,11 +159,15 @@ public class FsContent extends AbstractContent implements ProvidedContent { String[] arr = str.split("\n"); if (arr.length == 1) { - if (clss.isAssignableFrom(String.class)) { - res = (A) arr[0]; - } else { - res = (A) CrAttributeType.parse(arr[0]); - } +// if (clss.isAssignableFrom(String.class)) { +// res = (A) arr[0]; +// } else { +// res = (A) CrAttributeType.parse(arr[0]); +// } +// if (isDefaultAttrTypeRequested(clss)) +// return Optional.of((A) CrAttributeType.parse(str)); + return CrAttributeType.cast(clss, str); + } else { List lst = new ArrayList<>(); for (String s : arr) { @@ -174,14 +177,15 @@ public class FsContent extends AbstractContent implements ProvidedContent { } } if (res == null) { - if (isDefaultAttrTypeRequested(clss)) - return Optional.of((A) CrAttributeType.parse(value.toString())); - if (clss.isAssignableFrom(value.getClass())) - return Optional.of((A) value); - if (clss.isAssignableFrom(String.class)) - return Optional.of((A) value.toString()); - log.warn("Cannot interpret " + key + " in " + this); - return Optional.empty(); +// if (isDefaultAttrTypeRequested(clss)) +// return Optional.of((A) CrAttributeType.parse(value.toString())); + return CrAttributeType.cast(clss, value); +// if (clss.isAssignableFrom(value.getClass())) +// return Optional.of((A) value); +// if (clss.isAssignableFrom(String.class)) +// return Optional.of((A) value.toString()); +// log.warn("Cannot interpret " + key + " in " + this); +// return Optional.empty(); // try { // res = (A) value; // } catch (ClassCastException e) { @@ -365,12 +369,13 @@ public class FsContent extends AbstractContent implements ProvidedContent { @Override public List getContentClasses() { - List res = new ArrayList<>(); - List value = getMultiple(DName.resourcetype.qName(), String.class); - for (String s : value) { - QName name = NamespaceUtils.parsePrefixedName(provider, s); - res.add(name); - } +// List res = new ArrayList<>(); +// List value = getMultiple(DName.resourcetype.qName(), String.class); +// for (String s : value) { +// QName name = NamespaceUtils.parsePrefixedName(provider, s); +// res.add(name); +// } + List res = getMultiple(DName.resourcetype.qName(), QName.class); if (Files.isDirectory(path)) res.add(DName.collection.qName()); return res;