X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.core%2Fsrc%2Forg%2Fargeo%2Fapp%2Fdocbook%2FDbkAcrUtils.java;h=fed027d7477c904ebd81c9107b2ddfbf4e769770;hb=616a062e9d061ce91589556624ed622298a21ac7;hp=d956069f5b9be91545996df10c4f075e21e7a39f;hpb=3304f8934e1dc5846fc6214997bc54faaa93bb39;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.core/src/org/argeo/app/docbook/DbkAcrUtils.java b/org.argeo.app.core/src/org/argeo/app/docbook/DbkAcrUtils.java index d956069..fed027d 100644 --- a/org.argeo.app.core/src/org/argeo/app/docbook/DbkAcrUtils.java +++ b/org.argeo.app.core/src/org/argeo/app/docbook/DbkAcrUtils.java @@ -1,13 +1,39 @@ package org.argeo.app.docbook; import org.argeo.api.acr.Content; +import org.argeo.api.app.EntityType; +/** Utilities when using ACR to access DocBook. */ public class DbkAcrUtils { /** Whether this DocBook element is of this type. */ public static boolean isDbk(Content content, DbkType type) { return content.isContentClass(type.qName()); } + public static String getMediaFileref(Content node) { + Content mediadata; + if (node.hasChild(DbkType.imageobject)) { + mediadata = node.child(DbkType.imageobject).child(DbkType.imagedata); + } else { + mediadata = node.child(DbkType.videoobject).child(DbkType.videodata); + } + + if (mediadata.containsKey(DbkAttr.fileref)) { + return mediadata.attr(DbkAttr.fileref); + } else { + return null; + } + } + + public static Content getMetadata(Content infoContainer) { + if (!infoContainer.hasChild(DbkType.info)) + return null; + Content info = infoContainer.child(DbkType.info); + if (!info.hasChild(EntityType.local)) + return null; + return info.child(EntityType.local); + } + /** singleton */ private DbkAcrUtils() { }