6 Commits

Author SHA1 Message Date
3322901cb1 v1.0.5 pom 2024-05-03 12:12:47 -04:00
bf06433a4d Merge branch 'develop' into stable 2024-05-03 12:12:26 -04:00
e437234c28 share models by tenant 2024-05-03 12:12:15 -04:00
e5debe9a47 v1.0.4 pom 2024-05-03 12:11:48 -04:00
8b1c958ddc Merge branch 'develop' into stable 2024-05-02 15:58:06 -04:00
5d172e234e fix enabled typo 2024-05-02 15:57:57 -04:00
3 changed files with 23 additions and 11 deletions

View File

@@ -5,7 +5,7 @@
<groupId>com.inteligr8.alfresco.activiti</groupId>
<artifactId>model-share-activiti-app-ext</artifactId>
<version>1.0.3</version>
<version>1.0.5</version>
<packaging>jar</packaging>
<name>Model Share APS Extension</name>

View File

@@ -38,7 +38,7 @@ public class ModelShareExtension implements Bootstrappable {
public void onBootstrap() {
this.logger.trace("onBootstrap()");
if (this.enabled)
if (!this.enabled)
return;
this.logger.info("Model Share Extension enabled");
@@ -60,7 +60,7 @@ public class ModelShareExtension implements Bootstrappable {
return;
this.logger.trace("scheduled()");
this.worker.share();
this.worker.shareAllModels();
}
}

View File

@@ -25,6 +25,7 @@ import java.util.Map.Entry;
import java.util.Set;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.repository.ModelQuery;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -206,31 +207,42 @@ public class ModelShareWorker implements Bootstrappable {
map.put(key, value);
}
public void share() {
this.logger.trace("Discovering models ...");
public void shareAllModels() {
if (this.tenantId != null)
this.shareAllModels(this.tenantId);
this.shareAllModels(null);
}
public void shareAllModels(Long tenantId) {
this.logger.trace("Discovering models in tenant {} ...", this.tenantId);
long modelCount = 0L;
int page = 1;
int perPage = this.modelChunkSize;
List<org.activiti.engine.repository.Model> models = this.services.getRepositoryService().createModelQuery().listPage((page-1)*perPage, perPage);
ModelQuery query = this.services.getRepositoryService().createModelQuery().latestVersion();
if (tenantId != null)
query.modelTenantId(String.valueOf(tenantId));
else query.modelWithoutTenantId();
List<org.activiti.engine.repository.Model> models = query.listPage((page-1)*perPage, perPage);
while (!models.isEmpty()) {
this.logger.trace("Fetched page #{} of {} models", page, models.size());
this.logger.trace("Fetched page #{} of {} models in tenant {}", page, models.size(), this.tenantId);
for (org.activiti.engine.repository.Model model : models) {
this.logger.debug("Discovered model: {}: {}: {}", model.getCategory(), model.getId(), model.getName());
this.share(model);
this.shareModel(model);
}
modelCount += models.size();
page++;
models = this.services.getRepositoryService().createModelQuery().listPage((page-1)*perPage, perPage);
models = query.listPage((page-1)*perPage, perPage);
}
this.logger.trace("Discovered {} models", modelCount);
this.logger.trace("Discovered {} models in tenant {}", modelCount, this.tenantId);
}
public void share(org.activiti.engine.repository.Model orgModel) {
public void shareModel(org.activiti.engine.repository.Model orgModel) {
Model model = (Model) this.modelService.getModel(Long.valueOf(orgModel.getId()));
Map<HashableGroup, SharePermission> shares = this.fetchCurrentModelShares(model);