public PetriNetwork(Random rand, string name, string description, int width, int height, int sh_width, int sh_height, IdentityProvider identityProvider, string statePrefix, int defaultEdgeWeight, int stateGenNumber, string fileName, FireRule fireRule, int simulationTimeout, string certificateSubject, DateTime lastModificationDate) : base(rand, stateGenNumber, statePrefix, sh_width, sh_height) { this.name = name; this.description = description; this.fileName = fileName; this.width = width; this.height = height; this.identityProvider = identityProvider; this.defaultEdgeWeight = defaultEdgeWeight; this.fireRule = fireRule; this.simulationTimeout = simulationTimeout; this.activeSimulation = false; this.certificateSubject = certificateSubject; this.lastModificationDate = lastModificationDate; }
protected override void dialogOK() { try { int width = Convert.ToInt32(this.nudWidth.Value); int height = Convert.ToInt32(this.nudHeight.Value); int sh_width = Convert.ToInt32(this.nudStateHierarchyWidth.Value); int sh_height = Convert.ToInt32(this.nudStateHierarchyHeight.Value); int defaultEdgeWeight = Convert.ToInt32(this.nudDefaultEdgeWeight.Value); int simulationTimeout = Convert.ToInt32(this.nudTimeout.Value); IdentityProvider identityProvider = new IdentityProvider(tbPositionPrefix.Text, tbTransitionPrefix.Text, tbTokenPrefix.Text, tbNotePrefix.Text, 0, 0, 0, 0); string certificateSubject = CryptoHelper.getInstance().Subject; this.petriNetwork = new PetriNetwork(this.rand, tbName.Text, "", width, height, sh_width, sh_height, identityProvider, tbStatePrefix.Text, defaultEdgeWeight, 0, null, FireRule.getDefault(), simulationTimeout, certificateSubject, DateTime.Now); } catch (OverflowException e) { throw new SimApplicationException("Conversion error.",e); } }
public static PetriNetwork openSettingsFromXml(Random rand, XmlNodeList root, string fileName) { int tokenGenNumber = 0; int positionGenNumber = 0; int transitionGenNumber = 0; int noteGenNumber = 0; int stateGenNumber = 0; string tokenPrefix = ""; string positionPrefix = "P"; string transitionPrefix = "T"; string notePrefix = "N"; string statePrefix = "S"; int defaultEdgeWeight = 1; string name = "new"; string certificateSubject = ""; DateTime lastModificationDate = DateTime.Now; string description = ""; int width = 640; int height = 480; int sh_width = 320; int sh_height = 240; int simulationTimeout = PetriNetwork.DEF_TIMEOUT; FireRule fireRule = FireRule.getDefault(); EventTrunk events = new EventTrunk(); foreach (XmlNode node in root) { string namespaceUri = node.NamespaceURI; string localName = node.LocalName; switch (namespaceUri) { case PetriXmlHelper.XML_SETTINGS_NAMESPACE: switch (localName) { case "Name": name = PetriNetwork.openStringData(node); break; case "CertificateSubject": certificateSubject = PetriNetwork.openStringData(node); break; case "LastModificationDate": lastModificationDate = PetriNetwork.openDateTimeData(node); break; case "Description": description = PetriNetwork.openStringData(node); break; case "Width": width = PetriNetwork.openIntData(node); break; case "Height": height = PetriNetwork.openIntData(node); break; case "StateHierarchyWidth": sh_width = PetriNetwork.openIntData(node); break; case "StateHierarchyHeight": sh_height = PetriNetwork.openIntData(node); break; case "TokenGenNumber": tokenGenNumber = PetriNetwork.openIntData(node); break; case "PositionGenNumber": positionGenNumber = PetriNetwork.openIntData(node); break; case "TransitionGenNumber": transitionGenNumber = PetriNetwork.openIntData(node); break; case "NoteGenNumber": noteGenNumber = PetriNetwork.openIntData(node); break; case "StateGenNumber": stateGenNumber = PetriNetwork.openIntData(node); break; case "TokenPrefix": tokenPrefix = PetriNetwork.openStringData(node); break; case "PositionPrefix": positionPrefix = PetriNetwork.openStringData(node); break; case "TransitionPrefix": transitionPrefix = PetriNetwork.openStringData(node); break; case "NotePrefix": notePrefix = PetriNetwork.openStringData(node); break; case "StatePrefix": statePrefix = PetriNetwork.openStringData(node); break; case "DefaultEdgeWeight": defaultEdgeWeight = PetriNetwork.openIntData(node); break; case "FireRule": fireRule = FireRule.getEnumByValue(PetriNetwork.openStringData(node)); break; case "SimulationTimeout": simulationTimeout = PetriNetwork.openIntData(node); break; } break; } } IdentityProvider identityProvider = new IdentityProvider(positionPrefix, transitionPrefix, tokenPrefix, notePrefix,tokenGenNumber, positionGenNumber, transitionGenNumber, noteGenNumber); return new PetriNetwork(rand, name, description, width, height, sh_width, sh_height, identityProvider, statePrefix, defaultEdgeWeight, stateGenNumber, fileName, fireRule, simulationTimeout, certificateSubject, lastModificationDate); }