Package org.jboss.forge.furnace.manager.impl.request

Source Code of org.jboss.forge.furnace.manager.impl.request.RemoveRequestImpl

/*
* Copyright 2013 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.forge.furnace.manager.impl.request;

import java.util.concurrent.Callable;

import org.jboss.forge.furnace.Furnace;
import org.jboss.forge.furnace.addons.AddonId;
import org.jboss.forge.furnace.lock.LockMode;
import org.jboss.forge.furnace.manager.request.RemoveRequest;
import org.jboss.forge.furnace.manager.spi.AddonInfo;
import org.jboss.forge.furnace.repositories.MutableAddonRepository;

/**
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*
*/
class RemoveRequestImpl extends AbstractAddonActionRequest implements RemoveRequest
{
   RemoveRequestImpl(AddonInfo addonInfo, MutableAddonRepository repository, Furnace forge)
   {
      super(addonInfo, repository, forge);
   }

   @Override
   public void execute()
   {
      furnace.getLockManager().performLocked(LockMode.WRITE, new Callable<Object>()
      {
         @Override
         public Object call() throws Exception
         {
            AddonId id = getRequestedAddonInfo().getAddon();
            repository.disable(id);
            repository.undeploy(id);
            return null;
         }
      });
   }

   @Override
   public String toString()
   {
      return "Remove: [" + addonInfo + "]";
   }
}
TOP

Related Classes of org.jboss.forge.furnace.manager.impl.request.RemoveRequestImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.