X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=publishing%2Forg.argeo.publishing.ui%2Fsrc%2Forg%2Fargeo%2Fdocbook%2Fui%2FDbkImageManager.java;h=008ac76538d6f658b075b42473d4ea2a540d98b9;hp=8ff17b8676281961916e68aa672e0dd38f8b427b;hb=f4c6893c66cd619e699cb9392ff8c45367796154;hpb=d583547f3046d1e0d9a1dc689abe71dcd1decfb7 diff --git a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkImageManager.java b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkImageManager.java index 8ff17b8..008ac76 100644 --- a/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkImageManager.java +++ b/publishing/org.argeo.publishing.ui/src/org/argeo/docbook/ui/DbkImageManager.java @@ -38,11 +38,21 @@ public class DbkImageManager extends DefaultImageManager { this.baseFolder = baseFolder; } + Node getImageDataNode(Node mediaObjectNode) throws RepositoryException { + if (mediaObjectNode.hasNode(DbkType.imageobject.get())) { + Node imageDataNode = mediaObjectNode.getNode(DbkType.imageobject.get()).getNode(DbkType.imagedata.get()); + return imageDataNode; + } else { + throw new IllegalStateException("No image data found for " + mediaObjectNode); + } + } + @Override public Binary getImageBinary(Node node) throws RepositoryException { Node fileNode = null; - if (DbkUtils.isDbk(node, DbkType.imagedata)) { - fileNode = getFileNode(node); + if (DbkUtils.isDbk(node, DbkType.mediaobject)) { + Node imageDataNode = getImageDataNode(node); + fileNode = getFileNode(imageDataNode); } if (node.isNodeType(NT_FILE)) { fileNode = node; @@ -54,7 +64,8 @@ public class DbkImageManager extends DefaultImageManager { } } - public Point getImageSize(Node imageDataNode) throws RepositoryException { + public Point getImageSize(Node mediaObjectNode) throws RepositoryException { + Node imageDataNode = getImageDataNode(mediaObjectNode); Node fileNode = getFileNode(imageDataNode); if (fileNode == null) return new Point(0, 0); @@ -83,16 +94,18 @@ public class DbkImageManager extends DefaultImageManager { } @Override - protected void processNewImageFile(Node context, Node fileNode, ImageData id) + protected void processNewImageFile(Node mediaObjectNode, Node fileNode, ImageData id) throws RepositoryException, IOException { + Node imageDataNode = getImageDataNode(mediaObjectNode); updateSize(fileNode, id); String filePath = fileNode.getPath(); String relPath = filePath.substring(baseFolder.getPath().length() + 1); - context.setProperty(DbkAttr.fileref.name(), relPath); + imageDataNode.setProperty(DbkAttr.fileref.name(), relPath); } @Override - public String getImageUrl(Node imageDataNode) throws RepositoryException { + public String getImageUrl(Node mediaObjectNode) throws RepositoryException { + Node imageDataNode = getImageDataNode(mediaObjectNode); // TODO factorise String fileref = null; if (imageDataNode.hasProperty(DbkAttr.fileref.name()))