Search in sources :

Example 1 with Output

use of net.parostroj.timetable.model.Output in project grafikon by jub77.

the class OutputPM method operationWriteBack.

@Operation(path = "writeBack")
public boolean operationWriteBack() {
    Output output = outputRef.get();
    if (output != null) {
        output.setName(name.getCurrentEdit().get());
        // template cannot be changed
        output.setSettings(attributes.getFinalAttributes());
        output.setSelection(selectionItems);
        output.setLocale(locale.getValue());
        output.setKey(key.getText());
    }
    return true;
}
Also used : Output(net.parostroj.timetable.model.Output) Operation(org.beanfabrics.support.Operation)

Example 2 with Output

use of net.parostroj.timetable.model.Output in project grafikon by jub77.

the class FileLoadSaveImpl method save.

@Override
public void save(TrainDiagram diagram, ZipOutputStream zipOutput) throws LSException {
    try {
        // save metadata
        zipOutput.putNextEntry(new ZipEntry(METADATA));
        this.createMetadata(METADATA_KEY_MODEL_VERSION).store(zipOutput, null);
        FileLoadSaveAttachments attachments = new FileLoadSaveAttachments(DATA_ATTACHMENTS);
        // increase save version (increment by one)
        diagram.setSaveVersion(diagram.getSaveVersion() + 1);
        // update save timestamp
        diagram.setSaveTimestamp(new Date());
        // save train diagram
        this.save(zipOutput, DATA_TRAIN_DIAGRAM, new LSTrainDiagram(diagram));
        // save net
        this.save(zipOutput, DATA_NET, new LSNet(diagram.getNet()));
        int cnt = 0;
        // save train type categories
        for (TrainTypeCategory category : diagram.getTrainTypeCategories()) {
            this.save(zipOutput, this.createEntryName(DATA_TRAIN_TYPE_CATEGORIES, "xml", cnt++), new LSTrainTypeCategory(category));
        }
        cnt = 0;
        // save routes
        for (Route route : diagram.getRoutes()) {
            this.save(zipOutput, this.createEntryName(DATA_ROUTES, "xml", cnt++), new LSRoute(route));
        }
        cnt = 0;
        // save train types
        for (TrainType trainType : diagram.getTrainTypes()) {
            this.save(zipOutput, this.createEntryName(DATA_TRAIN_TYPES, "xml", cnt++), new LSTrainType(trainType));
        }
        cnt = 0;
        // save trains
        for (Train train : diagram.getTrains()) {
            this.save(zipOutput, this.createEntryName(DATA_TRAINS, "xml", cnt++), new LSTrain(train));
        }
        cnt = 0;
        // save engine classes
        for (EngineClass engineClass : diagram.getEngineClasses()) {
            this.save(zipOutput, this.createEntryName(DATA_ENGINE_CLASSES, "xml", cnt++), new LSEngineClass(engineClass));
        }
        cnt = 0;
        // save text items
        for (TextItem item : diagram.getTextItems()) {
            this.save(zipOutput, this.createEntryName(DATA_TEXT_ITEMS, "xml", cnt++), new LSTextItem(item));
        }
        cnt = 0;
        // save output templates
        for (OutputTemplate template : diagram.getOutputTemplates()) {
            LSOutputTemplate lsOutputTemplate = Boolean.TRUE.equals(properties.get("inline.output.template.attachments")) ? new LSOutputTemplate(template) : new LSOutputTemplate(template, attachments);
            this.save(zipOutput, this.createEntryName(DATA_OUTPUT_TEMPLATES, "xml", cnt++), lsOutputTemplate);
        }
        cnt = 0;
        // save diagram change sets
        for (String version : diagram.getChangesTracker().getVersions()) {
            DiagramChangeSet set = diagram.getChangesTracker().getChangeSet(version);
            if (!set.getChanges().isEmpty())
                this.save(zipOutput, this.createEntryName(DATA_CHANGES, "xml", cnt++), new LSDiagramChangeSet(set));
        }
        cnt = 0;
        // save trains cycles
        for (TrainsCycle cycle : diagram.getCycles()) {
            this.save(zipOutput, this.createEntryName(DATA_TRAINS_CYCLES, "xml", cnt++), new LSTrainsCycle(cycle));
        }
        cnt = 0;
        // save outputs
        for (Output output : diagram.getOutputs()) {
            this.save(zipOutput, this.createEntryName(DATA_OUTPUTS, "xml", cnt++), new LSOutput(output));
        }
        // save images
        cnt = 0;
        FileLoadSaveImages saveImages = new FileLoadSaveImages(DATA_IMAGES);
        for (TimetableImage image : diagram.getImages()) {
            this.save(zipOutput, createEntryName(DATA_IMAGES, "xml", cnt++), new LSImage(image));
            saveImages.saveTimetableImage(image, zipOutput);
        }
        // save attachments
        attachments.save(zipOutput);
        // save freight net
        this.save(zipOutput, FREIGHT_NET, new LSFreightNet(diagram.getFreightNet()));
    } catch (IOException ex) {
        throw new LSException(ex);
    }
}
Also used : TrainsCycle(net.parostroj.timetable.model.TrainsCycle) TextItem(net.parostroj.timetable.model.TextItem) ZipEntry(java.util.zip.ZipEntry) Output(net.parostroj.timetable.model.Output) TrainTypeCategory(net.parostroj.timetable.model.TrainTypeCategory) TrainType(net.parostroj.timetable.model.TrainType) Route(net.parostroj.timetable.model.Route) TimetableImage(net.parostroj.timetable.model.TimetableImage) DiagramChangeSet(net.parostroj.timetable.model.changes.DiagramChangeSet) IOException(java.io.IOException) Date(java.util.Date) OutputTemplate(net.parostroj.timetable.model.OutputTemplate) EngineClass(net.parostroj.timetable.model.EngineClass) Train(net.parostroj.timetable.model.Train) LSException(net.parostroj.timetable.model.ls.LSException)

Example 3 with Output

use of net.parostroj.timetable.model.Output in project grafikon by jub77.

the class LSOutput method createOutput.

public Output createOutput(TrainDiagram diagram) throws LSException {
    Output output = diagram.getPartFactory().createOutput(id);
    output.getAttributes().add(attributes.createAttributes(diagram::getObjectById));
    return output;
}
Also used : Output(net.parostroj.timetable.model.Output)

Example 4 with Output

use of net.parostroj.timetable.model.Output in project grafikon by jub77.

the class TrainDiagramBuilder method setOutput.

public void setOutput(LSOutput lsOutput) throws LSException {
    Output output = lsOutput.createOutput(diagram);
    diagram.getOutputs().add(output);
}
Also used : Output(net.parostroj.timetable.model.Output)

Aggregations

Output (net.parostroj.timetable.model.Output)4 IOException (java.io.IOException)1 Date (java.util.Date)1 ZipEntry (java.util.zip.ZipEntry)1 EngineClass (net.parostroj.timetable.model.EngineClass)1 OutputTemplate (net.parostroj.timetable.model.OutputTemplate)1 Route (net.parostroj.timetable.model.Route)1 TextItem (net.parostroj.timetable.model.TextItem)1 TimetableImage (net.parostroj.timetable.model.TimetableImage)1 Train (net.parostroj.timetable.model.Train)1 TrainType (net.parostroj.timetable.model.TrainType)1 TrainTypeCategory (net.parostroj.timetable.model.TrainTypeCategory)1 TrainsCycle (net.parostroj.timetable.model.TrainsCycle)1 DiagramChangeSet (net.parostroj.timetable.model.changes.DiagramChangeSet)1 LSException (net.parostroj.timetable.model.ls.LSException)1 Operation (org.beanfabrics.support.Operation)1