Merge branch 'develop' into stable
This commit is contained in:
@@ -60,7 +60,7 @@ public class ModelShareExtension implements Bootstrappable {
|
||||
return;
|
||||
|
||||
this.logger.trace("scheduled()");
|
||||
this.worker.share();
|
||||
this.worker.shareAllModels();
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user