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

gpml parser doesn't put compartment into element inside complexes

parent 4cd685fa
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",!504Resolve "Bug in exporting boundary species to graphical formats"
Pipeline #7469 passed
......@@ -983,15 +983,17 @@ public class ModelContructor {
* {@link Compartment} into a proper compartment.
*
* @param model
* model where aliases will be modifed
* model where aliases will be modified
*/
private void putAliasesIntoCompartments(Model model) {
for (Element alias : model.getElements()) {
if (alias.getCompartment() == null) {
if (alias instanceof Species) {
for (Element element : model.getElements()) {
if (element instanceof Species) {
if (((Species) element).getComplex() != null) {
element.setCompartment(null);
} else if (element.getCompartment() == null) {
Compartment selectedAlias = null;
for (Compartment cAlias : model.getCompartments()) {
if (cAlias.cross(alias)) {
if (cAlias.cross(element)) {
if (selectedAlias == null) {
selectedAlias = cAlias;
} else if (selectedAlias.getSize() > cAlias.getSize()) {
......@@ -1000,7 +1002,7 @@ public class ModelContructor {
}
}
if (selectedAlias != null) {
selectedAlias.addElement(alias);
selectedAlias.addElement(element);
}
}
}
......@@ -1128,16 +1130,16 @@ public class ModelContructor {
compartmentAlias.getElements().clear();
}
for (Element alias : model.getElements()) {
for (Element element : model.getElements()) {
// elements inside complexes shouldn't be considered
if (alias instanceof Species) {
if (((Species) alias).getComplex() != null) {
if (element instanceof Species) {
if (((Species) element).getComplex() != null) {
continue;
}
}
Compartment parentAlias = null;
for (Compartment compartmentAlias : aliases) {
if (compartmentAlias.contains(alias)) {
if (compartmentAlias.contains(element)) {
if (parentAlias == null) {
parentAlias = compartmentAlias;
} else if (parentAlias.getSize() > compartmentAlias.getSize()) {
......@@ -1146,8 +1148,8 @@ public class ModelContructor {
}
}
if (parentAlias != null) {
parentAlias.addElement(alias);
alias.setCompartment(parentAlias);
parentAlias.addElement(element);
element.setCompartment(parentAlias);
}
}
}
......
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