/** @see OMEXMLService#getOMEMetadata(loci.formats.meta.MetadataRetrieve) */ @Override public OMEXMLMetadata getOMEMetadata(MetadataRetrieve src) throws ServiceException { // check if the metadata is already an OME-XML metadata object if (src instanceof OMEXMLMetadata) return (OMEXMLMetadata) src; // populate a new OME-XML metadata object with metadata // converted from the non-OME-XML metadata object OMEXMLMetadata omexmlMeta = createOMEXMLMetadata(); convertMetadata(src, omexmlMeta); return omexmlMeta; }
/** @see OMEXMLService#addMetadataOnly(OMEXMLMetadata, int) */ @Override public void addMetadataOnly(OMEXMLMetadata omexmlMeta, int image) { addMetadataOnly(omexmlMeta, image, true); }
/** * Default constructor. */ public OMEXMLServiceImpl() { checkClassDependency(ome.xml.model.OMEModelObject.class); }
/** @see OMEXMLService#createOMEXMLRoot(java.lang.String) */ @Override public OMEModelObject createOMEXMLRoot(String xml) throws ServiceException { return createRoot(transformToLatestVersion(xml)); }
public void convertMetadata(String xml, MetadataStore dest) throws ServiceException { OMEXMLMetadataRoot ome = createRoot(transformToLatestVersion(xml)); String rootVersion = getOMEXMLVersion(ome); String storeVersion = getOMEXMLVersion(dest); if (rootVersion.equals(storeVersion)) { IMetadata src = createOMEXMLMetadata(xml); convertMetadata(src, dest);
@Override protected void translateFormatMetadata(final OMETIFFFormat.Metadata source, final OMEMetadata dest) { OMEXMLMetadata xmlMetadata; try { xmlMetadata = new OMEXMLServiceImpl().createOMEXMLMetadata(// source.getOmeMeta().getRoot().dumpXML()); dest.setRoot(xmlMetadata); } catch (final ServiceException e) { logService.error(e); } } }
if (!equals(n1, n2)) { return false; Node realRoot1 = findRootNode(e1); Node realRoot2 = findRootNode(e2); Node ref1 = findChildWithID(realRoot1, refName, n1.getNodeValue()); Node ref2 = findChildWithID(realRoot2, refName, n2.getNodeValue()); (ref1 != null && ref2 == null) || !equals(ref1, ref2)) if (!equals(children1.item(i), children2.item(i))) { return false;
OMEXMLMetadata omexml = createOMEXMLMetadata(xml); OMEXMLMetadataRoot root = (OMEXMLMetadataRoot) omexml.getRoot(); for (int image=0; image<root.sizeOfImageList(); image++) { xml = getOMEXML(omexml);
/** @see OMEXMLService#createOMEXMLMetadata(java.lang.String) */ @Override public OMEXMLMetadata createOMEXMLMetadata(String xml) throws ServiceException { return createOMEXMLMetadata(xml, null); }
/** Return the absolute root node for the specified child node. */ private Node findRootNode(Node child) { if (child.getParentNode() != null) { return findRootNode(child.getParentNode()); } return child; }
/** @see OMEXMLService#isEqual(OMEXMLMetadata, OMEXMLMetadata) */ @Override public boolean isEqual(OMEXMLMetadata src1, OMEXMLMetadata src2) { src1.resolveReferences(); src2.resolveReferences(); OMEXMLMetadataRoot omeRoot1 = (OMEXMLMetadataRoot) src1.getRoot(); OMEXMLMetadataRoot omeRoot2 = (OMEXMLMetadataRoot) src2.getRoot(); DocumentBuilder builder = null; try { builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); } catch (ParserConfigurationException e) { return false; } Document doc1 = builder.newDocument(); Document doc2 = builder.newDocument(); Element root1 = omeRoot1.asXMLElement(doc1); Element root2 = omeRoot2.asXMLElement(doc2); return equals(root1, root2); }
/** Return the child node with specified value for the "ID" attribute. */ private Node findChildWithID(Node root, String name, String id) { NamedNodeMap attributes = root.getAttributes(); if (attributes != null) { Node idNode = attributes.getNamedItem("ID"); if (idNode != null && id.equals(idNode.getNodeValue()) && name.equals(root.getNodeName())) { return root; } } NodeList children = root.getChildNodes(); for (int i=0; i<children.getLength(); i++) { Node result = findChildWithID(children.item(i), name, id); if (result != null) { return result; } } return null; }
createModulo(meta, core.moduloZ, annotations, image, imageIdx, annotationIndex, imageAnnotation); annotationIndex++; createModulo(meta, core.moduloC, annotations, image, imageIdx, annotationIndex, imageAnnotation); annotationIndex++; createModulo(meta, core.moduloT, annotations, image, imageIdx, annotationIndex, imageAnnotation); annotationIndex++;
public void convertMetadata(String xml, MetadataStore dest) throws ServiceException { OMEXMLMetadataRoot ome = createRoot(transformToLatestVersion(xml)); String rootVersion = getOMEXMLVersion(ome); String storeVersion = getOMEXMLVersion(dest); if (rootVersion.equals(storeVersion)) { IMetadata src = createOMEXMLMetadata(xml); convertMetadata(src, dest);
@Override protected void translateFormatMetadata(final OMEMetadata source, final OMETIFFFormat.Metadata dest) { OMEXMLMetadata sourceXML; try { sourceXML = new OMEXMLServiceImpl().createOMEXMLMetadata(// source.getRoot().dumpXML()); final OMEMetadata destOMEMeta = dest.getOmeMeta(); if (destOMEMeta == null) { dest.setOmeMeta(new OMEMetadata(getContext(), sourceXML)); } else { destOMEMeta.setRoot(sourceXML); destOMEMeta.populateImageMetadata(); } } catch (final ServiceException e) { logService.error(e); } } }
if (!equals(n1, n2)) { return false; Node realRoot1 = findRootNode(e1); Node realRoot2 = findRootNode(e2); Node ref1 = findChildWithID(realRoot1, refName, n1.getNodeValue()); Node ref2 = findChildWithID(realRoot2, refName, n2.getNodeValue()); (ref1 != null && ref2 == null) || !equals(ref1, ref2)) if (!equals(children1.item(i), children2.item(i))) { return false;
OMEXMLMetadata omexml = createOMEXMLMetadata(xml); OMEXMLMetadataRoot root = (OMEXMLMetadataRoot) omexml.getRoot(); for (int image=0; image<root.sizeOfImageList(); image++) { xml = getOMEXML(omexml);
/** @see OMEXMLService#createOMEXMLMetadata(java.lang.String) */ @Override public OMEXMLMetadata createOMEXMLMetadata(String xml) throws ServiceException { return createOMEXMLMetadata(xml, null); }
/** @see OMEXMLService#createOMEXMLRoot(java.lang.String) */ @Override public OMEModelObject createOMEXMLRoot(String xml) throws ServiceException { return createRoot(transformToLatestVersion(xml)); }
/** Return the absolute root node for the specified child node. */ private Node findRootNode(Node child) { if (child.getParentNode() != null) { return findRootNode(child.getParentNode()); } return child; }