Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.nakedobjects.plugins.xml.objectstore.internal.data.xml;
  
  import java.io.File;
 
 
 
 public class XmlFile {
     private static final String ENCODING_PROPERTY = . + "xmlos.encoding";
     public static final String DEFAULT_ENCODING = "ISO-8859-1";
     private static final String[] escapeString = { "&""<"">"""""'" };
     private static final String[] specialChars = { "&""<"">""\"""'" };
 
     public static String getValueWithSpecialsEscaped(final String s) {
         String result = s;
         for (int i = 0; i < .i++) {
             final String special = [i];
             int pos = -1;
             while (true) {
                 pos = result.indexOf(specialpos + 1);
                 if (pos < 0) {
                     break;
                 }
                 result = result.substring(0, pos) + [i] + result.substring(pos + special.length());
             }
         }
         return result;
     }
 
     private final String charset;
     private final File directory;
     private final NakedObjectConfiguration configuration;
 
     public XmlFile(final NakedObjectConfiguration configurationfinal String directory) {
         this. = configuration;
         this. = new File(directory);
         if (!this..exists()) {
             this..mkdirs();
         }
     }
 
     public File getDirectory() {
         return ;
     }
     
     private File file(final String fileName) {
         return new File(fileName + ".xml");
     }
 
     public void writeXml(final String namefinal StringBuffer buf) {
         OutputStreamWriter pw;
 
         try {
             pw = new OutputStreamWriter(new FileOutputStream(file(name)), );
             pw.write("<?xml version=\"1.0\" encoding=\"" +  + "\" ?>\n");
             pw.write("\n");
             pw.write(buf.toString());
             pw.write("\n");
             pw.close();
         } catch (final IOException e) {
             throw new NakedObjectException("Problems writing data files"e);
         }
     }
 
     public boolean parse(final ContentHandler handlerfinal String fileName) {
         XMLReader parser;
 
         try {
             parser = XMLReaderFactory.createXMLReader();
         } catch (final SAXException e) {
             try {
                 parser = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
             } catch (final SAXException e2) {
                 try {
                     parser = XMLReaderFactory.createXMLReader("org.apache.crimson.parser.XMLReaderImpl");
                 } catch (final SAXException failed) {
                     throw new NakedObjectException("Couldn't locate a SAX parser");
                 }
             }
         }
 
         try {
             parser.setContentHandler(handler);
            parser.parse(new InputSource(new InputStreamReader(new FileInputStream(file(fileName)), )));
            return true;
        } catch (final FileNotFoundException e) {
            return false;
        } catch (final IOException e) {
            throw new NakedObjectException("Error reading XML file"e);
        } catch (final SAXParseException e) {
            throw new NakedObjectException("Error while parsing: " + e.getMessage() + " in " + file(fileName) + ")"e);
        } catch (final SAXException e) {
            throw new NakedObjectException("Error in file " + file(fileName) + " "e);
        }
    }
    public void delete(final String fileName) {
        file(fileName).delete();
    }

    
The XML store is deemed to be initialised if the directory used to store the data has no xml files in it.
    public boolean isFixturesInstalled() {
        final String[] list = .list(new FilenameFilter() {
            public boolean accept(File dirString name) {
                return name.toLowerCase().endsWith(".xml");
            }
        });
        return list.length > 0;
    }
// Copyright (c) Naked Objects Group Ltd.
New to GrepCode? Check out our FAQ X