e.printStackTrace();
if(log.isErrorEnabled()) { log.error("Exception", e); }
  private ComponentData addAssetData(ComponentData data) {    AgentAssetData assetData = new AgentAssetData((AgentComponentData)data);    assetData.setType(AgentAssetData.ORG);    String orgClass = queryOrgClass();    assetData.setAssetClass(orgClass);        // Get list of assemblies for use in query, ignoring CMT assemblies    String assemblyMatch = DBUtils.getListMatch(assemblyID, "CMT");    if (assemblyMatch != null) {      substitutions.put(":assemblyMatch", assemblyMatch);      substitutions.put(":agent_name", name);      // Add all Relationship data      try {        Connection conn = DBUtils.getConnection();        try {          Statement stmt = conn.createStatement();	          String query = DBUtils.getQuery(QUERY_AGENT_RELATIONS, substitutions);	          ResultSet rs = stmt.executeQuery(query);          while(rs.next()) {            RelationshipData rd = new RelationshipData();            String supported = rs.getString(1);            String role = rs.getString(2);            Timestamp startDate = rs.getTimestamp(3);            Timestamp endDate = rs.getTimestamp(4);	    // what about rd.setType()? Probably to Supporting for most things?	    // except for some to Superior?            rd.setSupported(supported);            rd.setRole(role);            if (startDate != null) {              rd.setStartTime(startDate.getTime());            }            if (endDate != null) rd.setEndTime(endDate.getTime());            assetData.addRelationship(rd);          }          rs.close();          stmt.close();        } finally {          conn.close();        }      } catch (Exception e) {        e.printStackTrace();        throw new RuntimeException("Error" + e);      }    }    // FIXME: Add in other property groups!!        // Note: This really does a SET, so it correctly    // replaces the old data, if any, with the new    data.addAgentAssetData(assetData);    return data;  }