+ if ((++j % modCount) == 0){ logger.info("Publications handled: " + j);}\r
+\r
+ }\r
+ }\r
+}\r
+\r
+// imports media objects such as images\r
+protected void importMediaObjects(Element elDataset, Namespace sddNamespace, SDDImportConfigurator sddConfig, boolean success){\r
+ // <MediaObjects>\r
+ logger.info("start MediaObjects ...");\r
+ Element elMediaObjects = elDataset.getChild("MediaObjects",sddNamespace);\r
+\r
+ if (elMediaObjects != null) {\r
+ // <MediaObject id="m1">\r
+ List<Element> listMediaObjects = elMediaObjects.getChildren("MediaObject", sddNamespace);\r
+ int j = 0;\r
+ //for each Publication\r
+ for (Element elMO : listMediaObjects){\r
+\r
+ String id = "";\r
+\r
+ try {\r
+\r
+ String idMO = elMO.getAttributeValue("id");\r
+ id = idMO;\r
+\r
+ // <Representation>\r
+ // <Label>Image description, e.g. to be used for alt-attribute in html.</Label>\r
+ // </Representation>\r
+ Media media = Media.NewInstance();\r
+ importRepresentation(elMO, sddNamespace, media, idMO, sddConfig);\r
+\r
+ // <Type>Image</Type>\r
+ // <Source href="http://test.edu/test.jpg"/>\r
+ String type = (String)ImportHelper.getXmlInputValue(elMO,"Type",sddNamespace);\r
+\r
+ if ((type != null) && (type.equals("Image"))) {\r
+ Element elSource = elMO.getChild("Source",sddNamespace);\r
+ String href = elSource.getAttributeValue("href");\r
+\r
+ ImageMetaData imageMetaData = new ImageMetaData();\r
+ ImageFile image = null;\r
+\r
+ if (href.substring(0,7).equals("http://")) {\r
+ try{\r
+ URL url = new URL(href);\r
+ imageMetaData.readFrom(url);\r
+ image = ImageFile.NewInstance(url.toString(), null, imageMetaData);\r
+ } catch (MalformedURLException e) {\r
+ logger.error("Malformed URL", e);\r
+ }\r
+ } else {\r
+ String sns = sddConfig.getSourceNameString();\r
+ File f = new File(sns);\r
+ File parent = f.getParentFile();\r
+ String fi = parent.toString() + File.separator + href;\r
+ File file = new File(fi);\r
+ imageMetaData.readFrom(file);\r
+ image = ImageFile.NewInstance(file.toString(), null, imageMetaData);\r