James Moger
2014-07-02 3610dc445e01ee07faae64acaabcdc00aac5e1b5
src/main/java/com/gitblit/manager/PluginManager.java
@@ -58,6 +58,8 @@
import com.gitblit.utils.StringUtils;
import com.google.common.io.Files;
import com.google.common.io.InputSupplier;
import com.google.inject.Inject;
import com.google.inject.Singleton;
/**
 * The plugin manager maintains the lifecycle of plugins. It is exposed as
@@ -68,32 +70,23 @@
 * @author James Moger
 *
 */
@Singleton
public class PluginManager implements IPluginManager, PluginStateListener {
   private final Logger logger = LoggerFactory.getLogger(getClass());
   private final DefaultPluginManager pf4j;
   private final IRuntimeManager runtimeManager;
   private DefaultPluginManager pf4j;
   // timeout defaults of Maven 3.0.4 in seconds
   private int connectTimeout = 20;
   private int readTimeout = 12800;
   @Inject
   public PluginManager(IRuntimeManager runtimeManager) {
      File dir = runtimeManager.getFileOrFolder(Keys.plugins.folder, "${baseFolder}/plugins");
      dir.mkdirs();
      this.runtimeManager = runtimeManager;
      this.pf4j = new DefaultPluginManager(dir);
      try {
         Version systemVersion = Version.createVersion(Constants.getVersion());
         pf4j.setSystemVersion(systemVersion);
      } catch (Exception e) {
         logger.error(null, e);
      }
   }
   @Override
@@ -108,6 +101,16 @@
   @Override
   public PluginManager start() {
      File dir = runtimeManager.getFileOrFolder(Keys.plugins.folder, "${baseFolder}/plugins");
      dir.mkdirs();
      pf4j = new DefaultPluginManager(dir);
      try {
         Version systemVersion = Version.createVersion(Constants.getVersion());
         pf4j.setSystemVersion(systemVersion);
      } catch (Exception e) {
         logger.error(null, e);
      }
      pf4j.loadPlugins();
      logger.debug("Starting plugins");
      pf4j.startPlugins();
@@ -377,7 +380,7 @@
      List<PluginRegistration> list = getRegisteredPlugins();
      Iterator<PluginRegistration> itr = list.iterator();
      while (itr.hasNext()) {
         if (state != itr.next().getInstallState()) {
         if (state != itr.next().getInstallState(getSystemVersion())) {
            itr.remove();
         }
      }
@@ -403,7 +406,7 @@
      PluginRelease pv;
      if (StringUtils.isEmpty(version)) {
         pv = reg.getCurrentRelease();
         pv = reg.getCurrentRelease(getSystemVersion());
      } else {
         pv = reg.getRelease(version);
      }