Exemple #1
1
 private String getDate(String timeStampStr, String format) {
   DateFormat formatter = new SimpleDateFormat(format);
   long timeStamp = Long.parseLong(timeStampStr);
   Calendar calendar = Calendar.getInstance();
   calendar.setTimeInMillis(timeStamp);
   return formatter.format(calendar.getTime());
 }
 public ReturnTuple<Integer> newCustomer(int id, Timestamp timestamp)
     throws RemoteException, TransactionAbortedException, InvalidTransactionException {
   if (!isMaster) {
     System.out.println("Slave retransmitting newCustomer to master");
     return this.getMaster().newCustomer(id, timestamp);
   } else {
     timestamp.stamp();
     int rid =
         Integer.parseInt(
             String.valueOf(id)
                 + String.valueOf(Calendar.getInstance().get(Calendar.MILLISECOND))
                 + String.valueOf(Math.round(Math.random() * 100 + 1)));
     NewCustomerWithIdRMICommand nc =
         new NewCustomerWithIdRMICommand(carGroup, flightGroup, roomGroup, id, rid);
     nc.setTimestampObject(timestamp);
     ReturnTuple<Integer> result = null;
     try {
       overseer.validTransaction(id);
       lm.Lock(id, Customer.getKey(rid), nc.getRequiredLock());
       nc.execute();
       result = new ReturnTuple<Integer>(rid, nc.success.timestamp);
       overseer.addCommandToTransaction(id, nc);
     } catch (DeadlockException d) {
       timestamp.stamp();
       overseer.abort(id);
       timestamp.stamp();
       throw new TransactionAbortedException(timestamp);
     } catch (TransactionAbortedException tae) {
       tae.t = timestamp;
       throw tae;
     } catch (InvalidTransactionException ite) {
       ite.t = timestamp;
       throw ite;
     }
     result.timestamp.stamp();
     return result;
   }
 }
public class CFBamClusterBuff implements Comparable<Object>, Serializable {
  public static final String CLASS_CODE = "CLUS";
  public static final String S_INIT_CREATEDBY = "654dbba0-eda7-11e1-aff1-0800200c9a66";
  public static final UUID INIT_CREATEDBY = UUID.fromString(S_INIT_CREATEDBY);
  public static final String S_INIT_UPDATEDBY = "654dbba0-eda7-11e1-aff1-0800200c9a66";
  public static final UUID INIT_UPDATEDBY = UUID.fromString(S_INIT_UPDATEDBY);
  public static final long ID_INIT_VALUE = 0L;
  public static final String FULLDOMAINNAME_INIT_VALUE = new String("");
  public static final String DESCRIPTION_INIT_VALUE = new String("");
  public static final long ID_MIN_VALUE = 0L;
  protected UUID createdByUserId = CFBamClusterBuff.INIT_CREATEDBY;
  protected Calendar createdAt = Calendar.getInstance();
  protected UUID updatedByUserId = CFBamClusterBuff.INIT_UPDATEDBY;
  protected Calendar updatedAt = Calendar.getInstance();
  protected long requiredId;
  protected String requiredFullDomainName;
  protected String requiredDescription;
  protected int requiredRevision;

  public CFBamClusterBuff() {
    requiredId = CFBamClusterBuff.ID_INIT_VALUE;
    requiredFullDomainName = new String(CFBamClusterBuff.FULLDOMAINNAME_INIT_VALUE);
    requiredDescription = new String(CFBamClusterBuff.DESCRIPTION_INIT_VALUE);
  }

  public String getClassCode() {
    return (CLASS_CODE);
  }

  public UUID getCreatedByUserId() {
    return (createdByUserId);
  }

  public void setCreatedByUserId(UUID value) {
    createdByUserId = value;
  }

  public Calendar getCreatedAt() {
    return (createdAt);
  }

  public void setCreatedAt(Calendar value) {
    createdAt = value;
  }

  public UUID getUpdatedByUserId() {
    return (updatedByUserId);
  }

  public void setUpdatedByUserId(UUID value) {
    updatedByUserId = value;
  }

  public Calendar getUpdatedAt() {
    return (updatedAt);
  }

  public void setUpdatedAt(Calendar value) {
    updatedAt = value;
  }

  public long getRequiredId() {
    return (requiredId);
  }

  public void setRequiredId(long value) {
    if (value < CFBamClusterBuff.ID_MIN_VALUE) {
      throw CFLib.getDefaultExceptionFactory()
          .newArgumentUnderflowException(
              getClass(), "setRequiredId", 1, "value", value, CFBamClusterBuff.ID_MIN_VALUE);
    }
    requiredId = value;
  }

  public String getRequiredFullDomainName() {
    return (requiredFullDomainName);
  }

  public void setRequiredFullDomainName(String value) {
    if (value == null) {
      throw CFLib.getDefaultExceptionFactory()
          .newNullArgumentException(getClass(), "setRequiredFullDomainName", 1, "value");
    }
    if (value.length() > 192) {
      throw CFLib.getDefaultExceptionFactory()
          .newArgumentOverflowException(
              getClass(), "setRequiredFullDomainName", 1, "value.length()", value.length(), 192);
    }
    requiredFullDomainName = value;
  }

  public String getRequiredDescription() {
    return (requiredDescription);
  }

  public void setRequiredDescription(String value) {
    if (value == null) {
      throw CFLib.getDefaultExceptionFactory()
          .newNullArgumentException(getClass(), "setRequiredDescription", 1, "value");
    }
    if (value.length() > 128) {
      throw CFLib.getDefaultExceptionFactory()
          .newArgumentOverflowException(
              getClass(), "setRequiredDescription", 1, "value.length()", value.length(), 128);
    }
    requiredDescription = value;
  }

  public int getRequiredRevision() {
    return (requiredRevision);
  }

  public void setRequiredRevision(int value) {
    requiredRevision = value;
  }

  public boolean equals(Object obj) {
    if (obj == null) {
      return (false);
    } else if (obj instanceof CFBamClusterBuff) {
      CFBamClusterBuff rhs = (CFBamClusterBuff) obj;
      if (!getCreatedByUserId().equals(rhs.getCreatedByUserId())) {
        return (false);
      }
      if (!getCreatedAt().equals(rhs.getCreatedAt())) {
        return (false);
      }
      if (!getUpdatedByUserId().equals(rhs.getUpdatedByUserId())) {
        return (false);
      }
      if (!getUpdatedAt().equals(rhs.getUpdatedAt())) {
        return (false);
      }
      if (getRequiredId() != rhs.getRequiredId()) {
        return (false);
      }
      if (!getRequiredFullDomainName().equals(rhs.getRequiredFullDomainName())) {
        return (false);
      }
      if (!getRequiredDescription().equals(rhs.getRequiredDescription())) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFBamClusterPKey) {
      CFBamClusterPKey rhs = (CFBamClusterPKey) obj;
      if (getRequiredId() != rhs.getRequiredId()) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFBamClusterHBuff) {
      CFBamClusterHBuff rhs = (CFBamClusterHBuff) obj;
      if (getRequiredId() != rhs.getRequiredId()) {
        return (false);
      }
      if (!getRequiredFullDomainName().equals(rhs.getRequiredFullDomainName())) {
        return (false);
      }
      if (!getRequiredDescription().equals(rhs.getRequiredDescription())) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFBamClusterHPKey) {
      CFBamClusterHPKey rhs = (CFBamClusterHPKey) obj;
      if (getRequiredId() != rhs.getRequiredId()) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFBamClusterByUDomainNameIdxKey) {
      CFBamClusterByUDomainNameIdxKey rhs = (CFBamClusterByUDomainNameIdxKey) obj;
      if (!getRequiredFullDomainName().equals(rhs.getRequiredFullDomainName())) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFBamClusterByUDescrIdxKey) {
      CFBamClusterByUDescrIdxKey rhs = (CFBamClusterByUDescrIdxKey) obj;
      if (!getRequiredDescription().equals(rhs.getRequiredDescription())) {
        return (false);
      }
      return (true);
    } else {
      boolean retval = super.equals(obj);
      return (retval);
    }
  }

  public int hashCode() {
    int hashCode = 0;
    hashCode = hashCode + getCreatedByUserId().hashCode();
    hashCode = hashCode + getCreatedAt().hashCode();
    hashCode = hashCode + getUpdatedByUserId().hashCode();
    hashCode = hashCode + getUpdatedAt().hashCode();
    hashCode = hashCode + (int) (getRequiredId());
    if (getRequiredFullDomainName() != null) {
      hashCode = hashCode + getRequiredFullDomainName().hashCode();
    }
    if (getRequiredDescription() != null) {
      hashCode = hashCode + getRequiredDescription().hashCode();
    }
    return (hashCode & 0x7fffffff);
  }

  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFBamClusterBuff) {
      CFBamClusterBuff rhs = (CFBamClusterBuff) obj;
      int retval = 0;
      {
        int cmp = getCreatedByUserId().compareTo(rhs.getCreatedByUserId());
        if (cmp != 0) {
          return (cmp);
        }

        cmp = getCreatedAt().compareTo(rhs.getCreatedAt());
        if (cmp != 0) {
          return (cmp);
        }

        cmp = getUpdatedByUserId().compareTo(rhs.getUpdatedByUserId());
        if (cmp != 0) {
          return (cmp);
        }

        cmp = getUpdatedAt().compareTo(rhs.getUpdatedAt());
        if (cmp != 0) {
          return (cmp);
        }
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      {
        int cmp = getRequiredFullDomainName().compareTo(rhs.getRequiredFullDomainName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      {
        int cmp = getRequiredDescription().compareTo(rhs.getRequiredDescription());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else if (obj instanceof CFBamClusterPKey) {
      CFBamClusterPKey rhs = (CFBamClusterPKey) obj;
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFBamClusterHPKey) {
      CFBamClusterHPKey rhs = (CFBamClusterHPKey) obj;
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFBamClusterHBuff) {
      CFBamClusterHBuff rhs = (CFBamClusterHBuff) obj;
      int retval = 0;
      if (getRequiredId() < rhs.getRequiredId()) {
        return (-1);
      } else if (getRequiredId() > rhs.getRequiredId()) {
        return (1);
      }
      {
        int cmp = getRequiredFullDomainName().compareTo(rhs.getRequiredFullDomainName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      {
        int cmp = getRequiredDescription().compareTo(rhs.getRequiredDescription());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else if (obj instanceof CFBamClusterByUDomainNameIdxKey) {
      CFBamClusterByUDomainNameIdxKey rhs = (CFBamClusterByUDomainNameIdxKey) obj;

      {
        int cmp = getRequiredFullDomainName().compareTo(rhs.getRequiredFullDomainName());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else if (obj instanceof CFBamClusterByUDescrIdxKey) {
      CFBamClusterByUDescrIdxKey rhs = (CFBamClusterByUDescrIdxKey) obj;

      {
        int cmp = getRequiredDescription().compareTo(rhs.getRequiredDescription());
        if (cmp != 0) {
          return (cmp);
        }
      }
      return (0);
    } else {
      throw CFLib.getDefaultExceptionFactory()
          .newUnsupportedClassException(getClass(), "compareTo", "obj", obj, null);
    }
  }

  public void set(CFBamClusterBuff src) {
    setClusterBuff(src);
  }

  public void setClusterBuff(CFBamClusterBuff src) {
    setRequiredId(src.getRequiredId());
    setCreatedByUserId(src.getCreatedByUserId());
    setCreatedAt(src.getCreatedAt());
    setUpdatedByUserId(src.getUpdatedByUserId());
    setUpdatedAt(src.getUpdatedAt());
    setRequiredFullDomainName(src.getRequiredFullDomainName());
    setRequiredDescription(src.getRequiredDescription());
    setRequiredRevision(src.getRequiredRevision());
  }

  public void set(CFBamClusterHBuff src) {
    setClusterBuff(src);
  }

  public void setClusterBuff(CFBamClusterHBuff src) {
    setRequiredId(src.getRequiredId());
    setRequiredFullDomainName(src.getRequiredFullDomainName());
    setRequiredDescription(src.getRequiredDescription());
  }
}
public class CFSecurityServiceBuff {
  public static final String CLASS_CODE = "HSVC";
  public static final String S_INIT_CREATEDBY = "654dbba0-eda7-11e1-aff1-0800200c9a66";
  public static final UUID INIT_CREATEDBY = UUID.fromString(S_INIT_CREATEDBY);
  public static final String S_INIT_UPDATEDBY = "654dbba0-eda7-11e1-aff1-0800200c9a66";
  public static final UUID INIT_UPDATEDBY = UUID.fromString(S_INIT_UPDATEDBY);
  public static final long CLUSTERID_INIT_VALUE = 0L;
  public static final long SERVICEID_INIT_VALUE = 0L;
  public static final long HOSTNODEID_INIT_VALUE = 0L;
  public static final int SERVICETYPEID_INIT_VALUE = 0;
  public static final short HOSTPORT_INIT_VALUE = (short) 0;
  public static final long CLUSTERID_MIN_VALUE = 0L;
  public static final long SERVICEID_MIN_VALUE = 0L;
  public static final long HOSTNODEID_MIN_VALUE = 0L;
  public static final int SERVICETYPEID_MIN_VALUE = 0;
  public static final short HOSTPORT_MIN_VALUE = (short) 0;
  protected UUID createdByUserId = CFSecurityServiceBuff.INIT_CREATEDBY;
  protected Calendar createdAt = Calendar.getInstance();
  protected UUID updatedByUserId = CFSecurityServiceBuff.INIT_UPDATEDBY;
  protected Calendar updatedAt = Calendar.getInstance();
  protected long requiredClusterId;
  protected long requiredServiceId;
  protected long requiredHostNodeId;
  protected int requiredServiceTypeId;
  protected short requiredHostPort;
  protected int requiredRevision;

  public CFSecurityServiceBuff() {
    requiredClusterId = CFSecurityServiceBuff.CLUSTERID_INIT_VALUE;
    requiredServiceId = CFSecurityServiceBuff.SERVICEID_INIT_VALUE;
    requiredHostNodeId = CFSecurityServiceBuff.HOSTNODEID_INIT_VALUE;
    requiredServiceTypeId = CFSecurityServiceBuff.SERVICETYPEID_INIT_VALUE;
    requiredHostPort = CFSecurityServiceBuff.HOSTPORT_INIT_VALUE;
  }

  public String getClassCode() {
    return (CLASS_CODE);
  }

  public UUID getCreatedByUserId() {
    return (createdByUserId);
  }

  public void setCreatedByUserId(UUID value) {
    createdByUserId = value;
  }

  public Calendar getCreatedAt() {
    return (createdAt);
  }

  public void setCreatedAt(Calendar value) {
    createdAt = value;
  }

  public UUID getUpdatedByUserId() {
    return (updatedByUserId);
  }

  public void setUpdatedByUserId(UUID value) {
    updatedByUserId = value;
  }

  public Calendar getUpdatedAt() {
    return (updatedAt);
  }

  public void setUpdatedAt(Calendar value) {
    updatedAt = value;
  }

  public long getRequiredClusterId() {
    return (requiredClusterId);
  }

  public void setRequiredClusterId(long value) {
    if (value < CFSecurityServiceBuff.CLUSTERID_MIN_VALUE) {
      throw CFLib.getDefaultExceptionFactory()
          .newArgumentUnderflowException(
              getClass(),
              "setRequiredClusterId",
              1,
              "value",
              value,
              CFSecurityServiceBuff.CLUSTERID_MIN_VALUE);
    }
    requiredClusterId = value;
  }

  public long getRequiredServiceId() {
    return (requiredServiceId);
  }

  public void setRequiredServiceId(long value) {
    if (value < CFSecurityServiceBuff.SERVICEID_MIN_VALUE) {
      throw CFLib.getDefaultExceptionFactory()
          .newArgumentUnderflowException(
              getClass(),
              "setRequiredServiceId",
              1,
              "value",
              value,
              CFSecurityServiceBuff.SERVICEID_MIN_VALUE);
    }
    requiredServiceId = value;
  }

  public long getRequiredHostNodeId() {
    return (requiredHostNodeId);
  }

  public void setRequiredHostNodeId(long value) {
    if (value < CFSecurityServiceBuff.HOSTNODEID_MIN_VALUE) {
      throw CFLib.getDefaultExceptionFactory()
          .newArgumentUnderflowException(
              getClass(),
              "setRequiredHostNodeId",
              1,
              "value",
              value,
              CFSecurityServiceBuff.HOSTNODEID_MIN_VALUE);
    }
    requiredHostNodeId = value;
  }

  public int getRequiredServiceTypeId() {
    return (requiredServiceTypeId);
  }

  public void setRequiredServiceTypeId(int value) {
    if (value < CFSecurityServiceBuff.SERVICETYPEID_MIN_VALUE) {
      throw CFLib.getDefaultExceptionFactory()
          .newArgumentUnderflowException(
              getClass(),
              "setRequiredServiceTypeId",
              1,
              "value",
              value,
              CFSecurityServiceBuff.SERVICETYPEID_MIN_VALUE);
    }
    requiredServiceTypeId = value;
  }

  public short getRequiredHostPort() {
    return (requiredHostPort);
  }

  public void setRequiredHostPort(short value) {
    if (value < CFSecurityServiceBuff.HOSTPORT_MIN_VALUE) {
      throw CFLib.getDefaultExceptionFactory()
          .newArgumentUnderflowException(
              getClass(),
              "setRequiredHostPort",
              1,
              "value",
              value,
              CFSecurityServiceBuff.HOSTPORT_MIN_VALUE);
    }
    requiredHostPort = value;
  }

  public int getRequiredRevision() {
    return (requiredRevision);
  }

  public void setRequiredRevision(int value) {
    requiredRevision = value;
  }

  public boolean equals(Object obj) {
    if (obj == null) {
      return (false);
    } else if (obj instanceof CFSecurityServiceBuff) {
      CFSecurityServiceBuff rhs = (CFSecurityServiceBuff) obj;
      if (!getCreatedByUserId().equals(rhs.getCreatedByUserId())) {
        return (false);
      }
      if (!getCreatedAt().equals(rhs.getCreatedAt())) {
        return (false);
      }
      if (!getUpdatedByUserId().equals(rhs.getUpdatedByUserId())) {
        return (false);
      }
      if (!getUpdatedAt().equals(rhs.getUpdatedAt())) {
        return (false);
      }
      if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
        return (false);
      }
      if (getRequiredServiceId() != rhs.getRequiredServiceId()) {
        return (false);
      }
      if (getRequiredHostNodeId() != rhs.getRequiredHostNodeId()) {
        return (false);
      }
      if (getRequiredServiceTypeId() != rhs.getRequiredServiceTypeId()) {
        return (false);
      }
      if (getRequiredHostPort() != rhs.getRequiredHostPort()) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFSecurityServicePKey) {
      CFSecurityServicePKey rhs = (CFSecurityServicePKey) obj;
      if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
        return (false);
      }
      if (getRequiredServiceId() != rhs.getRequiredServiceId()) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFSecurityServiceHBuff) {
      CFSecurityServiceHBuff rhs = (CFSecurityServiceHBuff) obj;
      if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
        return (false);
      }
      if (getRequiredServiceId() != rhs.getRequiredServiceId()) {
        return (false);
      }
      if (getRequiredHostNodeId() != rhs.getRequiredHostNodeId()) {
        return (false);
      }
      if (getRequiredServiceTypeId() != rhs.getRequiredServiceTypeId()) {
        return (false);
      }
      if (getRequiredHostPort() != rhs.getRequiredHostPort()) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFSecurityServiceHPKey) {
      CFSecurityServiceHPKey rhs = (CFSecurityServiceHPKey) obj;
      if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
        return (false);
      }
      if (getRequiredServiceId() != rhs.getRequiredServiceId()) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFSecurityServiceByClusterIdxKey) {
      CFSecurityServiceByClusterIdxKey rhs = (CFSecurityServiceByClusterIdxKey) obj;
      if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFSecurityServiceByHostIdxKey) {
      CFSecurityServiceByHostIdxKey rhs = (CFSecurityServiceByHostIdxKey) obj;
      if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
        return (false);
      }
      if (getRequiredHostNodeId() != rhs.getRequiredHostNodeId()) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFSecurityServiceByTypeIdxKey) {
      CFSecurityServiceByTypeIdxKey rhs = (CFSecurityServiceByTypeIdxKey) obj;
      if (getRequiredServiceTypeId() != rhs.getRequiredServiceTypeId()) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFSecurityServiceByUTypeIdxKey) {
      CFSecurityServiceByUTypeIdxKey rhs = (CFSecurityServiceByUTypeIdxKey) obj;
      if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
        return (false);
      }
      if (getRequiredHostNodeId() != rhs.getRequiredHostNodeId()) {
        return (false);
      }
      if (getRequiredServiceTypeId() != rhs.getRequiredServiceTypeId()) {
        return (false);
      }
      return (true);
    } else if (obj instanceof CFSecurityServiceByUHostPortIdxKey) {
      CFSecurityServiceByUHostPortIdxKey rhs = (CFSecurityServiceByUHostPortIdxKey) obj;
      if (getRequiredClusterId() != rhs.getRequiredClusterId()) {
        return (false);
      }
      if (getRequiredHostNodeId() != rhs.getRequiredHostNodeId()) {
        return (false);
      }
      if (getRequiredHostPort() != rhs.getRequiredHostPort()) {
        return (false);
      }
      return (true);
    } else {
      boolean retval = super.equals(obj);
      return (retval);
    }
  }

  public int hashCode() {
    int hashCode = 0;
    hashCode = hashCode + getCreatedByUserId().hashCode();
    hashCode = hashCode + getCreatedAt().hashCode();
    hashCode = hashCode + getUpdatedByUserId().hashCode();
    hashCode = hashCode + getUpdatedAt().hashCode();
    hashCode = hashCode + (int) (getRequiredClusterId());
    hashCode = hashCode + (int) (getRequiredServiceId());
    hashCode = hashCode + (int) (getRequiredHostNodeId());
    hashCode = hashCode + getRequiredServiceTypeId();
    hashCode = (hashCode * 0x10000) + getRequiredHostPort();
    return (hashCode & 0x7fffffff);
  }

  public int compareTo(Object obj) {
    if (obj == null) {
      return (-1);
    } else if (obj instanceof CFSecurityServiceBuff) {
      CFSecurityServiceBuff rhs = (CFSecurityServiceBuff) obj;
      int retval = 0;
      {
        int cmp = getCreatedByUserId().compareTo(rhs.getCreatedByUserId());
        if (cmp != 0) {
          return (cmp);
        }

        cmp = getCreatedAt().compareTo(rhs.getCreatedAt());
        if (cmp != 0) {
          return (cmp);
        }

        cmp = getUpdatedByUserId().compareTo(rhs.getUpdatedByUserId());
        if (cmp != 0) {
          return (cmp);
        }

        cmp = getUpdatedAt().compareTo(rhs.getUpdatedAt());
        if (cmp != 0) {
          return (cmp);
        }
      }
      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      if (getRequiredServiceId() < rhs.getRequiredServiceId()) {
        return (-1);
      } else if (getRequiredServiceId() > rhs.getRequiredServiceId()) {
        return (1);
      }
      if (getRequiredHostNodeId() < rhs.getRequiredHostNodeId()) {
        return (-1);
      } else if (getRequiredHostNodeId() > rhs.getRequiredHostNodeId()) {
        return (1);
      }
      if (getRequiredServiceTypeId() < rhs.getRequiredServiceTypeId()) {
        return (-1);
      } else if (getRequiredServiceTypeId() > rhs.getRequiredServiceTypeId()) {
        return (1);
      }
      if (getRequiredHostPort() < rhs.getRequiredHostPort()) {
        return (-1);
      } else if (getRequiredHostPort() > rhs.getRequiredHostPort()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecurityServicePKey) {
      CFSecurityServicePKey rhs = (CFSecurityServicePKey) obj;
      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      if (getRequiredServiceId() < rhs.getRequiredServiceId()) {
        return (-1);
      } else if (getRequiredServiceId() > rhs.getRequiredServiceId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecurityServiceHPKey) {
      CFSecurityServiceHPKey rhs = (CFSecurityServiceHPKey) obj;
      {
        int lhsRequiredRevision = getRequiredRevision();
        int rhsRequiredRevision = rhs.getRequiredRevision();
        if (lhsRequiredRevision < rhsRequiredRevision) {
          return (-1);
        } else if (lhsRequiredRevision > rhsRequiredRevision) {
          return (1);
        }
      }
      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      if (getRequiredServiceId() < rhs.getRequiredServiceId()) {
        return (-1);
      } else if (getRequiredServiceId() > rhs.getRequiredServiceId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecurityServiceHBuff) {
      CFSecurityServiceHBuff rhs = (CFSecurityServiceHBuff) obj;
      int retval = 0;
      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      if (getRequiredServiceId() < rhs.getRequiredServiceId()) {
        return (-1);
      } else if (getRequiredServiceId() > rhs.getRequiredServiceId()) {
        return (1);
      }
      if (getRequiredHostNodeId() < rhs.getRequiredHostNodeId()) {
        return (-1);
      } else if (getRequiredHostNodeId() > rhs.getRequiredHostNodeId()) {
        return (1);
      }
      if (getRequiredServiceTypeId() < rhs.getRequiredServiceTypeId()) {
        return (-1);
      } else if (getRequiredServiceTypeId() > rhs.getRequiredServiceTypeId()) {
        return (1);
      }
      if (getRequiredHostPort() < rhs.getRequiredHostPort()) {
        return (-1);
      } else if (getRequiredHostPort() > rhs.getRequiredHostPort()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecurityServiceByClusterIdxKey) {
      CFSecurityServiceByClusterIdxKey rhs = (CFSecurityServiceByClusterIdxKey) obj;

      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecurityServiceByHostIdxKey) {
      CFSecurityServiceByHostIdxKey rhs = (CFSecurityServiceByHostIdxKey) obj;

      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      if (getRequiredHostNodeId() < rhs.getRequiredHostNodeId()) {
        return (-1);
      } else if (getRequiredHostNodeId() > rhs.getRequiredHostNodeId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecurityServiceByTypeIdxKey) {
      CFSecurityServiceByTypeIdxKey rhs = (CFSecurityServiceByTypeIdxKey) obj;

      if (getRequiredServiceTypeId() < rhs.getRequiredServiceTypeId()) {
        return (-1);
      } else if (getRequiredServiceTypeId() > rhs.getRequiredServiceTypeId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecurityServiceByUTypeIdxKey) {
      CFSecurityServiceByUTypeIdxKey rhs = (CFSecurityServiceByUTypeIdxKey) obj;

      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      if (getRequiredHostNodeId() < rhs.getRequiredHostNodeId()) {
        return (-1);
      } else if (getRequiredHostNodeId() > rhs.getRequiredHostNodeId()) {
        return (1);
      }
      if (getRequiredServiceTypeId() < rhs.getRequiredServiceTypeId()) {
        return (-1);
      } else if (getRequiredServiceTypeId() > rhs.getRequiredServiceTypeId()) {
        return (1);
      }
      return (0);
    } else if (obj instanceof CFSecurityServiceByUHostPortIdxKey) {
      CFSecurityServiceByUHostPortIdxKey rhs = (CFSecurityServiceByUHostPortIdxKey) obj;

      if (getRequiredClusterId() < rhs.getRequiredClusterId()) {
        return (-1);
      } else if (getRequiredClusterId() > rhs.getRequiredClusterId()) {
        return (1);
      }
      if (getRequiredHostNodeId() < rhs.getRequiredHostNodeId()) {
        return (-1);
      } else if (getRequiredHostNodeId() > rhs.getRequiredHostNodeId()) {
        return (1);
      }
      if (getRequiredHostPort() < rhs.getRequiredHostPort()) {
        return (-1);
      } else if (getRequiredHostPort() > rhs.getRequiredHostPort()) {
        return (1);
      }
      return (0);
    } else {
      throw CFLib.getDefaultExceptionFactory()
          .newUnsupportedClassException(getClass(), "compareTo", "obj", obj, null);
    }
  }

  public void set(CFSecurityServiceBuff src) {
    setServiceBuff(src);
  }

  public void setServiceBuff(CFSecurityServiceBuff src) {
    setRequiredClusterId(src.getRequiredClusterId());
    setRequiredServiceId(src.getRequiredServiceId());
    setCreatedByUserId(src.getCreatedByUserId());
    setCreatedAt(src.getCreatedAt());
    setUpdatedByUserId(src.getUpdatedByUserId());
    setUpdatedAt(src.getUpdatedAt());
    setRequiredHostNodeId(src.getRequiredHostNodeId());
    setRequiredServiceTypeId(src.getRequiredServiceTypeId());
    setRequiredHostPort(src.getRequiredHostPort());
    setRequiredRevision(src.getRequiredRevision());
  }

  public void set(CFSecurityServiceHBuff src) {
    setServiceBuff(src);
  }

  public void setServiceBuff(CFSecurityServiceHBuff src) {
    setRequiredClusterId(src.getRequiredClusterId());
    setRequiredServiceId(src.getRequiredServiceId());
    setRequiredHostNodeId(src.getRequiredHostNodeId());
    setRequiredServiceTypeId(src.getRequiredServiceTypeId());
    setRequiredHostPort(src.getRequiredHostPort());
  }
}
  @Override
  public HashSet<ScoredAnnotation> solveSa2W(String text) throws AnnotationException {
    HashSet<ScoredAnnotation> res;
    try {
      res = new HashSet<ScoredAnnotation>();
      lastTime = Calendar.getInstance().getTimeInMillis();

      URL wikiApi = new URL(url);
      String parameters =
          "references=true&repeatMode=all&minProbability=0.0&source="
              + URLEncoder.encode(text, "UTF-8");
      HttpURLConnection slConnection = (HttpURLConnection) wikiApi.openConnection();
      slConnection.setRequestProperty("accept", "text/xml");
      slConnection.setDoOutput(true);
      slConnection.setDoInput(true);
      slConnection.setRequestMethod("POST");
      slConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
      slConnection.setRequestProperty("charset", "utf-8");
      slConnection.setRequestProperty(
          "Content-Length", "" + Integer.toString(parameters.getBytes().length));
      slConnection.setUseCaches(false);

      DataOutputStream wr = new DataOutputStream(slConnection.getOutputStream());
      wr.writeBytes(parameters);
      wr.flush();
      wr.close();
      DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      DocumentBuilder builder = factory.newDocumentBuilder();
      Document doc = builder.parse(slConnection.getInputStream());

      /*			URL wikiApi = new URL(url+"?references=true&repeatMode=all&minProbability=0.0&source="+URLEncoder.encode(text, "UTF-8"));
      			URLConnection wikiConnection = wikiApi.openConnection();
      			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
      			DocumentBuilder builder = factory.newDocumentBuilder();
      			Document doc = builder.parse(wikiConnection.getInputStream());
      */

      lastTime = Calendar.getInstance().getTimeInMillis() - lastTime;

      XPathFactory xPathfactory = XPathFactory.newInstance();
      XPath xpath = xPathfactory.newXPath();
      XPathExpression idExpr = xpath.compile("//detectedTopic/@id");
      XPathExpression weightExpr = xpath.compile("//detectedTopic/@weight");
      XPathExpression referenceExpr = xpath.compile("//detectedTopic/references");

      NodeList ids = (NodeList) idExpr.evaluate(doc, XPathConstants.NODESET);
      NodeList weights = (NodeList) weightExpr.evaluate(doc, XPathConstants.NODESET);
      NodeList references = (NodeList) referenceExpr.evaluate(doc, XPathConstants.NODESET);

      for (int i = 0; i < weights.getLength(); i++) {
        if (weights.item(i).getNodeType() != Node.TEXT_NODE) {
          int id = Integer.parseInt(ids.item(i).getNodeValue());
          float weight = Float.parseFloat(weights.item(i).getNodeValue());
          //					System.out.println("ID="+ids.item(i).getNodeValue()+" weight="+weight);
          XPathExpression startExpr =
              xpath.compile("//detectedTopic[@id=" + id + "]/references/reference/@start");
          XPathExpression endExpr =
              xpath.compile("//detectedTopic[@id=" + id + "]/references/reference/@end");
          NodeList starts =
              (NodeList) startExpr.evaluate(references.item(i), XPathConstants.NODESET);
          NodeList ends = (NodeList) endExpr.evaluate(references.item(i), XPathConstants.NODESET);
          for (int j = 0; j < starts.getLength(); j++) {
            int start = Integer.parseInt(starts.item(j).getNodeValue());
            int end = Integer.parseInt(ends.item(j).getNodeValue());
            int len = end - start;
            res.add(new ScoredAnnotation(start, len, id, weight));
          }
        }
      }
    } catch (Exception e) {
      e.printStackTrace();
      throw new AnnotationException(
          "An error occurred while querying Wikipedia Miner API. Message: " + e.getMessage());
    }
    return res;
  }