Beispiel #1
0
    /**
     * Loads the assessment profile (set of assessment rules) stored in file
     * with path xmlFile in zipFile
     *
     * @param zipFile
     * @param xmlFile
     * @param incidences
     * @return
     */
    public static AssessmentProfile loadAssessmentProfile(InputStreamCreator isCreator, string xmlFile, List<Incidence> incidences)
    {
        AssessmentProfile newProfile = null;
        if (Loader.adventureData != null)
        {
            foreach (Chapter chapter in Loader.adventureData.getChapters())
            {
                if (chapter.getAssessmentProfiles().Count != 0)
                {
                    foreach (AssessmentProfile profile in chapter.getAssessmentProfiles())
                    {
                        if (profile.getName().Equals(xmlFile))
                        {
                            //try
                            //{
                                newProfile = (AssessmentProfile)profile;
                            //}
                            //catch (CloneNotSupportedException e)
                            //{
                            //    e.printStackTrace();
                            //}
                            break;
                        }
                    }
                }
            }
        }
        else {

            // Open the file and load the data
            try
            {
                // Set the chapter handler
                AssessmentProfile profile = new AssessmentProfile();

                string name = xmlFile;
                name = name.Substring(name.IndexOf("/") + 1);
                if (name.IndexOf(".") != -1)
                    name = name.Substring(0, name.IndexOf("."));
                profile.setName(name);
                AssessmentHandler assParser = new AssessmentHandler(isCreator, profile);

                //factory.setValidating(true);
                //SAXParser saxParser = factory.newSAXParser();

                //// Parse the data and close the data
                string assessmentIS = isCreator.buildInputStream(xmlFile);

                //saxParser.parse(assessmentIS, assParser);
                //assessmentIS.close();
                assParser.Parse(assessmentIS);
                // Finally add the new controller to the list
                // Create the new profile

                // Fill flags & vars
                newProfile = profile;

            }
            catch (Exception e) { Debug.LogError(e); }

            //catch (ParserConfigurationException e)
            //{
            //    incidences.add(Incidence.createAssessmentIncidence(false, Language.GetText("Error.LoadAssessmentData.SAX"), xmlFile, e));
            //}
            //catch (SAXException e)
            //{
            //    incidences.add(Incidence.createAssessmentIncidence(false, Language.GetText("Error.LoadAssessmentData.SAX"), xmlFile, e));
            //}
            //catch (IOException e)
            //{
            //    incidences.add(Incidence.createAssessmentIncidence(false, Language.GetText("Error.LoadAssessmentData.IO"), xmlFile, e));
            //}
        }
        return newProfile;
    }
Beispiel #2
0
    /**
     * Loads the assessment profile (set of assessment rules) stored in file
     * with path xmlFile in zipFile
     *
     * @param zipFile
     * @param xmlFile
     * @param incidences
     * @return
     */
    public static AssessmentProfile loadAssessmentProfile(InputStreamCreator isCreator, string xmlFile, List <Incidence> incidences)
    {
        AssessmentProfile newProfile = null;

        if (Loader.adventureData != null)
        {
            foreach (Chapter chapter in Loader.adventureData.getChapters())
            {
                if (chapter.getAssessmentProfiles().Count != 0)
                {
                    foreach (AssessmentProfile profile in chapter.getAssessmentProfiles())
                    {
                        if (profile.getName().Equals(xmlFile))
                        {
                            //try
                            //{
                            newProfile = (AssessmentProfile)profile;
                            //}
                            //catch (CloneNotSupportedException e)
                            //{
                            //    e.printStackTrace();
                            //}
                            break;
                        }
                    }
                }
            }
        }
        else
        {
            // Open the file and load the data
            try
            {
                // Set the chapter handler
                AssessmentProfile profile = new AssessmentProfile();

                string name = xmlFile;
                name = name.Substring(name.IndexOf("/") + 1);
                if (name.IndexOf(".") != -1)
                {
                    name = name.Substring(0, name.IndexOf("."));
                }
                profile.setName(name);
                AssessmentHandler assParser = new AssessmentHandler(isCreator, profile);

                //factory.setValidating(true);
                //SAXParser saxParser = factory.newSAXParser();

                //// Parse the data and close the data
                string assessmentIS = isCreator.buildInputStream(xmlFile);

                //saxParser.parse(assessmentIS, assParser);
                //assessmentIS.close();
                assParser.Parse(assessmentIS);
                // Finally add the new controller to the list
                // Create the new profile

                // Fill flags & vars
                newProfile = profile;
            }
            catch (Exception e) { Debug.LogError(e); }

            //catch (ParserConfigurationException e)
            //{
            //    incidences.add(Incidence.createAssessmentIncidence(false, Language.GetText("Error.LoadAssessmentData.SAX"), xmlFile, e));
            //}
            //catch (SAXException e)
            //{
            //    incidences.add(Incidence.createAssessmentIncidence(false, Language.GetText("Error.LoadAssessmentData.SAX"), xmlFile, e));
            //}
            //catch (IOException e)
            //{
            //    incidences.add(Incidence.createAssessmentIncidence(false, Language.GetText("Error.LoadAssessmentData.IO"), xmlFile, e));
            //}
        }
        return(newProfile);
    }