Code Working in IE but not in Firefox

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • drhowarddrfine
    Recognized Expert Expert
    • Sep 2006
    • 7434

    #16
    I think the whole problem is with XML parsing.
    IE supports but Mozilla does not.
    Hm. XML works just fine in Firefox.

    Comment

    • acoder
      Recognized Expert MVP
      • Nov 2006
      • 16032

      #17
      Originally posted by dmjpro
      I think the whole problem is with XML parsing.
      IE supports but Mozilla does not.
      IE supports probably with ActiveX. Firefox is much better and more standards-compliant when dealing with XML.

      Comment

      • Jenitha S
        New Member
        • Aug 2007
        • 11

        #18
        Actually this is the code that parses the XML code.

        Code:
        import java.io.*;
        import java.util.Enumeration;
        import java.util.Iterator;
        import java.util.Vector;
        import org.apache.xerces.parsers.DOMParser ;
        import org.xml.sax.SAXException;
        import java.io.IOException;
        import org.w3c.dom.Document;
        import org.w3c.dom.Node;
        import org.w3c.dom.Element;
        import org.w3c.dom.NodeList;
        
        /**
         * Generates handler code and associated property files for specified screens.
         *
         * Created by IntelliJ IDEA.
         * User: sfalby
         * Date: Sep 12, 2003
         * Time: 10:34:50 AM
         * To change this template use Options | File Templates.
         */
        public class ScreenGenerator {
        
            private static final boolean overwrite = true;
        
            public static void main(String[] args) {
        
                try {
        
                    // check arguments
                    if (args.length != 7) {
                        System.err.println("HandlerGenerator error : arguments incorrect");
                        return;
                    }
        
                    // generate
                    generate(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
                }
                catch (Exception e) {
                    System.err.println("HandlerGenerator error : " + e.getMessage());
                    e.printStackTrace();
                }
            }
        
            /**
             * Generates handler classes and property files.
             *
             * @param handlerDestDir destination for handler class files
             * @param handlerPackage package for handler classes
             * @param propertyDestDir destination for property files
             * @param languageSuffix language suffix appended to end of property file name
             * @param screensFile file containing screen descriptions
             * @param menuFile wrap menu file
             * @param forwardsFile global forwards file
             */
            public static void generate(
                String handlerDestDir,
                String handlerPackage,
                String propertyDestDir,
                String languageSuffix,
                String screensFile,
                String menuFile,
                String forwardsFile)
            throws IOException, SAXException {
        
                // get screens
                Vector screens = getScreens(screensFile);
        
                // iterate through screens
                Vector screenNames = new Vector();
                for (int i = 0; i < screens.size(); i++) {
        
                    // get next screen
                    Element screen = (Element)screens.get(i);
        
                    // get screen name
                    String screenName = screen.getAttribute("screenName");
                    System.out.println("screenName = " + screenName);
        
                    // get property template
                    String propertyTemplate = screen.getAttribute("propertyTemplate");
                    System.out.println("     propertyTemplate = " + propertyTemplate);
        
                    // get handler template
                    String handlerTemplate = screen.getAttribute("handlerTemplate");
                    System.out.println("     handlerTemplate = " + handlerTemplate);
        
                    // get handler class name
                    String handlerClassname = screenName + "Handler";
                    System.out.println("     handlerClassname = " + handlerClassname);
        
                    // get handler base class
                    String handlerBaseClassname = screen.getAttribute("handlerBaseClass");
                    System.out.println("     handlerBaseClass = " + handlerBaseClassname);
        
                    // get handler file path
                    String handlerFilePath = handlerDestDir + "\\" + handlerClassname + ".java";
        
                    // create handler file
                    createHandlerFile(handlerTemplate, handlerFilePath, handlerPackage, handlerClassname, handlerBaseClassname, screenName);
        
                    // get property file path
                    String propertyFilePath = propertyDestDir + "\\" + screenName + languageSuffix + ".properties";
        
                    // create property file
                    createPropertyFile(propertyTemplate, propertyFilePath, screenName, handlerBaseClassname);
        
                    // add screen name
                    screenNames.add(screenName);
                }
        
                // create menus
                createMenus(menuFile, screenNames);
        
                // create global forwards
                createGlobalForwards(forwardsFile, screenNames);
            }
        
            //////////////////////////////////////////////////////////
            // Private Functions
            //////////////////////////////////////////////////////////
        
            private static Vector getScreens(String screensFile)
            throws SAXException, IOException {
        
                // create xerces DOM parser
                DOMParser  parser = new DOMParser ();
        
                // parse file
                parser.parse(screensFile);
        
                // get document
                Document document = parser.getDocument();
        
        
        
                // traverse tree
                Vector screens = new Vector();
                traverse(document, screens);
        
                // return results
                return screens;
            }
        
            private static void traverse (Node node, Vector nodes) {
        
                // get type
                int type = node.getNodeType();
        
                // add element nodes
                if (node.getNodeName().equals("screen") && type == Node.ELEMENT_NODE)
                    nodes.add(node);
        
                // check if children nodes exist
                NodeList children = node.getChildNodes();
                if (children != null) {
                    for (int i=0; i< children.getLength(); i++)
                        traverse (children.item(i), nodes);
                }
            }
        
            private static void createHandlerFile(
                String templateFile,
                String handlerFile,
                String handlerPackage,
                String handlerClassname,
                String handlerBaseClassname,
                String screenName)
            throws IOException {
        
                // check if file exista
                if (!overwrite) {
                    File f = new File(handlerFile);
                    if (f.exists()) {
                        System.err.println(handlerFile + " already exists");
                        return;
                    }
                }
        
                // set up file reader and writer
                BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(templateFile)));
                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(handlerFile)));
        
                // iterate through template file
                String line = null;
                while((line = reader.readLine()) != null) {
        
                    // replace text
                    line = line.replaceAll("<PACKAGE>", handlerPackage);
                    line = line.replaceAll("<CLASS>", handlerClassname);
                    line = line.replaceAll("<BASECLASS>", handlerBaseClassname);
                    line = line.replaceAll("<SCREEN>", screenName);
        
                    // write line
                    writer.write(line + "\r\n");
                    writer.flush();
                }
        
                // close resources
                reader.close();
                writer.close();
            }
        
            private static void createPropertyFile(
                String templateFile,
                String propertyFile,
                String screenName,
                String handlerBaseClassname)
            throws IOException {
        
                // check if file exista
                if (!overwrite) {
                    File f = new File(propertyFile);
                    if (f.exists()) {
                        System.err.println(propertyFile + " already exists");
                        return;
                    }
                }
        
                // set up file reader and writer
                BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(templateFile)));
                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(propertyFile)));
        
                // iterate through template file
                String line = null;
                while((line = reader.readLine()) != null) {
        
                    // replace text
                    line = line.replaceAll("<SCREEN TITLE>", screenName);
                    line = line.replaceAll("<SCREEN>", screenName);
        
                    // write line
                    writer.write(line + "\r\n");
                    writer.flush();
                }
        
                // close resources
                reader.close();
                writer.close();
            }
        
            private static void createMenus(
                String menuFile,
                Vector screenNames)
            throws IOException {
        
                boolean generatedMenu = false;
        
                // set up file reader and writer
                BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(menuFile)));
                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(menuFile + ".temp")));
        
                // iterate through menu file
                String line = null;
                while((line = reader.readLine()) != null) {
        
                    // find place holder
                    if (line.indexOf("Generated Screens Start") >= 0) {
        
                        // set flag
                        generatedMenu = true;
        
                        // write place holder
                        writer.write(line + "\r\n");
        
                        // iterate through screens
                        for (Iterator i = screenNames.iterator(); i.hasNext();) {
        
                            // get next screen name
                            String screenName = (String)i.next();
        
                            // write menu
                            writer.write("          <menuitem key=\"" + screenName + "\" url=\"" + screenName + ".do\"/>"  + "\r\n");
                        }
                    }
                    else if (line.indexOf("Generated Screens End") >= 0) {
        
                        // reset flag
                        generatedMenu = false;
        
                        // write place holder
                        writer.write(line + "\r\n");
                    }
                    else if (generatedMenu) {
                        // ignore existing generated screens
                    }
                    else {
                        writer.write(line + "\r\n");
                    }
                    writer.flush();
                }
        
                // close resources
                reader.close();
                writer.close();
        
                // switch files
                File fromMenu = new File(menuFile + ".temp");
                File toMenu = new File(menuFile);
                copyFile(fromMenu, toMenu);
        
                // delete temp file
                fromMenu.delete();
            }
        
            private static void createGlobalForwards(
                    String forwardsFile,
                    Vector screenNames)
            throws IOException {
        
                boolean generatedForward = false;
        
                // set up file reader and writer
                BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(forwardsFile)));
                BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(forwardsFile + ".temp")));
        
                // iterate through menu file
                String line = null;
                while((line = reader.readLine()) != null) {
        
                    // find place holder
                    if (line.indexOf("Generated Forwards Start") >= 0) {
        
                        // set flag
                        generatedForward = true;
        
                        // write place holder
                        writer.write(line + "\r\n");
        
                        // iterate through screens
                        for (Iterator i = screenNames.iterator(); i.hasNext();) {
        
                            // get next screen name
                            String screenName = (String)i.next();
        
                            // write forward
                            writer.write("          <forward name=\"" + screenName + "\" path=\"/" + screenName + ".do\"/>"  + "\r\n");
                        }
                    }
                    else if (line.indexOf("Generated Forwards End") >= 0) {
        
                        // reset flag
                        generatedForward = false;
        
                        // write place holder
                        writer.write(line + "\r\n");
                    }
                    else if (generatedForward) {
                        // ignore existing generated forwards
                    }
                    else {
                        writer.write(line + "\r\n");
                    }
                    writer.flush();
                }
        
                // close resources
                reader.close();
                writer.close();
        
                // switch files
                File fromMenu = new File(forwardsFile + ".temp");
                File toMenu = new File(forwardsFile);
                copyFile(fromMenu, toMenu);
        
                // delete temp file
                fromMenu.delete();
            }
        
            private static void copyFile(File fromFile, File toFile)
            throws IOException {
                FileInputStream in  = new FileInputStream(fromFile);
                FileOutputStream out = new FileOutputStream(toFile);
                byte[] buf = new byte[1024];
                int i = 0;
                while((i=in.read(buf))!=-1)
                    out.write(buf, 0, i);
                in.close();
                out.close();
            }
        }

        Comment

        • dmjpro
          Top Contributor
          • Jan 2007
          • 2476

          #19
          Hi Jenitha did you try my XML File?

          Try this one it will work.
          [code=xml]
          <XML>
          <menubar key="menubar_ho me" url="Home.do">H ome</menubar>
          <menubar key="menubar_ca s" url="CASearch.d o">CAs
          <menuitem key="CASearch" url="CASearch.d o">CASearch</menuitem>
          <menuitem key="CAAdd" url="CAAdd.do"> CAAdd</menuitem>
          </menubar>
          <menubar key="menubar_si gners" url="SignerSear ch.do">Signers
          <menuitem key="SignerSear ch" url="SignerSear ch.do">SignerSe arch</menuitem>
          <menuitem key="SignerAdd" url="SignerAdd. do">SignerAdd </menuitem>
          </menubar>
          <menubar key="menubar_st atussources" url="StatusSour ceSearch.do">St atusSources
          <menuitem key="StatusSour ceSearch" url="StatusSour ceSearch.do">St atusSourceSearc h</menuitem>
          <menuitem key="StatusSour ceAdd" url="StatusSour ceAdd.do">Statu sSourceAdd</menuitem>
          </menubar>
          <menubar key="menubar_sy stem" url="SystemOver view.do">System
          <menuitem key="Overview" url="SystemOver view.do">Overvi ew</menuitem>
          <menuitem key="SystemSett ings" url="SystemSett ings.do">System Settings</menuitem>
          <menuitem key="EventLoggi ng" url="SystemEven tLogging.do">Ev entLogging</menuitem>
          <menuitem key="OCSP" url="SystemOCSP Config.do">OCSP </menuitem>
          <menuitem key="SyncClient s" url="SystemSync ClientSearch.do ">SyncClien ts</menuitem>
          <menuitem key="ClusterNod es" url="SystemClus terNodeSearch.d o">ClusterNodes </menuitem>
          </menubar>
          </XML>
          [/code]

          Best of luck with your Code.

          Kind regards,
          Dmjpro.

          Comment

          • Jenitha S
            New Member
            • Aug 2007
            • 11

            #20
            Originally posted by dmjpro
            Hi Jenitha did you try my XML File?

            Try this one it will work.
            [code=xml]
            <XML>
            <menubar key="menubar_ho me" url="Home.do">H ome</menubar>
            <menubar key="menubar_ca s" url="CASearch.d o">CAs
            <menuitem key="CASearch" url="CASearch.d o">CASearch</menuitem>
            <menuitem key="CAAdd" url="CAAdd.do"> CAAdd</menuitem>
            </menubar>
            <menubar key="menubar_si gners" url="SignerSear ch.do">Signers
            <menuitem key="SignerSear ch" url="SignerSear ch.do">SignerSe arch</menuitem>
            <menuitem key="SignerAdd" url="SignerAdd. do">SignerAdd </menuitem>
            </menubar>
            <menubar key="menubar_st atussources" url="StatusSour ceSearch.do">St atusSources
            <menuitem key="StatusSour ceSearch" url="StatusSour ceSearch.do">St atusSourceSearc h</menuitem>
            <menuitem key="StatusSour ceAdd" url="StatusSour ceAdd.do">Statu sSourceAdd</menuitem>
            </menubar>
            <menubar key="menubar_sy stem" url="SystemOver view.do">System
            <menuitem key="Overview" url="SystemOver view.do">Overvi ew</menuitem>
            <menuitem key="SystemSett ings" url="SystemSett ings.do">System Settings</menuitem>
            <menuitem key="EventLoggi ng" url="SystemEven tLogging.do">Ev entLogging</menuitem>
            <menuitem key="OCSP" url="SystemOCSP Config.do">OCSP </menuitem>
            <menuitem key="SyncClient s" url="SystemSync ClientSearch.do ">SyncClien ts</menuitem>
            <menuitem key="ClusterNod es" url="SystemClus terNodeSearch.d o">ClusterNodes </menuitem>
            </menubar>
            </XML>
            [/code]

            Best of luck with your Code.

            Kind regards,
            Dmjpro.
            I have tried but it's not working

            Comment

            • dmjpro
              Top Contributor
              • Jan 2007
              • 2476

              #21
              Originally posted by Jenitha S
              I have tried but it's not working
              The Same Error Message you are facing??

              Comment

              • acoder
                Recognized Expert MVP
                • Nov 2006
                • 16032

                #22
                Jenitha, post your code again. As you'll probably have noticed, when you posted your code, it didn't appear. Split it up into smaller chunks to avoid the CODE tags bug.

                Comment

                • Jenitha S
                  New Member
                  • Aug 2007
                  • 11

                  #23
                  Originally posted by acoder
                  Jenitha, post your code again. As you'll probably have noticed, when you posted your code, it didn't appear. Split it up into smaller chunks to avoid the CODE tags bug.
                  This is the java code used to parse the xml
                  Code:
                  public class ScreenGenerator {
                  
                      private static final boolean overwrite = true;
                  
                      public static void main(String[] args) {
                  
                          try {
                  
                              // check arguments
                              if (args.length != 7) {
                                  System.err.println("HandlerGenerator error : arguments incorrect");
                                  return;
                              }
                  
                              // generate
                              generate(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
                          }
                          catch (Exception e) {
                              System.err.println("HandlerGenerator error : " + e.getMessage());
                              e.printStackTrace();
                          }
                      }
                  
                      /**
                       * Generates handler classes and property files.
                       *
                       * @param handlerDestDir destination for handler class files
                       * @param handlerPackage package for handler classes
                       * @param propertyDestDir destination for property files
                       * @param languageSuffix language suffix appended to end of property file name
                       * @param screensFile file containing screen descriptions
                       * @param menuFile wrap menu file
                       * @param forwardsFile global forwards file
                       */
                      public static void generate(
                          String handlerDestDir,
                          String handlerPackage,
                          String propertyDestDir,
                          String languageSuffix,
                          String screensFile,
                          String menuFile,
                          String forwardsFile)
                      throws IOException, SAXException {
                  
                          // get screens
                          Vector screens = getScreens(screensFile);
                  
                          // iterate through screens
                          Vector screenNames = new Vector();
                          for (int i = 0; i < screens.size(); i++) {
                  
                              // get next screen
                              Element screen = (Element)screens.get(i);
                  
                              // get screen name
                              String screenName = screen.getAttribute("screenName");
                              System.out.println("screenName = " + screenName);
                  
                              // get property template
                              String propertyTemplate = screen.getAttribute("propertyTemplate");
                              System.out.println("     propertyTemplate = " + propertyTemplate);
                  
                              // get handler template
                              String handlerTemplate = screen.getAttribute("handlerTemplate");
                              System.out.println("     handlerTemplate = " + handlerTemplate);
                  
                              // get handler class name
                              String handlerClassname = screenName + "Handler";
                              System.out.println("     handlerClassname = " + handlerClassname);
                  
                              // get handler base class
                              String handlerBaseClassname = screen.getAttribute("handlerBaseClass");
                              System.out.println("     handlerBaseClass = " + handlerBaseClassname);
                  
                              // get handler file path
                              String handlerFilePath = handlerDestDir + "\\" + handlerClassname + ".java";
                  
                              // create handler file
                              createHandlerFile(handlerTemplate, handlerFilePath, handlerPackage, handlerClassname, handlerBaseClassname, screenName);
                  
                              // get property file path
                              String propertyFilePath = propertyDestDir + "\\" + screenName + languageSuffix + ".properties";
                  
                              // create property file
                              createPropertyFile(propertyTemplate, propertyFilePath, screenName, handlerBaseClassname);
                  
                              // add screen name
                              screenNames.add(screenName);
                          }
                  
                          // create menus
                          createMenus(menuFile, screenNames);
                  
                          // create global forwards
                          createGlobalForwards(forwardsFile, screenNames);
                      }
                  
                      //////////////////////////////////////////////////////////
                      // Private Functions
                      //////////////////////////////////////////////////////////
                  
                      private static Vector getScreens(String screensFile)
                      throws SAXException, IOException {
                  
                          // create xerces DOM parser
                          DOMParser  parser = new DOMParser ();
                  
                          // parse file
                          parser.parse(screensFile);
                  
                          // get document
                          Document document = parser.getDocument();
                  
                  
                  
                          // traverse tree
                          Vector screens = new Vector();
                          traverse(document, screens);
                  
                          // return results
                          return screens;
                      }

                  Comment

                  • Jenitha S
                    New Member
                    • Aug 2007
                    • 11

                    #24
                    Continuation of that java code...

                    Code:
                    private static void traverse (Node node, Vector nodes) {
                    
                            // get type
                            int type = node.getNodeType();
                    
                            // add element nodes
                            if (node.getNodeName().equals("screen") && type == Node.ELEMENT_NODE)
                                nodes.add(node);
                    
                            // check if children nodes exist
                            NodeList children = node.getChildNodes();
                            if (children != null) {
                                for (int i=0; i< children.getLength(); i++)
                                    traverse (children.item(i), nodes);
                            }
                        }
                    
                        private static void createHandlerFile(
                            String templateFile,
                            String handlerFile,
                            String handlerPackage,
                            String handlerClassname,
                            String handlerBaseClassname,
                            String screenName)
                        throws IOException {
                    
                            // check if file exista
                            if (!overwrite) {
                                File f = new File(handlerFile);
                                if (f.exists()) {
                                    System.err.println(handlerFile + " already exists");
                                    return;
                                }
                            }
                    
                            // set up file reader and writer
                            BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(templateFile)));
                            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(handlerFile)));
                    
                            // iterate through template file
                            String line = null;
                            while((line = reader.readLine()) != null) {
                    
                                // replace text
                                line = line.replaceAll("<PACKAGE>", handlerPackage);
                                line = line.replaceAll("<CLASS>", handlerClassname);
                                line = line.replaceAll("<BASECLASS>", handlerBaseClassname);
                                line = line.replaceAll("<SCREEN>", screenName);
                    
                                // write line
                                writer.write(line + "\r\n");
                                writer.flush();
                            }
                    
                            // close resources
                            reader.close();
                            writer.close();
                        }
                    
                        private static void createPropertyFile(
                            String templateFile,
                            String propertyFile,
                            String screenName,
                            String handlerBaseClassname)
                        throws IOException {
                    
                            // check if file exista
                            if (!overwrite) {
                                File f = new File(propertyFile);
                                if (f.exists()) {
                                    System.err.println(propertyFile + " already exists");
                                    return;
                                }
                            }
                    
                            // set up file reader and writer
                            BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(templateFile)));
                            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(propertyFile)));
                    
                            // iterate through template file
                            String line = null;
                            while((line = reader.readLine()) != null) {
                    
                                // replace text
                                line = line.replaceAll("<SCREEN TITLE>", screenName);
                                line = line.replaceAll("<SCREEN>", screenName);
                    
                                // write line
                                writer.write(line + "\r\n");
                                writer.flush();
                            }
                    
                            // close resources
                            reader.close();
                            writer.close();
                        }
                    
                        private static void createMenus(
                            String menuFile,
                            Vector screenNames)
                        throws IOException {
                    
                            boolean generatedMenu = false;
                    
                            // set up file reader and writer
                            BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(menuFile)));
                            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(menuFile + ".temp")));
                    
                            // iterate through menu file
                            String line = null;
                            while((line = reader.readLine()) != null) {
                    
                                // find place holder
                                if (line.indexOf("Generated Screens Start") >= 0) {
                    
                                    // set flag
                                    generatedMenu = true;
                    
                                    // write place holder
                                    writer.write(line + "\r\n");
                    
                                    // iterate through screens
                                    for (Iterator i = screenNames.iterator(); i.hasNext();) {
                    
                                        // get next screen name
                                        String screenName = (String)i.next();
                    
                                        // write menu
                                        writer.write("          <menuitem key=\"" + screenName + "\" url=\"" + screenName + ".do\"/>"  + "\r\n");
                                    }
                                }
                                else if (line.indexOf("Generated Screens End") >= 0) {
                    
                                    // reset flag
                                    generatedMenu = false;
                    
                                    // write place holder
                                    writer.write(line + "\r\n");
                                }
                                else if (generatedMenu) {
                                    // ignore existing generated screens
                                }
                                else {
                                    writer.write(line + "\r\n");
                                }
                                writer.flush();
                            }
                    
                            // close resources
                            reader.close();
                            writer.close();
                    
                            // switch files
                            File fromMenu = new File(menuFile + ".temp");
                            File toMenu = new File(menuFile);
                            copyFile(fromMenu, toMenu);
                    
                            // delete temp file
                            fromMenu.delete();
                        }
                    
                        private static void createGlobalForwards(
                                String forwardsFile,
                                Vector screenNames)
                        throws IOException {
                    
                            boolean generatedForward = false;
                    
                            // set up file reader and writer
                            BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(forwardsFile)));
                            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(forwardsFile + ".temp")));
                    
                            // iterate through menu file
                            String line = null;
                            while((line = reader.readLine()) != null) {
                    
                                // find place holder
                                if (line.indexOf("Generated Forwards Start") >= 0) {
                    
                                    // set flag
                                    generatedForward = true;
                    
                                    // write place holder
                                    writer.write(line + "\r\n");
                    
                                    // iterate through screens
                                    for (Iterator i = screenNames.iterator(); i.hasNext();) {
                    
                                        // get next screen name
                                        String screenName = (String)i.next();
                    
                                        // write forward
                                        writer.write("          <forward name=\"" + screenName + "\" path=\"/" + screenName + ".do\"/>"  + "\r\n");
                                    }
                                }
                                else if (line.indexOf("Generated Forwards End") >= 0) {
                    
                                    // reset flag
                                    generatedForward = false;
                    
                                    // write place holder
                                    writer.write(line + "\r\n");
                                }
                                else if (generatedForward) {
                                    // ignore existing generated forwards
                                }
                                else {
                                    writer.write(line + "\r\n");
                                }
                                writer.flush();
                            }
                    
                            // close resources
                            reader.close();
                            writer.close();
                    
                            // switch files
                            File fromMenu = new File(forwardsFile + ".temp");
                            File toMenu = new File(forwardsFile);
                            copyFile(fromMenu, toMenu);
                    
                            // delete temp file
                            fromMenu.delete();
                        }
                    
                        private static void copyFile(File fromFile, File toFile)
                        throws IOException {
                            FileInputStream in  = new FileInputStream(fromFile);
                            FileOutputStream out = new FileOutputStream(toFile);
                            byte[] buf = new byte[1024];
                            int i = 0;
                            while((i=in.read(buf))!=-1)
                                out.write(buf, 0, i);
                            in.close();
                            out.close();
                        }
                    }

                    Comment

                    • dmjpro
                      Top Contributor
                      • Jan 2007
                      • 2476

                      #25
                      I asked you are getting the same error again?

                      Kind regards,
                      Dmjpro.

                      Comment

                      • Jenitha S
                        New Member
                        • Aug 2007
                        • 11

                        #26
                        Originally posted by dmjpro
                        I asked you are getting the same error again?

                        Kind regards,
                        Dmjpro.
                        No it doesn't throw error now.But none of the menu items doesn't get dispalyed.

                        Comment

                        • dmjpro
                          Top Contributor
                          • Jan 2007
                          • 2476

                          #27
                          Originally posted by Jenitha S
                          No it doesn't throw error now.But none of the menu items doesn't get dispalyed.
                          But you should have told it before!
                          Then I would look at you Java Code rather than suffering from XML Parsing Error.

                          Kind Regards,
                          Dmjpro.

                          Comment

                          Working...