package com.c2kernel.entity.imports; import java.util.Iterator; import com.c2kernel.common.CannotManageException; import com.c2kernel.common.ObjectAlreadyExistsException; import com.c2kernel.common.ObjectCannotBeUpdated; import com.c2kernel.common.ObjectNotFoundException; import com.c2kernel.lookup.AgentPath; import com.c2kernel.lookup.Path; import com.c2kernel.lookup.RolePath; import com.c2kernel.process.Gateway; import com.c2kernel.process.module.ModuleImport; public class ImportRole extends ModuleImport { private boolean jobList; public ImportRole() { } @Override public void create(AgentPath agentPath, boolean reset) throws ObjectAlreadyExistsException, ObjectCannotBeUpdated, CannotManageException, ObjectNotFoundException { RolePath parent = new RolePath(); if (name.indexOf('/') > -1) { String[] roleComp = name.split("/"); for (int i=0; i childIter = parent.getChildren(); boolean found = false; while (childIter.hasNext()) { RolePath childRole = (RolePath)childIter.next(); if (childRole.getName().equals(roleComp[i])) { parent = childRole; found = true; break; } } if (!found) throw new ObjectNotFoundException("Parent role "+roleComp[i]+" was not found", ""); } name = roleComp[roleComp.length-1]; } RolePath newRole = new RolePath(parent, name, jobList); if (!newRole.exists()) Gateway.getLookupManager().createRole(newRole); } public boolean hasJobList() { return jobList; } public void setJobList(boolean jobList) { this.jobList = jobList; } }