001: /**
002: * $Id: NetFileAttributeExtractor.java,v 1.11 2005/11/30 11:26:33 ss150821 Exp $
003: * Copyright 2002 Sun Microsystems, Inc. All
004: * rights reserved. Use of this product is subject
005: * to license terms. Federal Acquisitions:
006: * Commercial Software -- Government Users
007: * Subject to Standard License Terms and
008: * Conditions.
009: *
010: * Sun, Sun Microsystems, the Sun logo, and Sun ONE
011: * are trademarks or registered trademarks of Sun Microsystems,
012: * Inc. in the United States and other countries.
013: */package com.sun.portal.netfile.servlet.java1;
014:
015: import java.util.*;
016: import com.sun.portal.log.common.PortalLogger;
017: import java.util.logging.*;
018:
019: public class NetFileAttributeExtractor {
020:
021: Map userAttribs;
022: private static Logger logger = PortalLogger
023: .getLogger(NetFileAttributeExtractor.class);
024:
025: public NetFileAttributeExtractor(Map attribs) {
026: userAttribs = attribs;
027: }
028:
029: public String getString(String name, String defaultValue) {
030: Object data = extractObject(name, false);
031: return (data != null) ? (String) data : defaultValue;
032: }
033:
034: public boolean getBoolean(String name, boolean defaultValue) {
035: Object data = extractObject(name, false);
036: return (data != null) ? new Boolean((String) data)
037: .booleanValue() : defaultValue;
038: }
039:
040: public Integer getInt(String name, int defaultValue) {
041: try {
042: Object data = extractObject(name, false);
043: return (data != null) ? new Integer(Integer
044: .parseInt((String) data)) : new Integer(
045: defaultValue);
046: } catch (Exception e) {
047: // logger.log(Level.SEVERE, "The value of the attribute "+name+" is not a number. It should be a number",e);
048: Object[] params0 = { name,
049: " is not a number. It should be a number", e };
050: logger.log(Level.SEVERE, "PSSRNF_CSPNSJ1092", params0);
051: return new Integer(defaultValue);
052: }
053: }
054:
055: public List getStringList(String name) {
056:
057: Object data = extractObject(name, true);
058: if (data == null) {
059: return new ArrayList();
060: }
061: Set dataSet = (Set) data;
062: List ret = new ArrayList(dataSet.size());
063: for (Iterator it = dataSet.iterator(); it.hasNext();) {
064: ret.add((String) it.next());
065: }
066:
067: return ret;
068: }
069:
070: public Object extractObject(String szKeyName, boolean returnAll) {
071: Set keys = userAttribs.keySet();
072: Set values = null;
073: Object obj = null;
074:
075: for (Iterator i = keys.iterator(); i.hasNext();) {
076: String attrib = (String) i.next();
077:
078: if (attrib.equalsIgnoreCase(szKeyName)) {
079: values = (Set) userAttribs.get(attrib);
080: if (values != null) {
081: if (returnAll) {
082: return values;
083: } else {
084: obj = getValue(values);
085: return obj;
086: }
087: } else {
088: break;
089: }
090: }
091: }
092: return null;
093: }
094:
095: public Set getKeysSet() {
096: return userAttribs.keySet();
097: }
098:
099: public Object getValue(Set set) {
100: Iterator it = set.iterator();
101: if (it.hasNext())
102: return it.next();
103: else
104: return null;
105: }
106:
107: public void setUserAttributesMap(Map m) {
108: userAttribs = m;
109: }
110: }
|