if(arguments[0] instanceof Collection) { Iterator iter = ((Collection)arguments[0]).iterator(); PGPropMultiVal multi = new PGPropMultiVal(); while(iter.hasNext()) { multi.addValue((String)iter.next());
if(data.getName().equals("HomeLocation")) { data.setValue(parseHomeLocation((String)arguments[0])); } else { if(arguments[0] instanceof Collection) { Iterator iter = ((Collection)arguments[0]).iterator(); PGPropMultiVal multi = new PGPropMultiVal(); while(iter.hasNext()) { multi.addValue((String)iter.next()); } data.setValue(multi); } else { data.setValue(arguments[0]);
  public void callSetter(String setterName, String type, Object[] arguments) {    String name = setterName.substring(3);    if(log.isWarnEnabled() && arguments.length > 1) {      log.warn("Arguments is greater than one!");    }    PGPropData data = new PGPropData();    data.setName(name);    if(log.isDebugEnabled()) {      log.debug("setterName: " + setterName);      log.debug("type: " + type);      for(int i=0; i < arguments.length; i++) {        log.debug("Argument[" + i + "]: " + arguments[i]);      }    }    int i;    if ((i = type.indexOf("<")) >= 0) {      int j = type.lastIndexOf(">");      data.setType(type.substring(0, i).trim());      data.setSubType(type.substring(i + 1, j).trim());      if(log.isInfoEnabled()) {        log.info("Type: " + type.substring(0, i).trim() );        log.info("Subtype: " + type.substring(i + 1, j).trim());      }    } else {      data.setType(type);    }    if(arguments[0] instanceof Collection) {      Iterator iter = ((Collection)arguments[0]).iterator();      PGPropMultiVal multi = new PGPropMultiVal();      while(iter.hasNext()) {        multi.addValue((String)iter.next());      }      data.setValue(multi);    } else {      data.setValue(arguments[0]);    }    propGroup.addProperty(data);  }