topologydatafactory.java

来自「全面实现ilog地功能,没有使用第三方lib.」· Java 代码 · 共 322 行

JAVA
322
字号
/* * This source code is part of TWaver 1.3.1 * * SERVA Software PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * Copyright 2000-2005 SERVA Software, Inc. All rights reserved. */package demo.network.topology;

import java.awt.*;
import twaver.*;
import twaver.base.*;
import twaver.network.ui.*;

public class TopologyDataFactory {
    public static void createData(TDataBox box) {
        Node tw130 = new Node();
        tw130.setLocation(356, 139);
        tw130.setImage("/demo/resource/topology/tw130.png");
        tw130.setName("TWaver Router");
        tw130.putClientProperty("label.yoffset", new Integer( -75));
        tw130.putClientProperty("label.font",
                                new Font("Arial", Font.BOLD, 12));
        box.addElement(tw130);

        Node cloudData = new Node();
        cloudData.setLocation(246, 145);
        cloudData.setImage("/demo/resource/topology/Cloud.png");
        cloudData.setName("DATA");
        cloudData.putClientProperty("label.yoffset", new Integer( -30));
        cloudData.putClientProperty("label.font",
                                    new Font("Arial", Font.BOLD, 12));
        cloudData.putClientProperty("label.color", Color.white);
        box.addElement(cloudData);

        Node cloudNode1 = new Node();
        cloudNode1.setLocation(276, 115);
        box.addElement(cloudNode1);
        Node cloudNode2 = new Node();
        cloudNode2.setLocation(286, 120);
        box.addElement(cloudNode2);
        cloudNode2.setName("Application Servers");
        cloudNode2.putClientProperty("label.yoffset", new Integer( -60));

        Link link = new Link(cloudData, tw130);
        link.putClientProperty("link.width", new Integer(6));
        box.addElement(link);

        Node cloudPSTN = new Node();
        cloudPSTN.setLocation(246, 209);
        cloudPSTN.setImage("/demo/resource/topology/Cloud.png");
        cloudPSTN.setName("PSTN");
        cloudPSTN.putClientProperty("label.yoffset", new Integer( -30));
        cloudPSTN.putClientProperty("label.font",
                                    new Font("Arial", Font.BOLD, 12));
        cloudPSTN.putClientProperty("label.color", Color.white);
        box.addElement(cloudPSTN);

        OrthogonalLink orlink = new OrthogonalLink(cloudPSTN, tw130);
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        orlink.putClientProperty("link.width", new Integer(6));
        box.addElement(orlink);

        Node scrambler = new Node();
        scrambler.setLocation(175, 157);
        scrambler.setImage("/demo/resource/topology/router.png");
        scrambler.setName("Scrambler");
        box.addElement(scrambler);

        link = new Link(scrambler, cloudData);
        link.putClientProperty("link.width", new Integer(4));
        link.putClientProperty("link.flowing", Boolean.TRUE);
        link.putClientProperty("link.flowing.width", new Integer(4));
        link.putClientProperty("link.flowing.color", Color.black);
        link.putClientProperty("link.color", Color.white);
        link.putClientProperty("link.outline.color", Color.black);
        box.addElement(link);

        for (int i = 0; i < 7; i++) {
            Node node = new Node();
            if (i < 5) {
                node.setLocation(106, 95 + i * 12);
            } else {
                node.setLocation(106, 122 + i * 20);
            }
            node.setImage("/demo/resource/topology/router.png");
            box.addElement(node);
            if (i == 4) {
                node.setName("Encoder");
            }

            orlink = new OrthogonalLink(node, scrambler);
            orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
            orlink.putClientProperty("link.width", new Integer(1));
            box.addElement(orlink);
        }
        Node node = new Node();
        node.setImage("/demo/resource/topology/satellite_antenna.png");
        node.setLocation(31, 90);
        node.setName("Satellite Feed");
        box.addElement(node);

        node = new Node();
        node.setImage("/demo/resource/topology/antenna.png");
        node.setLocation(33, 183);
        node.setName("Off Air");
        box.addElement(node);

        node = new Node();
        node.setImage("/demo/resource/topology/msc.png");
        node.setLocation(33, 291);
        node.setName("Programming");
        box.addElement(node);

        Node preAmp = new Node();
        preAmp.setImage("/demo/resource/topology/cartridge_system.png");
        preAmp.setLocation(191, 292);
        preAmp.setName("Pre-Amp");
        preAmp.putClientProperty("StateIcon:lock", Boolean.TRUE);
        box.addElement(preAmp);

        node = new Node();
        node.setLocation(105, 302);
        node.setImage("/demo/resource/topology/router.png");
        node.getAlarmState().setNewAlarmCount(AlarmSeverity.CRITICAL, 5);
        box.addElement(node);
        node.setName("V-OLT");

        link = new Link(node, preAmp);
        link.putClientProperty("link.width", new Integer(1));
        IconAttachmentHolder.addAttachment("cut", "/demo/resource/topology/testing.png");
        link.putClientProperty("StateIcon:cut", Boolean.TRUE);
        box.addElement(link);
        link.setSelected(true);

        Node wdm = new Node();
        wdm.setName("WDM");
        wdm.setLocation(432, 146);
        wdm.setImage("/demo/resource/topology/wdm.png");
        wdm.putClientProperty("label.font",
                              new Font("Arial", Font.BOLD, 12));
        box.addElement(wdm);

        orlink = new OrthogonalLink(preAmp, wdm);
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        orlink.putClientProperty("link.width", new Integer(1));
        box.addElement(orlink);

        link = new Link(tw130, wdm);
        link.putClientProperty("link.width", new Integer(1));
        box.addElement(link);

        Node test = new Node();
        test.setLocation(476, 161);
        test.setImage("/demo/resource/topology/testing.png");
        test.getAlarmState().addNewAlarm(AlarmSeverity.MAJOR);
        box.addElement(test);

        link = new Link(test, wdm);
        link.putClientProperty("link.width", new Integer(1));
        box.addElement(link);

        wdm = new Node();
        wdm.setName("WDM");
        wdm.setLocation(516, 146);
        wdm.setImage("/demo/resource/topology/wdm.png");
        wdm.putClientProperty("label.font",
                              new Font("Arial", Font.BOLD, 12));
        box.addElement(wdm);

        link = new Link(test, wdm);
        link.putClientProperty("link.width", new Integer(1));
        box.addElement(link);

        Node ont = new Node();
        ont.setName("ONT");
        ont.setLocation(555, 196);
        ont.setImage("/demo/resource/topology/mainframe.png");
        box.addElement(ont);

        orlink = new OrthogonalLink(ont, wdm);
        orlink.putClientProperty("link.width", new Integer(1));
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        orlink.putClientProperty("StateIcon:document", Boolean.TRUE);
        box.addElement(orlink);

        node = new Node() {
            public int getWidth() {
                return 10;
            }

            public int getHeight() {
                return 10;
            }
        };
        node.setImage(TWaverConst.BLANK_IMAGE);
        node.setLocation(470, 65);
        box.addElement(node);

        orlink = new OrthogonalLink(node, tw130);
        orlink.putClientProperty("link.width", new Integer(4));
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        orlink.putClientProperty("StateIcon:break", Boolean.TRUE);
        orlink.putClientProperty("StateIcon:temperature", Boolean.TRUE);
        box.addElement(orlink);

        Node modem = new Node();
        modem.setImage("/demo/resource/topology/modem.png");
        modem.setLocation(560, 98);
        modem.setName("Modem");
        box.addElement(modem);

        RoundRect xDSL = new RoundRect();
        xDSL.setLocation(498, 93);
        xDSL.setName("xDSL");
        box.addElement(xDSL);

        orlink = new OrthogonalLink(xDSL, node);
        orlink.putClientProperty("link.width", new Integer(1));
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        box.addElement(orlink);

        orlink = new OrthogonalLink(xDSL, modem);
        orlink.putClientProperty("link.width", new Integer(1));
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        box.addElement(orlink);

        RoundRect pots = new RoundRect();
        pots.setLocation(498, 19);
        pots.setName("POTS");
        box.addElement(pots);

        Node phone = new Node();
        phone.setImage("/demo/resource/topology/phone.png");
        phone.setLocation(654, 15);
        phone.setName("Phone");
        box.addElement(phone);

        orlink = new OrthogonalLink(phone, pots);
        orlink.putClientProperty("link.width", new Integer(1));
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        box.addElement(orlink);

        orlink = new OrthogonalLink(node, pots);
        orlink.putClientProperty("link.width", new Integer(1));
        box.addElement(orlink);

        Node pc = new Node();
        pc.setName("PC");
        pc.setLocation(651, 64);
        box.addElement(pc);

        orlink = new OrthogonalLink(pc, modem);
        orlink.putClientProperty("link.width", new Integer(1));
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        box.addElement(orlink);

        Node stb = new Node();
        stb.setImage("/demo/resource/topology/router2.png");
        stb.setName("STB");
        stb.setLocation(614, 122);
        box.addElement(stb);
        orlink = new OrthogonalLink(stb, modem);
        orlink.putClientProperty("link.width", new Integer(1));
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        box.addElement(orlink);

        Node tv = new Node();
        tv.setImage("/demo/resource/topology/terminal.png");
        tv.setName("IPTV/SDV");
        tv.setLocation(646, 152);
        box.addElement(tv);

        Link l = new twaver.FlexionLink(tv, stb);
        l.putClientProperty("link.width", new Integer(1));
        l.setType(null);
        box.addElement(l);

        phone = new Node();
        phone.setImage("/demo/resource/topology/phone.png");
        phone.setLocation(648, 223);
        phone.setName("Phone");
        box.addElement(phone);

        orlink = new OrthogonalLink(phone, ont);
        orlink.putClientProperty("link.width", new Integer(1));
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        box.addElement(orlink);

        pc = new Node();
        pc.setName("PC");
        pc.setLocation(648, 266);
        box.addElement(pc);

        orlink = new OrthogonalLink(pc, ont);
        orlink.putClientProperty("link.width", new Integer(1));
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        box.addElement(orlink);

        stb = new Node();
        stb.setImage("/demo/resource/topology/router2.png");
        stb.setName("STB");
        stb.setLocation(609, 324);
        box.addElement(stb);

        orlink = new OrthogonalLink(stb, ont);
        orlink.putClientProperty("link.width", new Integer(1));
        orlink.setDirection(OrthogonalLinkDirectionType.Y_TO_X);
        box.addElement(orlink);

        tv = new Node();
        tv.setImage("/demo/resource/topology/terminal.png");
        tv.setName("IPTV/SDV");
        tv.setLocation(641, 357);
        box.addElement(tv);

        l = new twaver.FlexionLink(tv, stb);
        l.putClientProperty("link.width", new Integer(1));
        l.setType(null);
        box.addElement(l);
    }
}

⌨️ 快捷键说明

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