001: /*
002: * Created by IntelliJ IDEA.
003: * User: sanjib.ghosh@sun.com
004: * Date: Dec 26, 2001
005: * Time: $TME$
006: */
007: package com.sun.portal.rproxy.configservlet.client;
008:
009: import java.net.MalformedURLException;
010: import java.net.URL;
011: import java.util.ArrayList;
012: import java.util.Iterator;
013: import java.util.List;
014: import java.util.Map;
015: import java.util.Set;
016:
017: public class AttributeExtractor {
018:
019: public static String getString(Map source, String name,
020: String defaultValue) {
021: Set set = (Set) source.get(name);
022: if (null == set) {
023: return defaultValue;
024: }
025: Iterator it = set.iterator();
026: return (it.hasNext()) ? (String) it.next() : defaultValue;
027: }
028:
029: public static String getLowerCaseString(Map source, String name,
030: String defaultValue) {
031: Set set = (Set) source.get(name);
032: if (null == set) {
033: return defaultValue;
034: }
035: Iterator it = set.iterator();
036: return (it.hasNext()) ? it.next().toString().toLowerCase()
037: : defaultValue;
038: }
039:
040: public static int getInt(Map source, String name, int defaultValue) {
041: Set set = (Set) source.get(name);
042: if (null == set) {
043: return defaultValue;
044: }
045: Iterator it = set.iterator();
046: return (it.hasNext()) ? Integer.parseInt((String) it.next())
047: : defaultValue;
048: }
049:
050: public static boolean getBoolean(Map source, String name,
051: boolean defaultValue) {
052: Object val = source.get(name);
053: if (val != null) {
054: Iterator it1 = ((Set) val).iterator();
055: if (it1.hasNext()) {
056: Object obj = it1.next();
057: }
058: }
059: Set set = (Set) source.get(name);
060: if (null == set) {
061: return defaultValue;
062: }
063: Iterator it = set.iterator();
064: return (it.hasNext()) ? new Boolean((String) it.next())
065: .booleanValue() : defaultValue;
066: }
067:
068: public static List getStringList(Map source, String name) {
069: Set set = (Set) source.get(name);
070: if (null == set) {
071: return new ArrayList();
072: }
073: // System.out.println("attr : " + name + " val : " + set);
074:
075: List ret = new ArrayList(set.size());
076: for (Iterator it = set.iterator(); it.hasNext();) {
077: ret.add((String) it.next());
078: }
079: return ret;
080: }
081:
082: public static List getLowerCaseStringList(Map source, String name) {
083: Set set = (Set) source.get(name);
084: if (null == set) {
085: return new ArrayList();
086: }
087: List ret = new ArrayList(set.size());
088: for (Iterator it = set.iterator(); it.hasNext();) {
089: ret.add(it.next().toString().toLowerCase());
090: }
091: return ret;
092: }
093:
094: public static List getLowerCaseURLList(Map source, String name) {
095: Set set = (Set) source.get(name);
096: if (null == set) {
097: return new ArrayList();
098: }
099: URL rawURL = null;
100: int port = -1;
101: String element = null;
102: List ret = new ArrayList(set.size());
103: String lowerCaseElement = null;
104:
105: for (Iterator it = set.iterator(); it.hasNext();) {
106: element = it.next().toString();
107: lowerCaseElement = element.toLowerCase();
108: if (lowerCaseElement.startsWith("http")) {
109: try {
110: rawURL = new URL(element);
111: port = rawURL.getPort();
112: if (port == -1) {
113: if (lowerCaseElement.startsWith("https")) {
114: port = 443;
115: } else {
116: port = 80;
117: }
118: }
119: ret.add(rawURL.getProtocol().toLowerCase() + "://"
120: + rawURL.getHost().toLowerCase() + ":"
121: + port + rawURL.getPath());
122: } catch (MalformedURLException mae) {
123: // Need to Log ?
124: }
125: } else {
126: ret.add(element);
127: }
128: }
129:
130: return ret;
131: }
132: }
|