Search in sources :

Example 6 with SectorRefactor

use of com.ramussoft.pb.idef.elements.SectorRefactor in project ramus by Vitaliy-Yakovchuk.

the class HTTPParser method printIDEF0Model.

private void printIDEF0Model() throws IOException {
    int imageWidth = IMAGE_WIDTH;
    String s = (String) params.get("w");
    if (s != null) {
        try {
            imageWidth = new Integer(s).intValue();
        } catch (final Exception e) {
        }
    }
    int imageHeight = IMAGE_HEIGHT;
    s = (String) params.get("h");
    if (s != null) {
        try {
            imageHeight = new Integer(s).intValue();
        } catch (final Exception e) {
        }
    }
    Row row = loadRowById();
    Row old = row;
    if (row == null || !(row instanceof Function)) {
        printIDEF0Error();
        return;
    }
    row = replaceIDEF0Row(row);
    final Function function = (Function) row;
    String functionType;
    String name = function.getName();
    int iFunctionType = function.getType();
    Row ouner = null;
    if (function.getParent() == null) {
        final Enumeration e = function.children();
        while (e.hasMoreElements()) {
            final Function f = (Function) e.nextElement();
            ouner = f.getOwner();
            iFunctionType = f.getType();
            name = f.getName();
            if (ouner != null)
                break;
        }
    } else
        ouner = function.getOwner();
    switch(iFunctionType) {
        case Function.TYPE_PROCESS_KOMPLEX:
            functionType = RES.getString("functionProcessKomplex");
            break;
        case Function.TYPE_PROCESS:
            functionType = RES.getString("functionProcess");
            break;
        case Function.TYPE_PROCESS_PART:
            functionType = RES.getString("functionProcessPart");
            break;
        case Function.TYPE_ACTION:
            functionType = RES.getString("functionAction");
            break;
        case Function.TYPE_OPERATION:
            functionType = RES.getString("functionOperation");
            break;
        default:
            functionType = "";
            break;
    }
    htmlTitle = functionType + " " + name;
    printStartD();
    if (printVersion) {
    } else {
        if (imageWidth != 800) {
            htmlStream.print("<a href=\"" + fromLink + "idef0/index.html?id=" + function.getGlobalId().toString() + "&w=800&h=600\" style=\"color:rgb(0,0,0);\">");
            htmlStream.print("800x600");
            htmlStream.println("</a>");
        }
        if (imageWidth != 905) {
            htmlStream.print("<a href=\"" + fromLink + "idef0/index.html?id=" + function.getGlobalId().toString() + "&w=905&h=700\" style=\"color:rgb(0,0,0);\">");
            htmlStream.print("905x700");
            htmlStream.println("</a>");
        }
        if (imageWidth != 1024) {
            htmlStream.print("<a href=\"" + fromLink + "idef0/index.html?id=" + function.getGlobalId().toString() + "&w=1024&h=768\" style=\"color:rgb(0,0,0);\">");
            htmlStream.print("1024x768");
            htmlStream.println("</a>");
        }
        if (imageWidth != 1152) {
            htmlStream.print("<a href=\"" + fromLink + "idef0/index.html?id=" + function.getGlobalId().toString() + "&w=1152&h=864\" style=\"color:rgb(0,0,0);\">");
            htmlStream.print("1152x864");
            htmlStream.println("</a>");
        }
        if (imageWidth != 1300) {
            htmlStream.print("<a href=\"" + fromLink + "idef0/index.html?id=" + function.getGlobalId().toString() + "&w=1300&h=1000\" style=\"color:rgb(0,0,0);\">");
            htmlStream.print("1300x1000");
            htmlStream.println("</a>");
        }
        if (imageWidth != 1600) {
            htmlStream.print("<a href=\"" + fromLink + "idef0/index.html?id=" + function.getGlobalId().toString() + "&w=1600&h=1200\" style=\"color:rgb(0,0,0);\">");
            htmlStream.print("1600x1200");
            htmlStream.println("</a>");
        }
        final Row parent = function.getParentRow();
        htmlStream.println(RES.getString("functionType") + ": <b>" + functionType + "</b>");
        if (parent != null) {
            printStartATeg("idef0/index.html?id=" + parent.getGlobalId().toString());
            htmlStream.println(RES.getString("oneLevelTop"));
            printEndATeg();
            // printStartATeg("idef0/index.html?id="
            // + dataPlugin.getBaseFunction().getGlobalId().toString());
            htmlStream.println(RES.getString("contents"));
            printEndATeg();
        }
        if (ouner != null) {
            printStartATeg("rows/index.html?id=" + ouner.getGlobalId().toString());
            htmlStream.println(RES.getString("ouner") + ": " + ouner.getKod() + ". " + ouner.getName());
            printEndATeg();
        }
        if (old == row) {
            printStartATeg("rows/index.html?id=" + function.getGlobalId().toString());
            htmlStream.println(RES.getString("element"));
            printEndATeg();
        }
        Row top = row;
        while (top.getParentRow() != null) {
            top = top.getParentRow();
        }
        printStartATeg("fullmodel/index.html?id=" + top.getElement().getId());
        htmlStream.println(RES.getString("ExpandedModel"));
        printEndATeg();
    }
    htmlStream.print("<br>");
    htmlStream.println("<img border=0 src=\"" + fromLink + "idef0/" + "model." + getImagesFormatName() + "?id=" + function.getGlobalId().toString() + "&w=" + imageWidth + "&h=" + imageHeight + "\" useMap=#M" + function.getGlobalId().toString() + ">");
    htmlStream.println("<map name=M" + function.getGlobalId().toString() + ">");
    final Vector childs = dataPlugin.getChilds(function, true);
    final MovingArea area = PIDEF0painter.createMovingArea(new Dimension(imageWidth, imageHeight), dataPlugin, function);
    final SectorRefactor refactor = area.getRefactor();
    for (int i = 0; i < childs.size(); i++) {
        final Function fun = (Function) childs.get(i);
        Row row2 = dataPlugin.findRowByGlobalId(fun.getLink());
        String where = "rows";
        if ((row2 == null) && (fun.getType() < Function.TYPE_EXTERNAL_REFERENCE)) {
            row2 = fun;
            if (!fun.isLeaf())
                where = "idef0";
        }
        if (row2 != null) {
            htmlStream.print("<area shape=RECT coords=" + getAreaCoords(fun.getBounds(), area) + " href=\"" + fromLink + where + "/index.html?id=" + row2.getElement().getId() + "&w=" + imageWidth + "&h=" + imageHeight + (printVersion ? "&printVersion=true" : "") + "\"");
            htmlStream.println(">");
        }
    }
    refactor.loadFromFunction(function, false);
    final int sc = refactor.getSectorsCount();
    for (int i = 0; i < sc; i++) {
        final PaintSector sector = refactor.getSector(i);
        final Stream stream = sector.getStream();
        final MovingLabel text = refactor.getSector(i).getText();
        if (text != null && stream != null) {
            htmlStream.print("<area shape=RECT coords=" + getAreaCoords(text.getBounds(), area) + " href=\"" + fromLink + "rows/index.html?id=" + stream.getGlobalId().toString() + "&sectorId=" + sector.getSector().getGlobalId() + "&w=" + imageWidth + "&h=" + imageHeight + "\"");
            htmlStream.println(">");
        }
        final int l = sector.getPinCount();
        for (int j = 0; j < l; j++) if (stream != null) {
            final Pin pin = sector.getPin(j);
            htmlStream.print("<area shape=RECT coords=" + getPinCoords(pin, area) + " href=\"" + fromLink + "rows/index.html?id=" + stream.getGlobalId().toString() + "&sectorId=" + sector.getSector().getGlobalId() + "&w=" + imageWidth + "&h=" + imageHeight + "\"");
            htmlStream.println(">");
        }
    }
    htmlStream.println("<map>");
    printEndD();
}
Also used : MovingArea(com.ramussoft.pb.idef.visual.MovingArea) SectorRefactor(com.ramussoft.pb.idef.elements.SectorRefactor) Enumeration(java.util.Enumeration) Dimension(java.awt.Dimension) DataException(com.ramussoft.report.data.DataException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) SQLException(java.sql.SQLException) IOException(java.io.IOException) Function(com.ramussoft.pb.Function) MovingFunction(com.ramussoft.pb.idef.visual.MovingFunction) MovingLabel(com.ramussoft.pb.idef.visual.MovingLabel) Pin(com.ramussoft.pb.idef.elements.PaintSector.Pin) PaintSector(com.ramussoft.pb.idef.elements.PaintSector) ByteArrayOutputStream(java.io.ByteArrayOutputStream) OutputStream(java.io.OutputStream) Stream(com.ramussoft.pb.Stream) InputStream(java.io.InputStream) Row(com.ramussoft.pb.Row) NRow(com.ramussoft.pb.data.negine.NRow) Vector(java.util.Vector)

Example 7 with SectorRefactor

use of com.ramussoft.pb.idef.elements.SectorRefactor in project ramus by Vitaliy-Yakovchuk.

the class SectorCorrector method run.

public void run(Engine engine, AccessRules accessRules) {
    ((Journaled) engine).startUserTransaction();
    log("Loading data");
    List<Qualifier> list = IDEF0Plugin.getBaseQualifiers(engine);
    for (Qualifier q : list) {
        DataPlugin dataPlugin = NDataPluginFactory.getDataPlugin(q, engine, accessRules);
        Vector<Row> v = dataPlugin.getRecChilds(dataPlugin.getBaseFunction(), true);
        for (Row r : v) {
            if (r.getChildCount() == 0) {
                Function function = (Function) r;
                MovingArea area = new MovingArea(dataPlugin, function);
                area.setDataPlugin(dataPlugin);
                SectorRefactor sr = area.getRefactor();
                sr.loadFromFunction(function, false);
                while (sr.getSectorsCount() > 0) {
                    sr.getSector(0).remove();
                }
                sr.saveToFunction();
                log("Function " + r + " clean");
            }
        }
        for (Row r : v) {
            if (r.getChildCount() != 0) {
                Function function = (Function) r;
                MovingArea area = new MovingArea(dataPlugin, function);
                area.setDataPlugin(dataPlugin);
                SectorRefactor sr = area.getRefactor();
                sr.loadFromFunction(function, false);
                for (int i = 0; i < sr.getSectorsCount(); i++) {
                    PaintSector ps = sr.getSector(i);
                    if ((ps.getSector().getStart().getFunction() != null) && (ps.getSector().getStart().getFunction().getChildCount() == 0))
                        sr.createSectorOnIn(ps, true);
                    if ((ps.getSector().getEnd().getFunction() != null) && (ps.getSector().getEnd().getFunction().getChildCount() == 0))
                        sr.createSectorOnIn(ps, false);
                }
                log("Function " + r + " done");
            }
        }
    }
    ((Journaled) engine).commitUserTransaction();
}
Also used : MovingArea(com.ramussoft.pb.idef.visual.MovingArea) Journaled(com.ramussoft.common.journal.Journaled) Function(com.ramussoft.pb.Function) SectorRefactor(com.ramussoft.pb.idef.elements.SectorRefactor) PaintSector(com.ramussoft.pb.idef.elements.PaintSector) Qualifier(com.ramussoft.common.Qualifier) Row(com.ramussoft.pb.Row) DataPlugin(com.ramussoft.pb.DataPlugin)

Example 8 with SectorRefactor

use of com.ramussoft.pb.idef.elements.SectorRefactor in project ramus by Vitaliy-Yakovchuk.

the class IDEF0Object method onProcessEndBoundsChange.

public void onProcessEndBoundsChange(List<PaintSector> notToMove) {
    final FRectangle oldRec = function.getBounds();
    super.onProcessEndBoundsChange();
    function.setBounds(new FRectangle(myBounds));
    final SectorRefactor refactor = movingArea.getRefactor();
    MemoryData memoryData = new MemoryData();
    List<PaintSector> list = new ArrayList<PaintSector>();
    for (int i = 0; i < refactor.getSectorsCount(); i++) {
        PaintSector sector = refactor.getSector(i);
        boolean con = false;
        if (notToMove != null)
            for (PaintSector ps : notToMove) {
                if (ps.getSector().equals(sector.getSector())) {
                    con = true;
                    break;
                }
            }
        if (con)
            continue;
        setAddedSectorPos(oldRec, sector, list);
    }
    for (PaintSector ps : list) PaintSector.save(ps, memoryData, ((NFunction) function).getEngine());
}
Also used : SectorRefactor(com.ramussoft.pb.idef.elements.SectorRefactor) FRectangle(com.dsoft.pb.types.FRectangle) PaintSector(com.ramussoft.pb.idef.elements.PaintSector) NFunction(com.ramussoft.pb.data.negine.NFunction) MemoryData(com.dsoft.utils.DataLoader.MemoryData) ArrayList(java.util.ArrayList) Point(com.ramussoft.pb.idef.elements.Point) FloatPoint(com.dsoft.pb.types.FloatPoint)

Example 9 with SectorRefactor

use of com.ramussoft.pb.idef.elements.SectorRefactor in project ramus by Vitaliy-Yakovchuk.

the class ProjectOptionsPanel method update.

private void update(Function function, boolean updateFonts, boolean updateZoom, double percent, GUIFramework framework) {
    if (!updateFonts && !updateZoom)
        return;
    long id = -1l;
    if (!dataPlugin.getBaseFunction().equals(function)) {
        id = function.getElement().getId();
    }
    framework.propertyChanged(IDEF0TabView.CLOSE, id);
    SectorRefactor sectorRefactor = new SectorRefactor(new MovingArea(dataPlugin, function));
    sectorRefactor.updatePageSize(updateFonts, updateZoom, percent, function);
    Vector<Row> v = dataPlugin.getChilds(function, true);
    for (Row row : v) {
        Function function2 = (Function) row;
        update(function2, updateFonts, updateZoom, percent, framework);
    }
}
Also used : MovingArea(com.ramussoft.pb.idef.visual.MovingArea) SectorRefactor(com.ramussoft.pb.idef.elements.SectorRefactor) Function(com.ramussoft.pb.Function) Row(com.ramussoft.pb.Row)

Example 10 with SectorRefactor

use of com.ramussoft.pb.idef.elements.SectorRefactor in project ramus by Vitaliy-Yakovchuk.

the class ModelParaleler method createSectorsOnUpperLevel.

private void createSectorsOnUpperLevel(NFunction func) {
    if (func != null) {
        MovingArea area = new MovingArea(toDataPlugin, func);
        area.setDataPlugin(toDataPlugin);
        SectorRefactor sr = area.getRefactor();
        sr.loadFromFunction(func, false);
        for (int i = 0; i < sr.getSectorsCount(); i++) {
            PaintSector ps = sr.getSector(i);
            if (ps.getSector().getStart().getBorderType() >= 0)
                sr.createSectorOnIn(ps, true);
            if (ps.getSector().getEnd().getBorderType() >= 0)
                sr.createSectorOnIn(ps, false);
        }
        sr.loadFromFunction((NFunction) func.getParentRow(), true);
        sr.saveToFunction();
    }
}
Also used : MovingArea(com.ramussoft.pb.idef.visual.MovingArea) SectorRefactor(com.ramussoft.pb.idef.elements.SectorRefactor) PaintSector(com.ramussoft.pb.idef.elements.PaintSector)

Aggregations

SectorRefactor (com.ramussoft.pb.idef.elements.SectorRefactor)21 PaintSector (com.ramussoft.pb.idef.elements.PaintSector)14 Function (com.ramussoft.pb.Function)10 Row (com.ramussoft.pb.Row)9 MovingArea (com.ramussoft.pb.idef.visual.MovingArea)9 FloatPoint (com.dsoft.pb.types.FloatPoint)8 Point (com.ramussoft.pb.idef.elements.Point)7 Crosspoint (com.ramussoft.pb.Crosspoint)6 NFunction (com.ramussoft.pb.data.negine.NFunction)6 FRectangle (com.dsoft.pb.types.FRectangle)5 ArrayList (java.util.ArrayList)5 MemoryData (com.dsoft.utils.DataLoader.MemoryData)4 Stream (com.ramussoft.pb.Stream)4 MovingLabel (com.ramussoft.pb.idef.visual.MovingLabel)4 Vector (java.util.Vector)4 Sector (com.ramussoft.pb.Sector)3 NRow (com.ramussoft.pb.data.negine.NRow)3 NSector (com.ramussoft.pb.data.negine.NSector)3 MovingFunction (com.ramussoft.pb.idef.visual.MovingFunction)3 ByteArrayOutputStream (java.io.ByteArrayOutputStream)3