Source Code Cross Referenced for TKIniFile.java in  » Content-Management-System » webman » com » teamkonzept » lib » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Content Management System » webman » com.teamkonzept.lib 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001:        /*
002:         * $Header: /cvsroot/webman-cms/source/webman/com/teamkonzept/lib/TKIniFile.java,v 1.8 2002/01/25 11:43:25 alex Exp $
003:         *
004:         */
005:        /**
006:         * Fuer JDK "UNTER" 1.1
007:         */package com.teamkonzept.lib;
008:
009:        import java.io.*;
010:        import java.util.*;
011:        import java.net.*;
012:        import org.apache.log4j.Category;
013:
014:        public class TKIniFile implements  ConfigurationErrorCodes {
015:            private static Category cat = Category.getInstance(TKIniFile.class);
016:
017:            String theIniFile;
018:            String emptyPat = " ";
019:            String tabPat = "	";
020:
021:            /**
022:             * Konstruktor
023:             * Der Pfad und Filename wird uebergeben und global zur Verfuegung gestellt
024:             */
025:            public TKIniFile(String theIniFile) {
026:                this .theIniFile = theIniFile;
027:            }
028:
029:            /**
030:             *  returns an InputStream to the PropertyFile
031:             *  change this method to use ResourceBundle.loadBundle()
032:             */
033:            InputStream openInputStream() throws TKException {
034:                try {
035:                    URL url = getClass().getResource(theIniFile);
036:                    if (url == null) {
037:                        cat.error("TKUploadField.ini is missing !");
038:                        throw new TKConfigurationException(
039:                                "TKUploadField.ini fehlt", NO_PROPERTY_FILE,
040:                                HIGH_SEVERITY, false, null);
041:                    }
042:                    return url.openStream();
043:                } catch (IOException e) {
044:                    cat.error("Can't locate ResourceFile " + theIniFile, e);
045:                }
046:                return null;
047:            }
048:
049:            /**
050:             * VORSICHT URALT:
051:             * inifile OHNE Section!!!!!!!!!!!!!!!!
052:             *
053:             * Das Inifile:
054:             * ============
055:             * key1=val1
056:             * key2=val2
057:             *
058:             * @param String key, der zugehoerige Wert wird zurueckgegeben
059:             * @return den Wert
060:             */
061:            public String getValue(String key) throws TKException {
062:
063:                try {
064:                    // FileInputStream inIniFile = new FileInputStream(theIniFile);
065:                    Properties props = new Properties(); // empty list
066:                    props.load(openInputStream());
067:                    String value = props.getProperty(key);
068:                    return value;
069:                } catch (IOException e) {
070:                    cat.error("Can't open Inifile: ", e);
071:                    return "";
072:                }
073:            }
074:
075:            /**
076:             * VORSICHT URALT:
077:             * inifile OHNE Section!!!!!!!!!!!!!!!!
078:             *
079:             * Das Inifile:
080:             * ============
081:             * key1=val1
082:             * key2=val2
083:             *
084:             *
085:             * List das Inifile ein
086:             *
087:             * @return Hashtable mit allen key-value-Paaren aus dem inifile.
088:             */
089:            public TKHashtable getAll() throws TKException {
090:
091:                TKHashtable myIniHash = new TKHashtable();
092:                try {
093:                    // FileInputStream inIniFile = new FileInputStream(theIniFile);
094:                    Properties props = new Properties(); // empty list
095:                    props.load(openInputStream());
096:
097:                    Enumeration enumObject = props.propertyNames();
098:                    while (enumObject.hasMoreElements()) {
099:                        String key = enumObject.nextElement().toString();
100:                        String val = props.getProperty(key);
101:                        myIniHash.put(key, val);
102:                    }
103:
104:                    return myIniHash;
105:                } catch (IOException e) {
106:                    cat.error("Can't open Inifile: ", e);
107:                    myIniHash = null;
108:                    return myIniHash;
109:                }
110:
111:            }
112:
113:            //***********************************************************************
114:            //----------------------- NEU -------------------------------------------
115:            //***********************************************************************
116:            /**
117:             * Alle Sections werden ausgelesen
118:             *
119:             * Aufbau eines iniFiles:
120:             * ======================
121:             * 	#KOMMENTAR
122:             *
123:             *	[SECTION 1]
124:             * 	key_1=val_1
125:             *	key_2=val_2
126:             *	....
127:             *	key_n=val_n
128:             *
129:             *	...
130:             *
131:             *	[SECTION N]
132:             * 	key_1=val_1
133:             *	key_2=val_2
134:             *	....
135:             *	key_n=val_n
136:             *
137:             * [END]
138:             *
139:             * @return verschachtelte Hashtable:
140:             * 		key=SECTION, val= key/value-Paare der SECTION
141:
142:             */
143:
144:            public TKHashtable getAllSections() throws TKException {
145:                try {
146:                    String sectionPat = "[";
147:                    String comentPat = "#";
148:                    String splitPat = "=";
149:                    String merke = "";
150:                    String sectionKey = "";
151:                    TKHashtable lineHash = null;
152:
153:                    TKHashtable sectionsHash = new TKHashtable();
154:
155:                    // FileInputStream fileInputStream = new FileInputStream(theIniFile );
156:                    BufferedReader dataInputStream = new BufferedReader(
157:                            new InputStreamReader(openInputStream()));
158:                    String line;
159:
160:                    while ((line = dataInputStream.readLine()) != null) {
161:                        String key = "";
162:                        String value = "";
163:
164:                        if ((line.indexOf(sectionPat) > -1)
165:                                && (!line.equals(""))) {
166:                            if (merke.equals("")) {
167:                                merke = line;
168:                                sectionKey = line;
169:                            } else {
170:                                merke = sectionKey;
171:
172:                                if (!line.equals("[END]"))
173:                                    sectionKey = line;
174:
175:                                //---- [SECTIONS] -> key/val-Paare ----//
176:                                if (line.equals("[END]"))
177:                                    sectionsHash.put(sectionKey.substring(1,
178:                                            sectionKey.length() - 1), lineHash);
179:                                else
180:                                    sectionsHash.put(merke.substring(1, merke
181:                                            .length() - 1), lineHash);
182:
183:                            }
184:
185:                            if (!line.equals("[END]"))
186:                                lineHash = new TKHashtable();
187:
188:                        }
189:                        //---- line key=val ----//
190:                        else {
191:                            line = cutEmptyStrings(line);
192:                            if ((!line.equals(""))
193:                                    && (!line.startsWith(comentPat))) {
194:                                int idx = line.indexOf(splitPat);
195:                                if (idx > -1) {
196:                                    key = line.substring(0, idx);
197:                                    value = line.substring(idx + 1, line
198:                                            .length());
199:                                    lineHash.put(key, value);
200:                                }
201:                            }
202:                        }
203:                    }
204:
205:                    //TKHttp.out().println("<br><b>sectionsHash: </b>"+sectionsHash);
206:                    return sectionsHash;
207:
208:                } catch (IOException e) {
209:                    cat.error("Can't open Inifile: ", e);
210:                    return null;
211:                }
212:
213:            }
214:
215:            //***********************************************************************
216:            /**
217:             * Beginnen eingelesene Zeilen mit eine Leerzeichen oder einem Tab,
218:             * so werden diese entfernt
219:             *
220:             * @param String line, eine Zeile des Inifiles
221:             *
222:             * @return eine Zeile des Inifiles, die nicht mit einem Leerzeichen oder eine tab beginnt
223:             */
224:            public String cutEmptyStrings(String line) {
225:
226:                if (!line.equals("")) {
227:
228:                    while (line.startsWith(emptyPat) || line.startsWith(tabPat)) {
229:
230:                        if (line.startsWith(emptyPat))
231:                            line = emptyString(line);
232:
233:                        if (line.startsWith(tabPat))
234:                            line = tabString(line);
235:
236:                    }
237:                }
238:                return line;
239:            }
240:
241:            //***********************************************************************
242:            /**
243:             * Beginnt eine eingelesene Zeile mit eine Leerzeichen,
244:             * so werden diese entfernt
245:             *
246:             * @param String line, eine Zeile des Inifiles
247:             *
248:             * @return eine Zeile des Inifiles, die nicht mit einem Leerzeichen beginnt
249:             */
250:            public String emptyString(String line) {
251:
252:                while (line.startsWith(emptyPat))
253:                    line = line.substring(1, line.length());
254:
255:                return line;
256:            }
257:
258:            //***********************************************************************
259:            /**
260:             * Beginnt eine eingelesene Zeile mit einem Tab,
261:             * so werden diese entfernt
262:             *
263:             * @param String line, eine Zeile des Inifiles
264:             *
265:             * @return eine Zeile des Inifiles, die nicht mit einem Tab beginnt
266:             */
267:            public String tabString(String line) {
268:
269:                while (line.startsWith(tabPat))
270:                    line = line.substring(1, line.length());
271:
272:                return line;
273:            }
274:
275:            //***********************************************************************
276:            /**
277:             * Die key/val-paare einer bestimten Section werden ausgelesen
278:             * Inifile-Objekt wird erzeugt
279:             *
280:             * @param String section, eine [SECTION]
281:             * @return verschachtelte Hashtable:
282:             */
283:            public TKHashtable getOneSection(String section) throws TKException {
284:
285:                TKHashtable iniHash = getAllSections();
286:                TKHashtable contentHash = (TKHashtable) iniHash.get(section);
287:                return contentHash;
288:
289:            }
290:
291:            //***********************************************************************
292:            /**
293:             * Die key/val-paare einer bestimten Section werden ausgelesen
294:             * Es wird kein Inifile-Objekt erzeugt
295:             *
296:             * @param String section, eine [SECTION]
297:             * @param TKHashtable iniHash, Hashtable mit allen sections
298:             *
299:             * @return Hashtable mit den key/val-paaren einer Section
300:             */
301:            public TKHashtable getOneSection(String section, TKHashtable iniHash) {
302:
303:                TKHashtable contentHash = (TKHashtable) iniHash.get(section);
304:                return contentHash;
305:
306:            }
307:
308:            //***********************************************************************
309:            /**
310:             * Die Values einer section werden gelesen
311:             * Inifile-Objekt wird erzeugt
312:             *
313:             * @param String section, eine [SECTION]
314:             *
315:             * @return Vector mit allen Values einer Section
316:             */
317:            public TKVector getValsFromOneSection(String section)
318:                    throws TKException {
319:                TKHashtable iniHash = getAllSections();
320:                return getKeysFromOneSection(section, iniHash);
321:
322:            }
323:
324:            //***********************************************************************
325:            /**
326:             * Die Keys einer section werden gelesen
327:             * Inifile-Objekt wird erzeugt
328:             *
329:             * @param String section, eine [SECTION]
330:             *
331:             * @return Vector mit allen Keys einer Section
332:             */
333:            public TKVector getValsFromOneSection(String section,
334:                    TKHashtable iniHash) {
335:
336:                TKVector valVector = new TKVector();
337:                TKHashtable contentHash = (TKHashtable) iniHash.get(section);
338:
339:                Enumeration contentEnum = contentHash.keys();
340:                while (contentEnum.hasMoreElements()) {
341:                    String contentKey = (String) contentEnum.nextElement();
342:                    String contentVal = (String) contentHash.get(contentKey);
343:                    valVector.addElement(contentVal);
344:                }
345:
346:                return valVector;
347:            }
348:
349:            //***********************************************************************
350:            /**
351:             * Die Keys einer section werden gelesen
352:             * Es wird kein Inifile-Objekt erzeugt
353:             *
354:             * @param String section, eine [SECTION]
355:             * @param TKHashtable iniHash, Hashtable mit allen Sections
356:             *
357:             * @return Vector mit allen Keys einer Section
358:             */
359:
360:            public TKVector getKeysFromOneSection(String section)
361:                    throws TKException {
362:                TKHashtable iniHash = getAllSections();
363:                return getKeysFromOneSection(section, iniHash);
364:
365:            }
366:
367:            //***********************************************************************
368:            /**
369:             * Die Keys einer section werden gelesen
370:             * Es wird kein Inifile-Objekt erzeugt
371:             *
372:             * @param String section, eine [SECTION]
373:             * @param TKHashtable iniHash, Hashtable mit allen Sections
374:             *
375:             * @return Vector mit allen Keys einer Section
376:             */
377:
378:            public TKVector getKeysFromOneSection(String section,
379:                    TKHashtable iniHash) {
380:
381:                TKVector keyVector = new TKVector();
382:                TKHashtable contentHash = (TKHashtable) iniHash.get(section);
383:
384:                Enumeration contentEnum = contentHash.keys();
385:                while (contentEnum.hasMoreElements()) {
386:                    String contentKey = (String) contentEnum.nextElement();
387:                    keyVector.addElement(contentKey);
388:                }
389:
390:                return keyVector;
391:            }
392:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.