Bug shooting
[gpl/argeo-suite.git] / org.argeo.suite.workbench.rap / src / org / argeo / suite / workbench / commands / ImportEntities.java
index 4febb0eccb357a7631ecea6a272671493b4d9c2d..640e90e79723c04732dcd9e22f49f9ae9d173ed0 100644 (file)
@@ -21,6 +21,7 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
 import org.apache.commons.io.IOUtils;
+import org.argeo.connect.ConnectConstants;
 import org.argeo.connect.ConnectNames;
 import org.argeo.connect.resources.ResourcesNames;
 import org.argeo.connect.resources.ResourcesService;
@@ -364,12 +365,11 @@ public class ImportEntities extends AbstractHandler implements PeopleNames {
                        line = line.trim();
 
                        if (line.startsWith("https://www.facebook.com")) {
-                               PeopleJcrUtils.createSocialMedia(peopleService, resourcesService, contactable, line,
-                                               !hasPrimaryFacebook, null, ContactValueCatalogs.CONTACT_CAT_FACEBOOK, null);
+                               PeopleJcrUtils.createSocialMedia(resourcesService, peopleService, contactable, line,
+                                               !hasPrimaryFacebook, ContactValueCatalogs.CONTACT_CAT_FACEBOOK, null);
                                hasPrimaryFacebook = true;
                        } else {
-                               PeopleJcrUtils.createWebsite(peopleService, resourcesService, contactable, line, !hasPrimary, null,
-                                               null);
+                               PeopleJcrUtils.createWebsite(resourcesService, peopleService, contactable, line, !hasPrimary, null);
                                hasPrimary = true;
                        }
                }
@@ -382,8 +382,7 @@ public class ImportEntities extends AbstractHandler implements PeopleNames {
                        if (EclipseUiUtils.isEmpty(line))
                                continue loop;
                        line = line.trim();
-                       PeopleJcrUtils.createEmail(peopleService, resourcesService, contactable, line, !hasPrimary, null, null,
-                                       null);
+                       PeopleJcrUtils.createEmail(resourcesService, peopleService, contactable, line, !hasPrimary, null, null);
                        hasPrimary = true;
                }
        }
@@ -443,15 +442,14 @@ public class ImportEntities extends AbstractHandler implements PeopleNames {
                                String stStr = getStringValue(sheet, stIndex, i);
                                String cStr = getStringValue(sheet, cIndex, i);
                                if (notEmpty(streetStr) || notEmpty(pcStr) || notEmpty(lStr) || notEmpty(stStr) || notEmpty(cStr))
-                                       PeopleJcrUtils.createAddress(peopleService, resourcesService, tmpOrg, streetStr, null, pcStr, lStr,
-                                                       stStr, cStr, true, null, ContactValueCatalogs.CONTACT_CAT_MAIN, null);
+                                       PeopleJcrUtils.createAddress(resourcesService, peopleService, tmpOrg, streetStr, null, pcStr, lStr,
+                                                       stStr, cStr, true, ContactValueCatalogs.CONTACT_CAT_MAIN, null);
                                String mobileStr = getStringValue(sheet, mobileIndex, i);
                                if (notEmpty(mobileStr))
-                                       PeopleJcrUtils.createPhone(peopleService, resourcesService, tmpOrg, mobileStr, true, null, null,
-                                                       null);
+                                       PeopleJcrUtils.createPhone(resourcesService, peopleService, tmpOrg, mobileStr, true, null, null);
                                String phoneStr = getStringValue(sheet, telephoneNumberIndex, i);
                                if (notEmpty(phoneStr))
-                                       PeopleJcrUtils.createPhone(peopleService, resourcesService, tmpOrg, phoneStr, true, null,
+                                       PeopleJcrUtils.createPhone(resourcesService, peopleService, tmpOrg, phoneStr, true,
                                                        ContactValueCatalogs.CONTACT_CAT_DIRECT, null);
                                String descStr = getStringValue(sheet, descriptionIndex, i);
                                if (notEmpty(descStr))
@@ -468,6 +466,15 @@ public class ImportEntities extends AbstractHandler implements PeopleNames {
                                if (notEmpty(contactsStr))
                                        importOrgEmployees(tmpParent, targetParent, newOrgNode, contactsStr);
                        }
+
+                       // Refresh tags and mailing list
+                       Node tagParent = resourcesService.getTagLikeResourceParent(session, ConnectConstants.RESOURCE_TAG);
+                       resourcesService.refreshKnownTags(tagParent);
+
+                       // Create Mailing lists
+                       Node mlParent = resourcesService.getTagLikeResourceParent(session, PeopleTypes.PEOPLE_MAILING_LIST);
+                       resourcesService.refreshKnownTags(mlParent);
+
                } catch (PeopleException | RepositoryException e) {
                        throw new SuiteException("Cannot import mapping file, error at line: " + (i + 1), e);
                } finally {