setNamespace(namespace); setPackageVersion(packageVersion);
@Override public List<Object> getListOfSBMLElementsToWrite(Object treeNode) { if (logger.isDebugEnabled()) { logger.debug("getListOfSBMLElementsToWrite: " + treeNode.getClass().getCanonicalName()); } List<Object> listOfElementsToWrite = new ArrayList<Object>(); // test if this treeNode is an extended SBase. if (treeNode instanceof SBase && ((SBase) treeNode).getExtension(shortLabel) != null) { SBasePlugin sbasePlugin = ((Model) treeNode).getExtension(shortLabel); if (sbasePlugin != null) { listOfElementsToWrite = super.getListOfSBMLElementsToWrite(sbasePlugin); logger.debug("getListOfSBMLElementsToWrite: nb children = " + sbasePlugin.getChildCount()); } } else { listOfElementsToWrite = super.getListOfSBMLElementsToWrite(treeNode); } // IntraSpeciesReaction children if (treeNode instanceof IntraSpeciesReaction) { String sbmlNamespace = JSBML.getNamespaceFrom(((IntraSpeciesReaction) treeNode).getLevel(), ((IntraSpeciesReaction) treeNode).getVersion()); for (Object child : listOfElementsToWrite) { if (child instanceof AbstractSBase && ((AbstractSBase) child).getNamespace() == null) { AbstractSBase sbase = (AbstractSBase) child; logger.debug("Found one suspect Model child: " + sbase.getElementName() + ". Setting the SBML namespace to it."); sbase.setNamespace(sbmlNamespace); } } } return listOfElementsToWrite; }
@Override public List<Object> getListOfSBMLElementsToWrite(Object treeNode) { if (logger.isDebugEnabled()) { logger.debug("getListOfSBMLElementsToWrite: " + treeNode.getClass().getCanonicalName()); } List<Object> listOfElementsToWrite = new ArrayList<Object>(); // test if this treeNode is an extended SBase. if (treeNode instanceof SBase && (! (treeNode instanceof Model)) && ((SBase) treeNode).getExtension(getNamespaceURI()) != null) { SBasePlugin sbasePlugin = ((SBase) treeNode).getExtension(getNamespaceURI()); if (sbasePlugin != null) { listOfElementsToWrite = super.getListOfSBMLElementsToWrite(sbasePlugin); logger.debug("getListOfSBMLElementsToWrite: nb children = " + sbasePlugin.getChildCount()); } } else { listOfElementsToWrite = super.getListOfSBMLElementsToWrite(treeNode); } if (treeNode instanceof Model && listOfElementsToWrite != null) { String sbmlNamespace = JSBML.getNamespaceFrom(((Model) treeNode).getLevel(), ((Model) treeNode).getVersion()); for (Object child : listOfElementsToWrite) { if (child instanceof AbstractSBase && ((AbstractSBase) child).getNamespace() == null) { AbstractSBase sbase = (AbstractSBase) child; logger.debug("Found one suspect Model child: " + sbase.getElementName() + ". Setting the SBML namespace to it."); sbase.setNamespace(sbmlNamespace); } } } return listOfElementsToWrite; }
((AbstractSBase) sbase).setNamespace(pi.namespace);