public EvoX.Model.Project ConvertToEvoXProject(string fileName) { XmlDeserializatorBase deserializator; if (XmlDeserializatorVersions.UsesVersions(fileName)) { deserializator = new XmlDeserializatorVersions(); } else { deserializator = new XmlDeserializator(); } // First, validates if the file is a valid XCase XML file // TODO: it would be better to have two separate schemas rather than one choice schema string msg = null; if (!deserializator.ValidateXML(fileName, ref msg)) { throw new XCaseException("File cannot be opened. Not a valid XCase XML file"); } // version check string v1; string v2; if (!XmlDeserializatorBase.VersionsEqual(fileName, out v1, out v2)) { throw new XCaseException("Project is obsolete. Project is obsolete and must be converted to a new version before opening. \r\nDo you want to convert it now? "); } Project deserializedProject = deserializator.RestoreProject(fileName); EvoX.Model.Project convertedProject = ConvertToEvoXProject(deserializedProject); return(convertedProject); }
private EvoX.Model.Project ConvertToVersionedEvoXProject(Project project) { evoxProject = new EvoX.Model.Project(); evoxProject.InitNewEmptyProject(true); return(evoxProject); }
public void Test(string filename) { XmlDeserializatorBase deserializator; if (XmlDeserializatorVersions.UsesVersions(filename)) { deserializator = new XmlDeserializatorVersions(); } else { deserializator = new XmlDeserializator(); } Project xcaseProject = deserializator.RestoreProject(filename); EvoXExport evoXExport = new EvoXExport(); EvoX.Model.Project evoxProject = evoXExport.ConvertToEvoXProject(xcaseProject); string resultPath = TEST_BASE_DIR + Path.GetFileNameWithoutExtension(filename) + ".EvoX"; projectSerializationManager.SaveProject(evoxProject, resultPath); }
private EvoX.Model.Project ConvertToNonversionedEvoXProject(Project project) { evoxProject = new EvoX.Model.Project(); evoxProject.InitNewEmptyProject(true); projectVersion = evoxProject.SingleVersion; pimSchema = projectVersion.PIMSchema; ConvertPIMSchema(); foreach (PSMDiagram psmDiagram in project.PSMDiagrams) { psmSchema = new PSMSchema(evoxProject); PSMSchemaClass psmSchemaClass = new PSMSchemaClass(evoxProject, psmSchema); psmSchemaClass.Name = psmDiagram.Caption; psmSchema.RegisterPSMSchemaClass(psmSchemaClass); projectVersion.AddPSMSchema(psmSchema); ConvertPSMSchema(psmDiagram); } return(evoxProject); }
public void SaveAsEvoxProject(Project project, string filePath) { EvoX.Model.Project evoXProject = ConvertToEvoXProject(project); EvoX.Model.Serialization.ProjectSerializationManager serializationManager = new ProjectSerializationManager(); serializationManager.SaveProject(evoxProject, filePath); }