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

📄 dacwizard.java

📁 这是一个以JAVA编写的程序,本人还没有试过,是一个简单的温度控制系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                            return "";            }                        File rrdRoot = new File(rrdRootButton.getText());                        if (    !rrdRoot.exists()                 || !rrdRoot.isDirectory()                 || !rrdRoot.canWrite() ) {                                 return rrdRoot.toString() + ": doesn't exist, not a directory, or not writable";            }                        if ( rrdtoolRadio.isSelected() ) {                            File rrdtool = new File(rrdtoolButton.getText());                                if (    !rrdtool.exists()                     || rrdtool.isDirectory()                     || !rrdtool.isFile() ) {                                         return rrdtool.toString() + ": doesn't exist, is a directory, or not a regular file";                }            }                        // Now stuff everything into the context                        getOwner().getContext().put("logger.enabled", new Boolean(enableBox.isSelected()));            getOwner().getContext().put("logger.autocreate", new Boolean(autocreateBox.isSelected()));            getOwner().getContext().put("logger.trace", new Boolean(traceBox.isSelected()));            getOwner().getContext().put("logger.use.jrobin", new Boolean(jrobinRadio.isSelected()));            getOwner().getContext().put("logger.use.rrdtool", new Boolean(rrdtoolRadio.isSelected()));            getOwner().getContext().put("logger.rrdtool", rrdtoolButton.getText());            getOwner().getContext().put("logger.rrdroot", rrdRootButton.getText());                        return "";        }                protected void actionPerformed2(ActionEvent e) {                    Object source = e.getSource();                        if ( rrdtoolButton.equals(source) ) {                            rrdtoolChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);                                int rc = rrdtoolChooser.showDialog(getNarrowPane(), "Use this rrdtool binary");                                if ( rc == JFileChooser.APPROVE_OPTION ) {                                    rrdtoolButton.setText(rrdtoolChooser.getSelectedFile().toString());                }                            } else if ( rrdRootButton.equals(source) ) {                            rrdrootChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);                int rc = rrdrootChooser.showDialog(getNarrowPane(), "Use this directory as RRD root");                                if ( rc == JFileChooser.APPROVE_OPTION ) {                                    rrdRootButton.setText(rrdrootChooser.getSelectedFile().toString());                }            }        }                protected void itemStateChanged2(ItemEvent e) {                    if ( enableBox.isSelected() ) {                            autocreateBox.setEnabled(true);                traceBox.setEnabled(true);                jrobinRadio.setEnabled(true);                rrdtoolRadio.setEnabled(true);                                rrdtoolLabel.setEnabled(rrdtoolRadio.isSelected());                rrdtoolButton.setEnabled(rrdtoolRadio.isSelected());                                rrdRootLabel.setEnabled(true);                rrdRootButton.setEnabled(true);                            } else {                            autocreateBox.setEnabled(false);                traceBox.setEnabled(false);                            jrobinRadio.setEnabled(false);                rrdtoolRadio.setEnabled(false);                                rrdtoolLabel.setEnabled(false);                rrdtoolButton.setEnabled(false);                                rrdRootLabel.setEnabled(false);                rrdRootButton.setEnabled(false);            }                    //getOwner().getContext().put("1-Wire driver.owapi", new Boolean(owapiRadio.isSelected()));        }        public boolean isEnabled() {                    return true;        }    }    protected class ConfirmPage extends WizardPage {            private JScrollPane messageScroller;        private JTextArea messageArea = new JTextArea();                public ConfirmPage(Logger logger, Wizard owner) {                    super(logger, owner, "Confirm Configuration");                        messageScroller = new JScrollPane(messageArea);                        messageScroller.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);            messageScroller.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);                        GridBagLayout layout = new GridBagLayout();            GridBagConstraints cs = new GridBagConstraints();                        getContentPane().setLayout(layout);            cs.fill = GridBagConstraints.BOTH;            cs.weightx = 1;            cs.weighty = 1;                        layout.setConstraints(messageScroller, cs);                        getContentPane().add(messageScroller);                        messageArea.setEditable(false);                        validate();                    }        public String getHelpURL() {                    return null;        }                public String validate() {                    //messageScroller.setPreferredSize(getContentPane().getPreferredSize());            StringBuffer sb = new StringBuffer();                        sb.append("Please review the results:\n\n");                        for ( Iterator i = new java.util.TreeMap(getOwner().getContext()).keySet().iterator(); i.hasNext(); ) {                            Object key = i.next();                Object value = getOwner().getContext().get(key);                                sb.append(key.toString() + ": " + value + "\n");            }                        String message = sb.toString();            String oldMessage = messageArea.getText();                        messageArea.replaceRange(message, 0, oldMessage.length());            // There's nothing to validate                        return "";        }                protected void actionPerformed2(ActionEvent e) {                }                protected void itemStateChanged2(ItemEvent e) {                }        public boolean isEnabled() {                    return true;        }    }        protected class DacWizardProcessor implements WizardProcessor {            public final LogChannel CH_DWP = new LogChannel("DacWizardProcessor");            public void init(Map context) {                    complain(LOG_CRIT, CH_DWP, "FIXME: init");        }                /**         * Put together an XML document and write it into a specified file.         *         * @param context Data created by the wizard.         */        public void finish(Map context) {                    complain(LOG_DEBUG, CH_DWP, "\n\n\n\n\nContext:");                        for ( Iterator i = new java.util.TreeMap(context).keySet().iterator(); i.hasNext(); ) {                            Object key = i.next();                Object value = context.get(key);                                complain(LOG_DEBUG, CH_DWP, "    '" + key + "' = '" + value + "'");            }                        complain(LOG_DEBUG, CH_DWP, "\n\n\n\n\n");                    File outputFile = new File(context.get("config.file").toString());                        if ( outputFile.isDirectory() ) {                            outputFile = new File(outputFile, "dac.conf.xml");            }                        complain(LOG_INFO, CH_DWP, "Output file: " + outputFile);                        StringBuffer sb = new StringBuffer();            File dzDacWizard = new File(dzDeploymentBin, "dz_dac_wizard");                        sb.append("<server xmlns=\"http://diy-zoning.sourceforge.net/namespaces/dac\">\n\n");            sb.append("    <!--\n\n");            sb.append("        This file was generated by ");            sb.append(dzDacWizard.toString());            sb.append(".\n        Do not edit - unless you read the docs, that is\n\n");            sb.append("      -->\n\n");                        renderOneWire(context, sb);            renderLogger(context, sb);            renderBroadcaster(context, sb);            renderController(context, sb);                        sb.append("</server>\n");                        String configuration = sb.toString();            complain(LOG_DEBUG, CH_DWP, "Configuration:\n" + configuration);                        // Now that we have it, save it                        try {                            PrintWriter pw = new PrintWriter(new FileWriter(outputFile));                                pw.println(configuration);                pw.flush();                pw.close();                            } catch ( IOException ioex ) {                            System.err.println("Unable to save " + outputFile + ":");                ioex.printStackTrace();            }        }                private void renderOneWire(Map context, StringBuffer sb) {                    if ( !"true".equals(context.get("hardware.1-Wire").toString()) ) {                            return;            }                    // VT: FIXME: Later, when other hardware arrives, this may not            // be enabled                        sb.append("    <module name=\"1-Wire\" enabled=\"true\">\n");                        if ( "true".equals(context.get("1-Wire.owapi").toString()) ) {                            sb.append("        <class>net.sf.dz.daemon.onewire.owapi.OneWireServer</class>\n");                sb.append("        <onewire_server>\n");                sb.append("            <serial>\n");                sb.append("                <port>").append(context.get("1-Wire.owapi.serial.port")).append("</port>\n");                sb.append("            </serial>\n");                sb.append("        </onewire_server>\n");            }            if ( "true".equals(context.get("1-Wire.owfs").toString()) ) {                            sb.append("        <class>net.sf.dz.daemon.onewire.owfs.OneWireServer</class>\n");                sb.append("        <owfs>\n");                sb.append("            <mount_point>\n");                sb.append("                ").append(context.get("1-Wire.owfs.mountpoint")).append("\n");                sb.append("            </mount_point>\n");                sb.append("        </owfs>\n");            }                        sb.append("    </module>\n");        }        private void renderLogger(Map context, StringBuffer sb) {                    if ( !"true".equals(context.get("logger.enabled").toString()) ) {                            return;            }                        File rrdRoot = new File(context.get("logger.rrdroot").toString());            File rrdData = new File(rrdRoot, "dz.rrd");            File rrdTrace = new File(rrdRoot, "trace");            File rrdOrder = new File(rrdRoot, "rrd_device_order");                        File dzRegenerate = new File(dzDeploymentBin, "dz_regenerate_rrd");                    sb.append("    <module name=\"RRD Looger\" enabled=\"true\">\n");            sb.append("        <requires>1-Wire</requires>\n");                        if ( "true".equals(context.get("logger.use.rrdtool").toString()) ) {                            sb.append("        <class>net.sf.dz.daemon.logger.RRDLogger</class>\n");                sb.append("        <rrd_logger>\n");                sb.append("            <tool>").append(context.get("logger.rrdtool")).append("</tool>\n");                sb.append("            <regenerate>").append(dzRegenerate.toString()).append("</regenerate>\n");            } else if ( "true".equals(context.get("logger.use.jrobin").toString()) ) {                            sb.append("        <class>net.sf.dz.daemon.logger.JRobinLogger</class>\n");                sb.append("        <rrd_logger>\n");                sb.append("            <imagedir>").append(new File(context.get("logger.rrdroot").toString(), "html").toString()).append("</imagedir>\n");            } else {                            throw new IllegalStateException("No rrdtool? No JRobin?");            }                        if ( "true".equals(context.get("logger.trace").toString()) ) {                            sb.append("            <tracefile>").append(rrdTrace.toString()).append("</tracefile>\n");            }                        sb.append("            <autocreate enabled=\"").append(context.get("logger.autocreate")).append("\"/>\n");            sb.append("            <interval>30</interval>\n");            sb.append("            <graph_interval>5</graph_interval>\n");            sb.append("            <database>").append(rrdData.toString()).append("</database>\n");            sb.append("            <device_order>").append(rrdOrder.toString()).append("</device_order>\n");            sb.append("        </rrd_logger>\n");                        sb.append("    </module>\n");        }                private void renderBroadcaster(Map context, StringBuffer sb) {                    renderConnector(context, sb,                            "TCP Broadcaster",                            "net.sf.dz.daemon.tcp.Broadcaster",                            "broadcaster");        }        private void renderController(Map context, StringBuffer sb) {                    renderConnector(context, sb,                            "TCP Controller",                            "net.sf.dz.daemon.tcp.Controller",                            "controller");        }            private void renderConnector(Map context,                                     StringBuffer sb,                                     String moduleName,                                     String className,                                     String contextName) {                    sb.append("    <module name=\"").append(moduleName).append("\" enabled=\"true\">\n");            sb.append("        <requires>1-Wire</requires>\n");            sb.append("        <class>").append(className).append("</class>\n");            sb.append("        <tcp>\n");            sb.append("            <bind_address></bind_address>\n");            sb.append("            <port>").append(context.get("connector." + contextName + ".bind")).append("</port>\n");            sb.append("            <announce_port>").append(context.get("connector." + contextName + ".announce")).append("</announce_port>\n");            sb.append("            <secure>").append(context.get("connector." + contextName + ".secure")).append("</secure>\n");            sb.append("            <password>").append(context.get("connector." + contextName + ".password")).append("</password>\n");            sb.append("        </tcp>\n");            sb.append("        <timeout>60000</timeout>\n");            sb.append("    </module>\n");                }    }    /*    private void complain(String message) {            System.err.println(message);    } */}

⌨️ 快捷键说明

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