public IStatus execute(Map<String, Object> parameters) { try { IProvisioningAgent agent = getAgent(parameters); IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); IAgentLocation agentLocation = (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME); final RepositoryEvent event = createEvent(parameters); IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE); if (profile != null) addRepositoryToProfile(agentLocation, profile, event.getRepositoryLocation(), event.getRepositoryNickname(), event.getRepositoryType(), event.isRepositoryEnabled()); //if provisioning into the current profile, broadcast an event to add this repository directly to the current repository managers. if (isSelfProfile(registry, profile)) addToSelf(agent, agentLocation, event); return Status.OK_STATUS; } catch (CoreException e) { return e.getStatus(); } }
public IStatus undo(Map<String, Object> parameters) { try { IProvisioningAgent agent = getAgent(parameters); IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); IAgentLocation agentLocation = (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME); RepositoryEvent event = createEvent(parameters); IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE); if (profile != null) addRepositoryToProfile(agentLocation, profile, event.getRepositoryLocation(), event.getRepositoryNickname(), event.getRepositoryType(), event.isRepositoryEnabled()); //if we are provisioning into the self profile, update the current set of repositories in this configuration if (isSelfProfile(registry, profile)) addToSelf(agent, agentLocation, event); return Status.OK_STATUS; } catch (CoreException e) { return e.getStatus(); } }
public IStatus execute(Map<String, Object> parameters) { try { IProvisioningAgent agent = getAgent(parameters); IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); IAgentLocation agentLocation = (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME); final RepositoryEvent event = createEvent(parameters); IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE); if (profile != null) addRepositoryToProfile(agentLocation, profile, event.getRepositoryLocation(), event.getRepositoryNickname(), event.getRepositoryType(), event.isRepositoryEnabled()); //if provisioning into the current profile, broadcast an event to add this repository directly to the current repository managers. if (isSelfProfile(registry, profile)) addToSelf(agent, agentLocation, event); return Status.OK_STATUS; } catch (CoreException e) { return e.getStatus(); } }
public IStatus undo(Map<String, Object> parameters) { try { IProvisioningAgent agent = getAgent(parameters); IProfileRegistry registry = (IProfileRegistry) agent.getService(IProfileRegistry.SERVICE_NAME); IAgentLocation agentLocation = (IAgentLocation) agent.getService(IAgentLocation.SERVICE_NAME); RepositoryEvent event = createEvent(parameters); IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE); if (profile != null) addRepositoryToProfile(agentLocation, profile, event.getRepositoryLocation(), event.getRepositoryNickname(), event.getRepositoryType(), event.isRepositoryEnabled()); //if we are provisioning into the self profile, update the current set of repositories in this configuration if (isSelfProfile(registry, profile)) addToSelf(agent, agentLocation, event); return Status.OK_STATUS; } catch (CoreException e) { return e.getStatus(); } }
/** * Adds the repository corresponding to the given event to the currently running instance. */ protected void addToSelf(IProvisioningAgent agent, IAgentLocation agentLocation, RepositoryEvent event) { IRepositoryManager<?> manager = getRepositoryManager(agent, event.getRepositoryType()); final URI location = event.getRepositoryLocation(); Preferences node = getRepositoryPreferenceNode(agentLocation, null, location, event.getRepositoryType()); int count = getRepositoryCount(node); if (manager.contains(location)) { // If a user as added a repository we need to set the initial count manually if (count == 0) count = 1; } else { if (manager != null) manager.addRepository(location); } // increment the counter & send to preferences count++; setRepositoryCount(node, count); if (!event.isRepositoryEnabled()) manager.setEnabled(location, false); final String name = event.getRepositoryNickname(); if (name != null) manager.setRepositoryProperty(location, IRepository.PROP_NICKNAME, name); }
/** * Adds the repository corresponding to the given event to the currently running instance. */ protected void addToSelf(IProvisioningAgent agent, IAgentLocation agentLocation, RepositoryEvent event) { IRepositoryManager<?> manager = getRepositoryManager(agent, event.getRepositoryType()); final URI location = event.getRepositoryLocation(); Preferences node = getRepositoryPreferenceNode(agentLocation, null, location, event.getRepositoryType()); int count = getRepositoryCount(node); if (manager.contains(location)) { // If a user as added a repository we need to set the initial count manually if (count == 0) count = 1; } else { if (manager != null) manager.addRepository(location); } // increment the counter & send to preferences count++; setRepositoryCount(node, count); if (!event.isRepositoryEnabled()) manager.setEnabled(location, false); final String name = event.getRepositoryNickname(); if (name != null) manager.setRepositoryProperty(location, IRepository.PROP_NICKNAME, name); }