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

📄 xmlrepository.java

📁 EclipseTrader is a stock exchange analysis system, featuring shares pricing watch, intraday and hi
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
                saveChart(chart, root, document);            }            saveDocument(document, "", "charts.xml");        } catch (Exception e) {            log.error(e.toString(), e);        }    }        private void saveChart(Chart chart, Element root, Document document)    {        Element element = document.createElement("chart");        element.setAttribute("id", String.valueOf(chart.getId()));        root.appendChild(element);        Element node = document.createElement("title");        node.appendChild(document.createTextNode(chart.getTitle()));        element.appendChild(node);        node = document.createElement("security");        node.appendChild(document.createTextNode(String.valueOf(chart.getSecurity().getId())));        element.appendChild(node);        node = document.createElement("compression");        node.appendChild(document.createTextNode(String.valueOf(chart.getCompression())));        element.appendChild(node);        node = document.createElement("period");        node.appendChild(document.createTextNode(String.valueOf(chart.getPeriod())));        element.appendChild(node);        node = document.createElement("autoScale");        node.appendChild(document.createTextNode(String.valueOf(chart.isAutoScale())));        element.appendChild(node);        if (chart.getBeginDate() != null)        {            node = document.createElement("begin");            node.appendChild(document.createTextNode(dateTimeFormat.format(chart.getBeginDate())));            element.appendChild(node);        }        if (chart.getEndDate() != null)        {            node = document.createElement("end");            node.appendChild(document.createTextNode(dateTimeFormat.format(chart.getEndDate())));            element.appendChild(node);        }        for (int r = 0; r < chart.getRows().size(); r++)        {            ChartRow row = (ChartRow)chart.getRows().get(r);            row.setId(new Integer(r));            row.setParent(chart);            row.setRepository(this);            Element rowNode = document.createElement("row");            element.appendChild(rowNode);            for (int t = 0; t < row.getTabs().size(); t++)            {                ChartTab tab = (ChartTab)row.getTabs().get(t);                tab.setId(new Integer(t));                tab.setParent(row);                tab.setRepository(this);                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));                    indicator.setParent(tab);                    indicator.setRepository(this);                    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));                    object.setParent(tab);                    object.setRepository(this);                    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);                    }                }            }        }    }        private Chart loadChart(Integer id)    {        Chart chart = new Chart(id);        chart.setRepository(this);        chart.setSecurity((Security)load(Security.class, id));                File file = new File(Platform.getLocation().toFile(), "charts/" + String.valueOf(id) + ".xml");        if (file.exists() == false)            file = new File(Platform.getLocation().toFile(), "charts/default.xml");        if (file.exists() == true)        {            try            {                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();                DocumentBuilder builder = factory.newDocumentBuilder();                builder.setErrorHandler(errorHandler);                Document document = builder.parse(file);                NodeList firstNode = document.getFirstChild().getChildNodes();                for (int r = 0; r < firstNode.getLength(); r++)                {                    Node item = firstNode.item(r);                    Node valueNode = item.getFirstChild();                    String nodeName = item.getNodeName();                                        if (valueNode != null)                    {                        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) {                                log.warn(e.toString());                            }                        }                        else if (nodeName.equalsIgnoreCase("end") == true)                        {                            try {                                chart.setEndDate(dateTimeFormat.parse(valueNode.getNodeValue()));                            } catch (Exception e) {                                log.warn(e.toString());                            }                        }                    }                    if (nodeName.equalsIgnoreCase("row")) //$NON-NLS-1$                    {                        ChartRow row = new ChartRow(new Integer(r));                        row.setRepository(this);                        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.setRepository(this);                                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.setRepository(this);                                        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.setRepository(this);                                        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) {                log.error(e.toString(), e);            }        }                if (chart.getTitle().length() == 0)            chart.setTitle(chart.getSecurity().getDescription());        chart.clearChanged();                return chart;    }        private Chart loadChart(NodeList node)    {        Chart chart = new Chart(new Integer(Integer.parseInt(((Node)node).getAttributes().getNamedItem("id").getNodeValue())));        chart.setRepository(this);                for (int r = 0; r < node.getLength(); r++)        {            Node item = node.item(r);            Node valueNode = item.getFirstChild();            String nodeName = item.getNodeName();                        if (valueNode != null)            {                if (nodeName.equalsIgnoreCase("title") == true)                    chart.setTitle(valueNode.getNodeValue());                else if (nodeName.equals("security")) //$NON-NLS-1$                {                    chart.setSecurity((Security)load(Security.class, new Integer(Integer.parseInt(valueNode.getNodeValue()))));                    if (chart.getSecurity() == null)                        log.warn("Cannot load security (id=" + valueNode.getNodeValue() + ")");                }                else if (nodeName.equalsIgnoreCase("title") == true)                    chart.setTitle(valueNode.getNodeValue());                else 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) {                        log.warn(e.toString());                    }                }                else if (nodeName.equalsIgnoreCase("end") == true)                {                    try {                        chart.setEndDate(dateTimeFormat.parse(valueNode.getNodeValue()));                    } catch (Exception e) {                        log.warn(e.toString());                    }                }            }            if (nodeName.equalsIgnoreCase("row")) //$NON-NLS-1$

⌨️ 快捷键说明

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