Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update model to use transient data for ID references #463

Merged
merged 6 commits into from
Apr 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.equinox.common,
org.eclipse.set.rcp.compatibility;bundle-version="0.1.0";resolution:=optional,
org.eclipse.e4.core.services,
org.eclipse.set.toolboxmodel,
org.eclipse.set.model.planpro,
com.fasterxml.jackson.core.jackson-databind,
com.fasterxml.jackson.core.jackson-core,
org.eclipse.emfcloud.emfjson-jackson,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@

import java.io.IOException;

import jakarta.inject.Inject;

import org.eclipse.e4.ui.model.application.MApplication;
import org.eclipse.set.basis.IModelSession;
import org.eclipse.set.basis.attachments.Attachment;
import org.eclipse.set.basis.files.AttachmentContentService;
import org.eclipse.set.basis.guid.Guid;
import org.eclipse.set.toolboxmodel.Basisobjekte.Anhang;
import org.eclipse.set.model.planpro.Basisobjekte.Anhang;

import jakarta.inject.Inject;

/**
* Implementation for {@link AttachmentContentService}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
*/
package org.eclipse.set.application.defaultvalue

import org.eclipse.set.toolboxmodel.PlanPro.ENUMUntergewerkArt
import org.eclipse.set.toolboxmodel.PlanPro.PlanProFactory
import org.eclipse.set.toolboxmodel.PlanPro.PlanPro_Schnittstelle
import org.eclipse.set.model.planpro.PlanPro.ENUMUntergewerkArt
import org.eclipse.set.model.planpro.PlanPro.PlanProFactory
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle
import jakarta.inject.Inject
import org.eclipse.core.runtime.Assert
import org.eclipse.set.core.services.defaultvalue.DefaultValueService
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Predicate;
import java.util.stream.StreamSupport;

import org.eclipse.e4.core.services.events.IEventBroker;
import org.eclipse.set.basis.constants.ContainerType;
Expand All @@ -30,13 +29,13 @@
import org.eclipse.set.basis.graph.TopPoint;
import org.eclipse.set.core.services.graph.BankService;
import org.eclipse.set.core.services.graph.TopologicalGraphService;
import org.eclipse.set.model.planpro.Geodaten.TOP_Kante;
import org.eclipse.set.model.planpro.Geodaten.Ueberhoehung;
import org.eclipse.set.model.planpro.Geodaten.Ueberhoehungslinie;
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.ppmodel.extensions.PlanProSchnittstelleExtensions;
import org.eclipse.set.ppmodel.extensions.container.MultiContainer_AttributeGroup;
import org.eclipse.set.ppmodel.extensions.graph.TopObjectIterator;
import org.eclipse.set.toolboxmodel.Geodaten.TOP_Kante;
import org.eclipse.set.toolboxmodel.Geodaten.Ueberhoehung;
import org.eclipse.set.toolboxmodel.Geodaten.Ueberhoehungslinie;
import org.eclipse.set.toolboxmodel.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.utils.ToolboxConfiguration;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
Expand Down Expand Up @@ -164,18 +163,18 @@ public BankingInformation findTOPBanking(
return optional.isEmpty() ? null : optional.get();
}

final Ueberhoehung begin = bankingLine.getIDUeberhoehungA();
final Ueberhoehung end = bankingLine.getIDUeberhoehungB();
final Ueberhoehung begin = bankingLine.getIDUeberhoehungA().getValue();
final Ueberhoehung end = bankingLine.getIDUeberhoehungB().getValue();
final BigDecimal bankingLineLength = bankingLine
.getUeberhoehungslinieAllg().getUeberhoehungslinieLaenge()
.getWert();

// If both Ueberhoehungen are on the same TOP_Kante, consider the path
// the relevant one if lengths match
final TOP_Kante beginEdge = begin.getPunktObjektTOPKante().get(0)
.getIDTOPKante();
if (beginEdge
.equals(end.getPunktObjektTOPKante().get(0).getIDTOPKante())) {
.getIDTOPKante().getValue();
if (beginEdge.equals(end.getPunktObjektTOPKante().get(0).getIDTOPKante()
.getValue())) {
final BigDecimal distanceA = begin.getPunktObjektTOPKante().get(0)
.getAbstand().getWert();
final BigDecimal distanceB = end.getPunktObjektTOPKante().get(0)
Expand Down Expand Up @@ -292,18 +291,20 @@ static BigDecimal findBankingValue(final TopPoint point,
final BigDecimal pointDistance = bankInfo.path().getDistance(point)
.orElseThrow();

final BigDecimal ueLeft = bankingLine.getIDUeberhoehungA()
final BigDecimal ueLeft = bankingLine.getIDUeberhoehungA().getValue()
.getUeberhoehungAllg().getUeberhoehungHoehe().getWert();
final BigDecimal ueRight = bankingLine.getIDUeberhoehungB()
final BigDecimal ueRight = bankingLine.getIDUeberhoehungB().getValue()
.getUeberhoehungAllg().getUeberhoehungHoehe().getWert();
final BigDecimal length = bankingLine.getUeberhoehungslinieAllg()
.getUeberhoehungslinieLaenge().getWert();

final BigDecimal leftPosition = bankInfo.path()
.getDistance(new TopPoint(bankingLine.getIDUeberhoehungA()))
.getDistance(new TopPoint(
bankingLine.getIDUeberhoehungA().getValue()))
.orElseThrow();
final BigDecimal rightPosition = bankInfo.path()
.getDistance(new TopPoint(bankingLine.getIDUeberhoehungB()))
.getDistance(new TopPoint(
bankingLine.getIDUeberhoehungB().getValue()))
.orElseThrow();
final BigDecimal distanceLeft = leftPosition.subtract(pointDistance)
.abs();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@
import org.eclipse.set.basis.graph.TopPath;
import org.eclipse.set.basis.graph.TopPoint;
import org.eclipse.set.core.services.graph.TopologicalGraphService;
import org.eclipse.set.model.planpro.Geodaten.TOP_Kante;
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.ppmodel.extensions.PlanProSchnittstelleExtensions;
import org.eclipse.set.ppmodel.extensions.container.MultiContainer_AttributeGroup;
import org.eclipse.set.toolboxmodel.Geodaten.TOP_Kante;
import org.eclipse.set.toolboxmodel.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.utils.graph.AsDirectedTopGraph;
import org.eclipse.set.utils.graph.AsDirectedTopGraph.DirectedTOPEdge;
import org.eclipse.set.utils.graph.AsSplitTopGraph;
Expand Down Expand Up @@ -86,8 +86,8 @@ private void addContainerToGraph(
}

private void addEdge(final TOP_Kante edge) {
final Node a = new Node(edge.getIDTOPKnotenA());
final Node b = new Node(edge.getIDTOPKnotenB());
final Node a = new Node(edge.getIDTOPKnotenA().getValue());
final Node b = new Node(edge.getIDTOPKnotenB().getValue());
topGraphBase.addVertex(a);
topGraphBase.addVertex(b);
final Edge graphEdge = new Edge(edge);
Expand Down Expand Up @@ -122,7 +122,7 @@ public List<TopPath> findAllPathsBetween(final TopPoint from,
public TopPath findPathBetween(final TopPoint from, final TopPoint to,
final int limit, final Predicate<TopPath> condition) {
return AsDirectedTopGraph.getPath(new AsSplitTopGraph(topGraphBase),
from, to, Integer.valueOf(limit), condition);
from, to, limit, condition);
}

private static BigDecimal getDirectedPathWeight(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
import org.eclipse.set.utils.ToolboxVersion;
import org.osgi.service.component.annotations.Component;

import org.eclipse.set.toolboxmodel.Basisobjekte.BasisobjekteFactory;
import org.eclipse.set.toolboxmodel.Basisobjekte.Identitaet_TypeClass;
import org.eclipse.set.toolboxmodel.PlanPro.DocumentRoot;
import org.eclipse.set.toolboxmodel.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.toolboxmodel.PlanPro.PlanPro_Schnittstelle_Allg_AttributeGroup;
import org.eclipse.set.model.planpro.Basisobjekte.BasisobjekteFactory;
import org.eclipse.set.model.planpro.Basisobjekte.Identitaet_TypeClass;
import org.eclipse.set.model.planpro.PlanPro.DocumentRoot;
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle_Allg_AttributeGroup;

/**
* Common PlanPro initialization step for all use cases.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
import org.eclipse.set.ppmodel.extensions.PlanungProjektExtensions;
import org.osgi.service.component.annotations.Component;

import org.eclipse.set.toolboxmodel.PlanPro.DocumentRoot;
import org.eclipse.set.toolboxmodel.PlanPro.Fuehrende_Oertlichkeit_TypeClass;
import org.eclipse.set.toolboxmodel.PlanPro.PlanProFactory;
import org.eclipse.set.toolboxmodel.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.toolboxmodel.PlanPro.Planung_E_Allg_AttributeGroup;
import org.eclipse.set.model.planpro.PlanPro.DocumentRoot;
import org.eclipse.set.model.planpro.PlanPro.Fuehrende_Oertlichkeit_TypeClass;
import org.eclipse.set.model.planpro.PlanPro.PlanProFactory;
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.model.planpro.PlanPro.Planung_E_Allg_AttributeGroup;

/**
* PlanPro specific initialization step.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import org.eclipse.set.ppmodel.extensions.PlanProSchnittstelleExtensions;
import org.osgi.service.component.annotations.Component;

import org.eclipse.set.toolboxmodel.PlanPro.DocumentRoot;
import org.eclipse.set.model.planpro.PlanPro.DocumentRoot;

/**
* Revise the initialization (this should always be done as the last step).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@ package org.eclipse.set.application.nameservice
import org.eclipse.emf.ecore.EObject
import org.eclipse.set.core.services.name.NameService
import org.eclipse.set.ppmodel.extensions.UrObjectExtensions
import org.eclipse.set.toolboxmodel.Bahnuebergang.BUE_Anlage
import org.eclipse.set.toolboxmodel.BasisTypen.BasisAttribut_AttributeGroup
import org.eclipse.set.toolboxmodel.Basisobjekte.Anhang
import org.eclipse.set.toolboxmodel.Basisobjekte.Ur_Objekt
import org.eclipse.set.toolboxmodel.Fahrstrasse.Fstr_DWeg
import org.eclipse.set.toolboxmodel.Fahrstrasse.Fstr_Zug_Rangier
import org.eclipse.set.toolboxmodel.Geodaten.Ueberhoehung
import org.eclipse.set.toolboxmodel.Signale.Signal
import org.eclipse.set.toolboxmodel.Weichen_und_Gleissperren.W_Kr_Gsp_Element
import org.eclipse.set.model.planpro.Bahnuebergang.BUE_Anlage
import org.eclipse.set.model.planpro.BasisTypen.BasisAttribut_AttributeGroup
import org.eclipse.set.model.planpro.Basisobjekte.Anhang
import org.eclipse.set.model.planpro.Basisobjekte.Ur_Objekt
import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_DWeg
import org.eclipse.set.model.planpro.Fahrstrasse.Fstr_Zug_Rangier
import org.eclipse.set.model.planpro.Geodaten.Ueberhoehung
import org.eclipse.set.model.planpro.Signale.Signal
import org.eclipse.set.model.planpro.Weichen_und_Gleissperren.W_Kr_Gsp_Element
import org.slf4j.Logger
import org.slf4j.LoggerFactory

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
import org.eclipse.set.core.services.part.ToolboxPartService;
import org.eclipse.set.core.services.pdf.PdfRendererService;
import org.eclipse.set.ppmodel.extensions.AnhangTransformation;
import org.eclipse.set.toolboxmodel.Basisobjekte.Anhang;
import org.eclipse.set.toolboxmodel.PlanPro.Container_AttributeGroup;
import org.eclipse.set.model.planpro.Basisobjekte.Anhang;
import org.eclipse.set.model.planpro.PlanPro.Container_AttributeGroup;
import org.eclipse.set.utils.BasePart;
import org.eclipse.set.utils.RefreshAction;
import org.eclipse.set.utils.SelectableAction;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
import org.eclipse.set.core.services.pdf.PdfViewer;
import org.eclipse.set.core.services.pdf.PdfViewer.SaveListener;
import org.eclipse.set.core.services.pdf.PdfViewerPart;
import org.eclipse.set.toolboxmodel.Basisobjekte.ENUMDateityp;
import org.eclipse.set.model.planpro.Basisobjekte.ENUMDateityp;
import org.eclipse.set.utils.BasePart;
import org.eclipse.set.utils.FileWebBrowser;
import org.eclipse.set.utils.SelectableAction;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
import org.eclipse.set.browser.RequestHandler.Response;
import org.eclipse.set.core.services.cache.CacheService;
import org.eclipse.set.core.services.font.FontService;
import org.eclipse.set.model.planpro.PlanPro.Container_AttributeGroup;
import org.eclipse.set.model.validationreport.ContainerContent;
import org.eclipse.set.model.validationreport.ObjectScope;
import org.eclipse.set.toolboxmodel.PlanPro.Container_AttributeGroup;
import org.eclipse.set.utils.BasePart;
import org.eclipse.set.utils.FileWebBrowser;
import org.eclipse.set.utils.SaveAndRefreshAction;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import org.eclipse.set.core.services.files.ToolboxFileService;
import org.eclipse.set.core.services.rename.RenameService;
import org.eclipse.set.ppmodel.extensions.PlanProSchnittstelleExtensions;
import org.eclipse.set.toolboxmodel.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.swt.widgets.Shell;

/**
Expand Down
4 changes: 1 addition & 3 deletions java/bundles/org.eclipse.set.basis/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,6 @@ Import-Package: com.google.common.collect,
org.eclipse.jface.operation,
org.eclipse.jface.text.rules,
org.eclipse.osgi.util,
org.eclipse.set.model.model11001.Layoutinformationen,
org.eclipse.set.model.model11001.PlanPro,
org.eclipse.set.model.validationreport,
org.eclipse.set.model.zipmanifest,
org.eclipse.set.ppmodel.extensions.container,
Expand All @@ -73,4 +71,4 @@ Require-Bundle: com.google.guava,
org.eclipse.xtend.lib,
org.eclipse.xtend.lib.macro,
org.eclipse.set.rcp.compatibility;bundle-version="0.1.0";resolution:=optional,
org.eclipse.set.toolboxmodel
org.eclipse.set.model.planpro
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@
import org.eclipse.set.basis.constants.ValidationResult.Outcome;
import org.eclipse.set.basis.exceptions.UserAbortion;
import org.eclipse.set.basis.files.ToolboxFile;
import org.eclipse.set.model.planpro.Layoutinformationen.PlanPro_Layoutinfo;
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.ppmodel.extensions.container.MultiContainer_AttributeGroup;
import org.eclipse.set.toolboxmodel.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.swt.widgets.Shell;

/**
Expand Down Expand Up @@ -125,6 +126,11 @@ void cancelMergeMode(final Predicate<Path> confirmDeletion)
*/
PlanPro_Schnittstelle getPlanProSchnittstelle();

/**
* @return root of the layout info
*/
PlanPro_Layoutinfo getLayoutInformation();

/**
* @return the total symbol rotation (counterclockwise in degrees)
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import org.eclipse.core.runtime.Assert;
import org.eclipse.set.basis.extensions.PathExtensions;
import org.eclipse.set.basis.extensions.SourceExtensions;
import org.eclipse.set.toolboxmodel.PlanPro.PlanPro_Schnittstelle;
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle;
import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkUtil;
import org.w3c.dom.ls.LSInput;
Expand Down Expand Up @@ -159,7 +159,7 @@ public LSInput resolveResource(final String type,

private static final String PLANPRO_SCHEMA_NAME = "PlanPro.xsd"; //$NON-NLS-1$

private static final String SCHEMA_DIR = "schema-planpro"; //$NON-NLS-1$
private static final String SCHEMA_DIR = "schema"; //$NON-NLS-1$

private static final String SCHEMA_PATTERN = "*.xsd"; //$NON-NLS-1$

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import java.io.IOException;

import org.eclipse.emf.common.command.AbstractCommand;

import org.eclipse.set.basis.MediaInfo;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import java.io.IOException
import java.nio.file.Files
import java.util.ArrayList
import java.util.List
import org.eclipse.set.model.model11001.PlanPro.PlanPro_Schnittstelle
import org.eclipse.set.model.model11001.Layoutinformationen.PlanPro_Layoutinfo
import org.eclipse.set.model.planpro.PlanPro.PlanPro_Schnittstelle
import org.eclipse.set.model.planpro.Layoutinformationen.PlanPro_Layoutinfo

/**
* Extensions for {@link IModelSession}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

import java.io.IOException;

import org.eclipse.set.toolboxmodel.Basisobjekte.Anhang;
import org.eclipse.set.model.planpro.Basisobjekte.Anhang;
import org.eclipse.set.basis.attachments.Attachment;

/**
Expand Down
Loading
Loading