Skip to content
Snippets Groups Projects
Commit de4455a7 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

Merge branch '604-improve-information-in-exception' into 'master'

Resolve "improve information in exception"

Closes #604

See merge request !538
parents 74315676 f22df594
No related branches found
No related tags found
2 merge requests!630WIP: Resolve "The privileges of a new user are not saved in some cases",!538Resolve "improve information in exception"
Pipeline #7913 passed
......@@ -64,6 +64,7 @@ import lcsb.mapviewer.model.map.reaction.type.TwoProductReactionInterface;
import lcsb.mapviewer.model.map.reaction.type.TwoReactantReactionInterface;
import lcsb.mapviewer.model.map.species.Element;
import lcsb.mapviewer.model.map.species.Species;
import lcsb.mapviewer.modelutils.map.ElementUtils;
/**
* This is a part of {@link ReactionXmlParser} class functionality that allows
......@@ -216,9 +217,9 @@ public class ReactionFromXml extends XmlParser {
}
}
try {
assignStochiometry(result.getReactants(), reactantsNode, elements);
assignStochiometry(result.getProducts(), productsNode, elements);
assignStochiometry(result.getModifiers(), modifiersNode, elements);
assignStochiometry(result.getReactants(), reactantsNode, elements);
assignStochiometry(result.getProducts(), productsNode, elements);
assignStochiometry(result.getModifiers(), modifiersNode, elements);
} catch (InvalidStateException e) {
throw new ReactionParserException(result, e);
}
......@@ -476,7 +477,7 @@ public class ReactionFromXml extends XmlParser {
result.removeModifier(modifier);
i--;
} else if (modifier.getLine() == null) {
createLineForModifier(result, modifier);
createLineForModifier(modifier);
}
}
......@@ -579,26 +580,29 @@ public class ReactionFromXml extends XmlParser {
/**
* Creates line information for the modifier.
*
* @param reaction
* reaction where modifier is placed
* @param modifier
* modifier to update
* @throws ReactionParserException
*/
private void createLineForModifier(Reaction reaction, Modifier modifier) {
Element element = modifier.getElement();
CellDesignerAliasConverter converter = new CellDesignerAliasConverter(element, sbgn);
Point2D startPoint = converter.getPointCoordinates(element, anchorsByNodes.get(modifier));
ModifierTypeUtils modifierTypeUtils = new ModifierTypeUtils();
Point2D p = modifierTypeUtils.getAnchorPointOnReactionRect(modifier.getReaction(),
lineTypeByModifier.get(modifier));
PolylineData line = PolylineDataFactory.createPolylineDataFromEditPoints(startPoint, p,
pointsByModifier.get(modifier));
startPoint = converter.getAnchorPointCoordinates(element, anchorsByNodes.get(modifier), line);
line.setStartPoint(startPoint);
modifier.setLine(line);
modifierTypeUtils.updateLineEndPoint(modifier);
private void createLineForModifier(Modifier modifier) throws ReactionParserException {
try {
Element element = modifier.getElement();
CellDesignerAliasConverter converter = new CellDesignerAliasConverter(element, sbgn);
Point2D startPoint = converter.getPointCoordinates(element, anchorsByNodes.get(modifier));
ModifierTypeUtils modifierTypeUtils = new ModifierTypeUtils();
Point2D p = modifierTypeUtils.getAnchorPointOnReactionRect(modifier.getReaction(),
lineTypeByModifier.get(modifier));
PolylineData line = PolylineDataFactory.createPolylineDataFromEditPoints(startPoint, p,
pointsByModifier.get(modifier));
startPoint = converter.getAnchorPointCoordinates(element, anchorsByNodes.get(modifier), line);
line.setStartPoint(startPoint);
modifier.setLine(line);
modifierTypeUtils.updateLineEndPoint(modifier);
} catch (Exception e) {
throw new ReactionParserException("Problem with creating layout for modifier.", modifier.getReaction());
}
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment