Adapt after connect refactoring
[gpl/argeo-suite.git] / org.argeo.suite.workbench.rap / src / org / argeo / suite / workbench / commands / ImportEntities.java
index 44bd81eddb77f6d532b2ddeeb2f2a85367cd7c05..769e807075b16b5e963fa2e1b2bee13fda338ba4 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;
@@ -344,7 +345,7 @@ public class ImportEntities extends AbstractHandler implements PeopleNames {
                        tmpPerson.setProperty(PEOPLE_FIRST_NAME, firstName);
                        if (EclipseUiUtils.notEmpty(lastName))
                                tmpPerson.setProperty(PEOPLE_LAST_NAME, lastName);
-                       Node newPersonNode = peopleService.createEntity(targetParent, PeopleTypes.PEOPLE_PERSON, tmpPerson);
+                       Node newPersonNode = peopleService.publishEntity(targetParent, PeopleTypes.PEOPLE_PERSON, tmpPerson);
                        // if (EclipseUiUtils.notEmpty(position))
                        PersonJcrUtils.addJob(resourcesService, peopleService, newPersonNode, newOrgNode, position, true);
                        // Save the newly created entity without creating a base version
@@ -457,7 +458,7 @@ public class ImportEntities extends AbstractHandler implements PeopleNames {
                                if (notEmpty(tagsStr))
                                        tmpOrg.setProperty(ResourcesNames.CONNECT_TAGS, ConnectJcrUtils.parseAndClean(tagsStr, ",", true));
 
-                               Node newOrgNode = peopleService.createEntity(targetParent, PeopleTypes.PEOPLE_ORG, tmpOrg);
+                               Node newOrgNode = peopleService.publishEntity(targetParent, PeopleTypes.PEOPLE_ORG, tmpOrg);
                                // Save the newly created entity without creating a base version
                                newOrgNode = peopleService.saveEntity(newOrgNode, false);
 
@@ -465,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 {