Correct publish flag import for BM import
[cdmlib-apps.git] / app-import / src / main / java / eu / etaxonomy / cdm / io / ProtologueImport.java
index 929f04f328d39def51f3d835073a0d1db56e62c5..0a4a19abae38768bc283a4a2593c4b7e427f9a9d 100644 (file)
@@ -11,6 +11,7 @@ package eu.etaxonomy.cdm.io;
 \r
 import java.io.File;\r
 import java.net.MalformedURLException;\r
+import java.net.URI;\r
 import java.util.HashSet;\r
 import java.util.Set;\r
 \r
@@ -20,6 +21,7 @@ import org.springframework.transaction.TransactionStatus;
 \r
 import eu.etaxonomy.cdm.api.service.ICommonService;\r
 import eu.etaxonomy.cdm.app.wp6.palmae.config.PalmaeProtologueImportConfigurator;\r
+import eu.etaxonomy.cdm.common.CdmUtils;\r
 import eu.etaxonomy.cdm.io.common.CdmIoBase;\r
 import eu.etaxonomy.cdm.io.common.DefaultImportState;\r
 import eu.etaxonomy.cdm.model.description.Feature;\r
@@ -47,8 +49,7 @@ public class ProtologueImport extends CdmIoBase<DefaultImportState<PalmaeProtolo
                super();\r
        }\r
 \r
-       public boolean doInvoke(DefaultImportState<PalmaeProtologueImportConfigurator> state){\r
-               boolean success = true;\r
+       public void doInvoke(DefaultImportState<PalmaeProtologueImportConfigurator> state){\r
                logger.info("start make Protologues from files ...");\r
                \r
                Set<TaxonNameBase> nameStore = new HashSet<TaxonNameBase>();\r
@@ -63,27 +64,28 @@ public class ProtologueImport extends CdmIoBase<DefaultImportState<PalmaeProtolo
                                if (file.isFile()){\r
                                        doCount(count++, modCount, pluralString);\r
                                        name = importFile(file, state);\r
-                                       success &= storeName(nameStore, name);\r
+                                       storeName(nameStore, name, state);\r
                                }\r
                        }\r
                }else{\r
                        if (source.isFile()){\r
                                name = importFile(source, state);\r
-                               success &= storeName(nameStore, name);\r
+                               storeName(nameStore, name, state);\r
                        }\r
                }\r
                getNameService().save(nameStore);\r
                commitTransaction(txStatus);\r
                logger.info("end make Protologues from files ...");\r
-               return success;\r
+               return;\r
        }\r
        \r
-       private boolean storeName(Set<TaxonNameBase> nameStore, TaxonNameBase name){\r
+       private void storeName(Set<TaxonNameBase> nameStore, TaxonNameBase name, DefaultImportState<PalmaeProtologueImportConfigurator> state){\r
                if (name != null){\r
                        nameStore.add(name);\r
-                       return true;\r
+                       return;\r
                }else{\r
-                       return false;\r
+                       state.setUnsuccessfull();\r
+                       return;\r
                }\r
        }\r
                \r
@@ -144,13 +146,14 @@ public class ProtologueImport extends CdmIoBase<DefaultImportState<PalmaeProtolo
                        String mimeTypePdf = "application/pdf"; \r
                        String suffixPdf = "pdf"; \r
                        String urlStringPdf = state.getConfig().getUrlString() + file.getName(); \r
+                       URI uri = CdmUtils.string2Uri(urlStringPdf);\r
                        Integer size = null;\r
                        \r
                        if (file.exists()){  \r
                                Media media = Media.NewInstance();\r
                            \r
                                MediaRepresentation representationPdf = MediaRepresentation.NewInstance(mimeTypePdf, suffixPdf); \r
-                           representationPdf.addRepresentationPart(MediaRepresentationPart.NewInstance(urlStringPdf, size)); \r
+                           representationPdf.addRepresentationPart(MediaRepresentationPart.NewInstance(uri, size)); \r
                            media.addRepresentation(representationPdf); \r
                            return media;\r
                        }else{\r