コード例 #1
0
        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);
        }
コード例 #2
0
        private EvoX.Model.Project ConvertToVersionedEvoXProject(Project project)
        {
            evoxProject = new EvoX.Model.Project();
            evoxProject.InitNewEmptyProject(true);



            return(evoxProject);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
 public void SaveAsEvoxProject(Project project, string filePath)
 {
     EvoX.Model.Project evoXProject = ConvertToEvoXProject(project);
     EvoX.Model.Serialization.ProjectSerializationManager serializationManager = new ProjectSerializationManager();
     serializationManager.SaveProject(evoxProject, filePath);
 }