⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chartsplugin.java

📁 EclipseTrader is a stock exchange analysis system, featuring shares pricing watch, intraday and hi
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                        if (nodeName.equalsIgnoreCase("compression") == true)                            chart.setCompression(Integer.parseInt(valueNode.getNodeValue()));                        else if (nodeName.equalsIgnoreCase("period") == true)                            chart.setPeriod(Integer.parseInt(valueNode.getNodeValue()));                        else if (nodeName.equalsIgnoreCase("autoScale") == true)                            chart.setAutoScale(new Boolean(valueNode.getNodeValue()).booleanValue());                        else if (nodeName.equalsIgnoreCase("begin") == true)                        {                            try {                                chart.setBeginDate(dateTimeFormat.parse(valueNode.getNodeValue()));                            } catch (Exception e) {                                logger.warn(e.toString());                            }                        }                        else if (nodeName.equalsIgnoreCase("end") == true)                        {                            try {                                chart.setEndDate(dateTimeFormat.parse(valueNode.getNodeValue()));                            } catch (Exception e) {                                logger.warn(e.toString());                            }                        }                    }                    if (nodeName.equalsIgnoreCase("row")) //$NON-NLS-1$                    {                        ChartRow row = new ChartRow(new Integer(r));                        row.setParent(chart);                                                NodeList tabList = item.getChildNodes();                        for (int t = 0; t < tabList.getLength(); t++)                        {                            item = tabList.item(t);                            nodeName = item.getNodeName();                            if (nodeName.equalsIgnoreCase("tab")) //$NON-NLS-1$                            {                                ChartTab tab = new ChartTab(new Integer(t));                                tab.setParent(row);                                tab.setLabel(((Node)item).getAttributes().getNamedItem("label").getNodeValue());                                NodeList indicatorList = item.getChildNodes();                                for (int i = 0; i < indicatorList.getLength(); i++)                                {                                    item = indicatorList.item(i);                                    nodeName = item.getNodeName();                                    if (nodeName.equalsIgnoreCase("indicator")) //$NON-NLS-1$                                    {                                        ChartIndicator indicator = new ChartIndicator(new Integer(i));                                        indicator.setParent(tab);                                        indicator.setPluginId(((Node)item).getAttributes().getNamedItem("pluginId").getNodeValue());                                        NodeList parametersList = item.getChildNodes();                                        for (int p = 0; p < parametersList.getLength(); p++)                                        {                                            item = parametersList.item(p);                                            nodeName = item.getNodeName();                                            if (nodeName.equalsIgnoreCase("param")) //$NON-NLS-1$                                            {                                                String key = ((Node)item).getAttributes().getNamedItem("key").getNodeValue();                                                 String value = ((Node)item).getAttributes().getNamedItem("value").getNodeValue();                                                indicator.getParameters().put(key, value);                                            }                                        }                                                                                tab.getIndicators().add(indicator);                                    }                                    else if (nodeName.equalsIgnoreCase("object")) //$NON-NLS-1$                                    {                                        ChartObject object = new ChartObject(new Integer(i));                                        object.setParent(tab);                                        object.setPluginId(((Node)item).getAttributes().getNamedItem("pluginId").getNodeValue());                                        NodeList parametersList = item.getChildNodes();                                        for (int p = 0; p < parametersList.getLength(); p++)                                        {                                            item = parametersList.item(p);                                            nodeName = item.getNodeName();                                            if (nodeName.equalsIgnoreCase("param")) //$NON-NLS-1$                                            {                                                String key = ((Node)item).getAttributes().getNamedItem("key").getNodeValue();                                                 String value = ((Node)item).getAttributes().getNamedItem("value").getNodeValue();                                                object.getParameters().put(key, value);                                            }                                        }                                                                                tab.getObjects().add(object);                                    }                                }                                row.getTabs().add(tab);                            }                        }                                                chart.getRows().add(row);                    }                }            } catch (Exception e) {                logger.error(e.toString(), e);            }        }                chart.clearChanged();        return chart;    }        public static void saveDefaultChart(Chart chart)    {        Log logger = LogFactory.getLog(ChartsPlugin.class);        SimpleDateFormat dateTimeFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); //$NON-NLS-1$        try {            DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();            Document document = builder.getDOMImplementation().createDocument(null, "chart", null);            Element root = document.getDocumentElement();                        Element node = document.createElement("title");            node.appendChild(document.createTextNode(chart.getTitle()));            root.appendChild(node);            node = document.createElement("compression");            node.appendChild(document.createTextNode(String.valueOf(chart.getCompression())));            root.appendChild(node);            node = document.createElement("period");            node.appendChild(document.createTextNode(String.valueOf(chart.getPeriod())));            root.appendChild(node);            node = document.createElement("autoScale");            node.appendChild(document.createTextNode(String.valueOf(chart.isAutoScale())));            root.appendChild(node);            if (chart.getBeginDate() != null)            {                node = document.createElement("begin");                node.appendChild(document.createTextNode(dateTimeFormat.format(chart.getBeginDate())));                root.appendChild(node);            }            if (chart.getEndDate() != null)            {                node = document.createElement("end");                node.appendChild(document.createTextNode(dateTimeFormat.format(chart.getEndDate())));                root.appendChild(node);            }            for (int r = 0; r < chart.getRows().size(); r++)            {                ChartRow row = (ChartRow)chart.getRows().get(r);                row.setId(new Integer(r));                Element rowNode = document.createElement("row");                root.appendChild(rowNode);                for (int t = 0; t < row.getTabs().size(); t++)                {                    ChartTab tab = (ChartTab)row.getTabs().get(t);                    tab.setId(new Integer(t));                    Element tabNode = document.createElement("tab");                    tabNode.setAttribute("label", tab.getLabel());                    rowNode.appendChild(tabNode);                    for (int i = 0; i < tab.getIndicators().size(); i++)                    {                        ChartIndicator indicator = (ChartIndicator)tab.getIndicators().get(i);                        indicator.setId(new Integer(i));                        Element indicatorNode = document.createElement("indicator");                        indicatorNode.setAttribute("pluginId", indicator.getPluginId());                        tabNode.appendChild(indicatorNode);                        for (Iterator iter = indicator.getParameters().keySet().iterator(); iter.hasNext(); )                        {                            String key = (String)iter.next();                            node = document.createElement("param");                            node.setAttribute("key", key);                            node.setAttribute("value", (String)indicator.getParameters().get(key));                            indicatorNode.appendChild(node);                        }                    }                    for (int i = 0; i < tab.getObjects().size(); i++)                    {                        ChartObject object = (ChartObject)tab.getObjects().get(i);                        object.setId(new Integer(i));                        Element indicatorNode = document.createElement("object");                        indicatorNode.setAttribute("pluginId", object.getPluginId());                        tabNode.appendChild(indicatorNode);                        for (Iterator iter = object.getParameters().keySet().iterator(); iter.hasNext(); )                        {                            String key = (String)iter.next();                            node = document.createElement("param");                            node.setAttribute("key", key);                            node.setAttribute("value", (String)object.getParameters().get(key));                            indicatorNode.appendChild(node);                        }                    }                }            }            TransformerFactory factory = TransformerFactory.newInstance();            try {                factory.setAttribute("indent-number", new Integer(4));            } catch(Exception e) {}            Transformer transformer = factory.newTransformer();            transformer.setOutputProperty(OutputKeys.METHOD, "xml");            transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");            transformer.setOutputProperty(OutputKeys.INDENT, "yes");            transformer.setOutputProperty("{http\u003a//xml.apache.org/xslt}indent-amount", "4");            DOMSource source = new DOMSource(document);                        File file = ChartsPlugin.getDefault().getStateLocation().append("defaultChart.xml").toFile();                        BufferedWriter out = new BufferedWriter(new FileWriter(file));            StreamResult result = new StreamResult(out);            transformer.transform(source, result);            out.flush();            out.close();        } catch (Exception e) {            logger.error(e.toString(), e);        }    }    private void copyFileToStateLocation(String file)    {        File f = ChartsPlugin.getDefault().getStateLocation().append(file).toFile();        if (!f.exists())        {            try            {                byte[] buffer = new byte[10240];                OutputStream os = new FileOutputStream(f);                InputStream is = FileLocator.openStream(getBundle(), new Path("data/" + file), false);                int readed = 0;                do                {                    readed = is.read(buffer);                    os.write(buffer, 0, readed);                } while (readed == buffer.length);                os.close();                is.close();            }            catch (Exception e) {                CorePlugin.logException(e);            }        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -