KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > core > text > parser > SXParser


1 /*
2  * SXParser.java
3  *
4  * Created on 4. November 2003, 22:07
5  */

6
7 package org.contineo.core.text.parser;
8
9 import java.io.BufferedInputStream JavaDoc;
10 import java.io.File JavaDoc;
11 import java.io.FileInputStream JavaDoc;
12 import java.io.InputStream JavaDoc;
13 import org.apache.log4j.Level;
14 import org.apache.log4j.Logger;
15 import org.contineo.core.JarBean;
16 import org.contineo.core.LoggingManager;
17 import org.contineo.core.config.SettingConfigurator;
18 /**
19  *
20  * @author Michael Scholz
21  */

22 public class SXParser implements Parser {
23     
24     /**
25      * @uml.property name="content"
26      */

27     private StringBuffer JavaDoc content = new StringBuffer JavaDoc();
28
29     /**
30      * @uml.property name="logger"
31      * @uml.associationEnd
32      */

33     private Logger logger;
34
35     
36     /** Creates a new instance of SXParser */
37     public SXParser(File JavaDoc file) {
38         logger = LoggingManager.getLogger(this.getClass());
39         init(file);
40     }
41     
42     protected void init(File JavaDoc file) {
43         try {
44             SettingConfigurator conf = new SettingConfigurator();
45             JarBean.unjar(file.getAbsolutePath(),conf.getValue("userdir") + "unjar/",conf.getValue("sxcontent"));
46             File JavaDoc xmlfile = new File JavaDoc(conf.getValue("userdir") + "unjar/" + conf.getValue("sxcontent"));
47             InputStream JavaDoc in = new FileInputStream JavaDoc(xmlfile);
48             BufferedInputStream JavaDoc reader = new BufferedInputStream JavaDoc(in);
49             int ichar = 0;
50             boolean istag = false;
51             boolean isspec = false;
52             while ((ichar = reader.read()) != -1) {
53                 if (ichar == 60) {
54                     content.append((char)32);
55                     istag = true;
56                 }
57                 if (!istag) {
58                     if (ichar == 195)
59                         isspec = true;
60                     else {
61                         if (isspec) {
62                             switch (ichar) {
63                                 case 132: content.append('Ä');break;
64                                 case 164: content.append('ä');break;
65                                 case 150: content.append('Ö');break;
66                                 case 182: content.append('ö');break;
67                                 case 156: content.append('Ü');break;
68                                 case 188: content.append('ü');break;
69                                 case 159: content.append('ß');break;
70                             }
71                             isspec = false;
72                         }
73                         else
74                             content.append((char)ichar);
75                     }
76                 }
77                 if (ichar == 62)
78                     istag = false;
79             }
80             in.close();
81             reader.close();
82         }
83         catch (Exception JavaDoc ex) {
84             if (logger.isEnabledFor(Level.ERROR))
85                 logger.error(ex.getMessage());
86         }
87     }
88
89     /**
90      *
91      * @uml.property name="content"
92      */

93     public StringBuffer JavaDoc getContent() {
94         return content;
95     }
96
97     
98     public String JavaDoc getVersion() {
99         return "";
100     }
101
102     /* (non-Javadoc)
103      * @see org.contineo.core.text.parser.Parser#getAuthor()
104      */

105     public String JavaDoc getAuthor() {
106         return "";
107     }
108
109     /* (non-Javadoc)
110      * @see org.contineo.core.text.parser.Parser#getSourceDate()
111      */

112     public String JavaDoc getSourceDate() {
113         return "";
114     }
115
116     /* (non-Javadoc)
117      * @see org.contineo.core.text.parser.Parser#getKeywords()
118      */

119     public String JavaDoc getKeywords() {
120         return "";
121     }
122
123     /* (non-Javadoc)
124      * @see org.contineo.core.text.parser.Parser#getTitle()
125      */

126     public String JavaDoc getTitle() {
127         return "";
128     }
129     
130 }
131
Popular Tags