diff --git a/designer_base/src/com/fr/PluginManager.java b/designer_base/src/com/fr/plugin/PluginManager.java similarity index 96% rename from designer_base/src/com/fr/PluginManager.java rename to designer_base/src/com/fr/plugin/PluginManager.java index 271002aa1..c539db874 100644 --- a/designer_base/src/com/fr/PluginManager.java +++ b/designer_base/src/com/fr/plugin/PluginManager.java @@ -1,128 +1,128 @@ -package com.fr.plugin; - -import com.fr.design.actions.UpdateAction; -import com.fr.file.XMLFileManager; -import com.fr.general.ComparatorUtils; -import com.fr.general.FRLogger; -import com.fr.general.GeneralUtils; -import com.fr.stable.StringUtils; -import com.fr.stable.xml.XMLPrintWriter; -import com.fr.stable.xml.XMLReadable; -import com.fr.stable.xml.XMLableReader; - -import java.util.ArrayList; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 13-12-20 - * Time: 下午5:05 - */ -public class PluginManager extends XMLFileManager { - - private static PluginManager pluginManager = null; - - private String extensionPoint = StringUtils.EMPTY; - - private ArrayList resultList = new ArrayList(); - - - public synchronized static PluginManager getInstance() { - if (pluginManager == null) { - pluginManager = new PluginManager(); - } - return pluginManager; - } - - - public PluginManager() { - - } - - /** - * 文件名 - * @return 文件名 - */ - public String fileName() { - return "plugin.xml"; - } - - - public void setExtensionPoint(String point) { - extensionPoint = point; - resultList.clear(); - pluginManager.readXMLFile(); - } - - - @Override - public void readXML(XMLableReader reader) { - if (extensionPoint == StringUtils.EMPTY) { - return; - } - if (reader.getTagName().equals("PluginManager")) { - reader.readXMLObject(new XMLReadable() { - @Override - public void readXML(XMLableReader reader) { - readExtension(reader); - } - }); - } - - - } - - private void readExtension(XMLableReader reader) { - if (reader.isChildNode()) { - if (reader.getTagName().equals("Extension")) { - String name = null, tmpVal = null; - if ((tmpVal = reader.getAttrAsString("position", null)) != null) { - name = tmpVal; - } - if (!ComparatorUtils.equals(name, extensionPoint)) { - return; - } - reader.readXMLObject(new XMLReadable() { - @Override - public void readXML(XMLableReader reader) { - readActions(reader); - } - }); - - } - } - } - - private void readActions(XMLableReader reader) { - if (reader.isChildNode()) { - if (reader.getTagName().equals("Action")) { - String name = null, tmpVal = null; - if ((tmpVal = reader.getAttrAsString("class", null)) != null) { - name = tmpVal; - } - //读取模板数据集菜单 - if (name.isEmpty()) { - return; - } - try { - UpdateAction action = (UpdateAction) GeneralUtils.classForName(name).newInstance(); - PluginManager.this.resultList.add(action); - } catch (Exception exp) { - FRLogger.getLogger().error(exp.getMessage(), exp); - } - } - } - - } - - - public ArrayList getResultList() { - return resultList; - } - - @Override - public void writeXML(XMLPrintWriter writer) { - } - +package com.fr.plugin; + +import com.fr.design.actions.UpdateAction; +import com.fr.file.XMLFileManager; +import com.fr.general.ComparatorUtils; +import com.fr.general.FRLogger; +import com.fr.general.GeneralUtils; +import com.fr.stable.StringUtils; +import com.fr.stable.xml.XMLPrintWriter; +import com.fr.stable.xml.XMLReadable; +import com.fr.stable.xml.XMLableReader; + +import java.util.ArrayList; + +/** + * Created by IntelliJ IDEA. + * Author : daisy + * Version: 6.5.6 + * Date: 13-12-20 + * Time: 下午5:05 + */ +public class PluginManager extends XMLFileManager { + + private static PluginManager pluginManager = null; + + private String extensionPoint = StringUtils.EMPTY; + + private ArrayList resultList = new ArrayList(); + + + public synchronized static PluginManager getInstance() { + if (pluginManager == null) { + pluginManager = new PluginManager(); + } + return pluginManager; + } + + + public PluginManager() { + + } + + /** + * 文件名 + * @return 文件名 + */ + public String fileName() { + return "plugin.xml"; + } + + + public void setExtensionPoint(String point) { + extensionPoint = point; + resultList.clear(); + pluginManager.readXMLFile(); + } + + + @Override + public void readXML(XMLableReader reader) { + if (extensionPoint == StringUtils.EMPTY) { + return; + } + if (reader.getTagName().equals("PluginManager")) { + reader.readXMLObject(new XMLReadable() { + @Override + public void readXML(XMLableReader reader) { + readExtension(reader); + } + }); + } + + + } + + private void readExtension(XMLableReader reader) { + if (reader.isChildNode()) { + if (reader.getTagName().equals("Extension")) { + String name = null, tmpVal = null; + if ((tmpVal = reader.getAttrAsString("position", null)) != null) { + name = tmpVal; + } + if (!ComparatorUtils.equals(name, extensionPoint)) { + return; + } + reader.readXMLObject(new XMLReadable() { + @Override + public void readXML(XMLableReader reader) { + readActions(reader); + } + }); + + } + } + } + + private void readActions(XMLableReader reader) { + if (reader.isChildNode()) { + if (reader.getTagName().equals("Action")) { + String name = null, tmpVal = null; + if ((tmpVal = reader.getAttrAsString("class", null)) != null) { + name = tmpVal; + } + //读取模板数据集菜单 + if (name.isEmpty()) { + return; + } + try { + UpdateAction action = (UpdateAction) GeneralUtils.classForName(name).newInstance(); + PluginManager.this.resultList.add(action); + } catch (Exception exp) { + FRLogger.getLogger().error(exp.getMessage(), exp); + } + } + } + + } + + + public ArrayList getResultList() { + return resultList; + } + + @Override + public void writeXML(XMLPrintWriter writer) { + } + } \ No newline at end of file