allow to create instance of non-public files

This commit is contained in:
Vladimir Krivosheev
2015-02-09 12:42:48 +01:00
parent 71c6e5f3f0
commit b7d0bbdecd
2 changed files with 5 additions and 11 deletions
@@ -17,7 +17,9 @@ package org.jetbrains.ide;
import com.intellij.ide.XmlRpcHandlerBean;
import com.intellij.ide.XmlRpcServer;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.extensions.AbstractExtensionPointBean;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.CharsetToolkit;
@@ -48,7 +50,7 @@ public class XmlRpcServerImpl implements XmlRpcServer {
handlerMapping = new THashMap<String, Object>();
for (XmlRpcHandlerBean handlerBean : Extensions.getExtensions(XmlRpcHandlerBean.EP_NAME)) {
try {
handlerMapping.put(handlerBean.name, handlerBean.instantiate());
handlerMapping.put(handlerBean.name, AbstractExtensionPointBean.instantiate(handlerBean.findClass(handlerBean.implementation), ApplicationManager.getApplication().getPicoContainer(), true));
}
catch (ClassNotFoundException e) {
LOG.error(e);
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2010 JetBrains s.r.o.
* Copyright 2000-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -15,14 +15,10 @@
*/
package com.intellij.ide;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.extensions.AbstractExtensionPointBean;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.util.xmlb.annotations.Attribute;
/**
* @author yole
*/
public class XmlRpcHandlerBean extends AbstractExtensionPointBean {
public static final ExtensionPointName<XmlRpcHandlerBean> EP_NAME = ExtensionPointName.create("com.intellij.xmlRpcHandler");
@@ -31,8 +27,4 @@ public class XmlRpcHandlerBean extends AbstractExtensionPointBean {
@Attribute("implementation")
public String implementation;
public Object instantiate() throws ClassNotFoundException {
return instantiate(implementation, ApplicationManager.getApplication().getPicoContainer());
}
}
}