src/main/java/org/beigesoft/replicator/service/SrvEntitySyncPersistableBaseVersion.java
@Override
  public final boolean sync(final Map<String, Object> pAddParam,
    final Object pEntity) throws Exception {
    APersistableBaseVersion entityPb = (APersistableBaseVersion) pEntity;
    int currDbId = getSrvOrm().getIdDatabase();
    if (currDbId == entityPb.getIdDatabaseBirth()) {
      throw new ExceptionWithCode(ExceptionWithCode.SOMETHING_WRONG,
        "Foreign entity born in this database! {ID, ID BIRTH, DB BIRTH}:"
          + " {" + entityPb.getItsId() + ", " + entityPb.getIdBirth()
            + "," + entityPb.getIdDatabaseBirth());
    }
    String tblNm = pEntity.getClass().getSimpleName().toUpperCase();
    String whereStr = " where " + tblNm + ".IDBIRTH=" + entityPb.getItsId()
      + " and " + tblNm + ".IDDATABASEBIRTH=" + entityPb.getIdDatabaseBirth();
    APersistableBaseVersion entityPbDb = getSrvOrm()
      .retrieveEntityWithConditions(pAddParam, entityPb.getClass(), whereStr);
    entityPb.setIdBirth(entityPb.getItsId());
    entityPb.setItsId(null);
    boolean isNew = true;
    if (entityPbDb != null) {
      entityPb.setItsVersion(entityPbDb.getItsVersion());
      entityPb.setItsId(entityPbDb.getItsId());
      isNew = false;
    }
    return isNew;
  }
@Override
  public final boolean sync(final Map<String, Object> pAddParam,
    final Object pEntity) throws Exception {
    APersistableBaseVersion entityPb = (APersistableBaseVersion) pEntity;
    int currDbId = getSrvOrm().getIdDatabase();
    if (currDbId == entityPb.getIdDatabaseBirth()) {
      throw new ExceptionWithCode(ExceptionWithCode.SOMETHING_WRONG,
        "Foreign entity born in this database! {ID, ID BIRTH, DB BIRTH}:"
          + " {" + entityPb.getItsId() + ", " + entityPb.getIdBirth()
            + "," + entityPb.getIdDatabaseBirth());
    }
    String tblNm = pEntity.getClass().getSimpleName().toUpperCase();
    String whereStr = " where " + tblNm + ".IDBIRTH=" + entityPb.getItsId()
      + " and " + tblNm + ".IDDATABASEBIRTH=" + entityPb.getIdDatabaseBirth();
    APersistableBaseVersion entityPbDb = getSrvOrm()
      .retrieveEntityWithConditions(pAddParam, entityPb.getClass(), whereStr);
    entityPb.setIdBirth(entityPb.getItsId());
    entityPb.setItsId(null);
    boolean isNew = true;
    if (entityPbDb != null) {
      entityPb.setItsVersion(entityPbDb.getItsVersion());
      entityPb.setItsId(entityPbDb.getItsId());
      isNew = false;
    }
    return isNew;
  }
@ Override public final boolean sync ( final Map < String , Object > pAddParam , final Object pEntity ) throws Exception { APersistableBaseVersion entityPb = ( APersistableBaseVersion ) pEntity ; int currDbId = getSrvOrm ( ) . getIdDatabase ( ) ; if ( currDbId == entityPb . getIdDatabaseBirth ( ) ) { throw new ExceptionWithCode ( ExceptionWithCode . SOMETHING_WRONG , "Foreign entity born in this database! {ID, ID BIRTH, DB BIRTH}:" + " {" + entityPb . getItsId ( ) + ", " + entityPb . getIdBirth ( ) + "," + entityPb . getIdDatabaseBirth ( ) ) ; } String tblNm = pEntity . getClass ( ) . getSimpleName ( ) . toUpperCase ( ) ; String whereStr = " where " + tblNm + ".IDBIRTH=" + entityPb . getItsId ( ) + " and " + tblNm + ".IDDATABASEBIRTH=" + entityPb . getIdDatabaseBirth ( ) ; APersistableBaseVersion entityPbDb = getSrvOrm ( ) . retrieveEntityWithConditions ( pAddParam , entityPb . getClass ( ) , whereStr ) ; entityPb . setIdBirth ( entityPb . getItsId ( ) ) ; entityPb . setItsId ( null ) ; boolean isNew = true ; if ( entityPbDb != null ) { entityPb . setItsVersion ( entityPbDb . getItsVersion ( ) ) ; entityPb . setItsId ( entityPbDb . getItsId ( ) ) ; isNew = false ; } return isNew ; }
<p>
Synchronize  APersistableBaseVersion (itsVersion changed time).
</p>
@param pAddParam additional params
@param pEntity object
@return isNew if entity exist in database (need update)
@throws Exception - an exception
<p > Synchronize APersistableBaseVersion ( itsVersion changed time ) . < / p >