Riscontro.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2024 Link.it srl (https://link.it).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3, as published by
* the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.openspcoop2.protocol.sdk;
import java.util.Date;
import org.openspcoop2.core.tracciamento.Data;
import org.openspcoop2.core.tracciamento.TipoData;
import org.openspcoop2.core.tracciamento.constants.TipoTempo;
import org.openspcoop2.protocol.sdk.constants.TipoOraRegistrazione;
/**
* Classe utilizzata per rappresentare un Riscontro.
*
*
* @author Poli Andrea (apoli@link.it)
* @author Nardi Lorenzo
* @author $Author$
* @version $Rev$, $Date$
*/
public class Riscontro implements java.io.Serializable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
private org.openspcoop2.core.tracciamento.Riscontro riscontro;
/* ******** C O S T R U T T O R E ******** */
/**
* Costruttore.
*
*
*/
public Riscontro(){
this.riscontro = new org.openspcoop2.core.tracciamento.Riscontro();
}
public Riscontro(org.openspcoop2.core.tracciamento.Riscontro riscontro){
this.riscontro = riscontro;
}
// base
public org.openspcoop2.core.tracciamento.Riscontro getRiscontro() {
return this.riscontro;
}
public void setRiscontro(org.openspcoop2.core.tracciamento.Riscontro riscontro) {
this.riscontro = riscontro;
}
// id [Wrapper]
public Long getId() {
return this.riscontro.getId();
}
public void setId(Long id) {
this.riscontro.setId(id);
}
// identificativo riscontro [wrapper]
public void setID(String id ){
this.riscontro.setIdentificativo(id);
}
public String getID(){
return this.riscontro.getIdentificativo();
}
// ricevuta [wrapper]
public void setRicevuta(String ricevuta ){
this.riscontro.setRicevuta(ricevuta);
}
public String getRicevuta(){
return this.riscontro.getRicevuta();
}
// date [wrapped]
public TipoOraRegistrazione getTipoOraRegistrazione() {
if(this.riscontro.getOraRegistrazione()!=null &&
this.riscontro.getOraRegistrazione().getSorgente()!=null &&
this.riscontro.getOraRegistrazione().getSorgente().getTipo()!=null){
switch (this.riscontro.getOraRegistrazione().getSorgente().getTipo()) {
case LOCALE:
return TipoOraRegistrazione.LOCALE;
case SINCRONIZZATO:
return TipoOraRegistrazione.SINCRONIZZATO;
case SCONOSCIUTO:
return TipoOraRegistrazione.UNKNOWN;
}
}
return null;
}
public void setTipoOraRegistrazione(TipoOraRegistrazione tipoOraRegistrazione) {
if(tipoOraRegistrazione!=null){
if(this.riscontro.getOraRegistrazione()==null){
this.riscontro.setOraRegistrazione(new Data());
}
if(this.riscontro.getOraRegistrazione().getSorgente()==null){
this.riscontro.getOraRegistrazione().setSorgente(new TipoData());
}
switch (tipoOraRegistrazione) {
case LOCALE:
this.riscontro.getOraRegistrazione().getSorgente().setTipo(TipoTempo.LOCALE);
break;
case SINCRONIZZATO:
this.riscontro.getOraRegistrazione().getSorgente().setTipo(TipoTempo.SINCRONIZZATO);
break;
case UNKNOWN:
this.riscontro.getOraRegistrazione().getSorgente().setTipo(TipoTempo.SCONOSCIUTO);
break;
}
}
else {
if(this.riscontro.getOraRegistrazione()!=null){
if(this.riscontro.getOraRegistrazione().getSorgente()!=null){
if(this.riscontro.getOraRegistrazione().getSorgente().getBase()==null){
this.riscontro.getOraRegistrazione().setSorgente(null);
}
else{
this.riscontro.getOraRegistrazione().getSorgente().setTipo(null);
}
}
if(this.riscontro.getOraRegistrazione().getSorgente()==null && this.riscontro.getOraRegistrazione().getDateTime()==null){
this.riscontro.setOraRegistrazione(null);
}
}
}
}
public void setTipoOraRegistrazione(TipoOraRegistrazione tipo, String value) {
this.setTipoOraRegistrazione(tipo);
this.setTipoOraRegistrazioneValue(value);
}
public String getTipoOraRegistrazioneValue(IProtocolFactory<?> protocolFactory) throws ProtocolException {
String tipoOraRegistrazioneValue = null;
if(this.riscontro.getOraRegistrazione()!=null && this.riscontro.getOraRegistrazione().getSorgente()!=null){
tipoOraRegistrazioneValue = this.riscontro.getOraRegistrazione().getSorgente().getBase();
}
return tipoOraRegistrazioneValue == null ? protocolFactory.createTraduttore().toString(this.getTipoOraRegistrazione()) : tipoOraRegistrazioneValue;
}
public void setTipoOraRegistrazioneValue(String tipoOraRegistrazioneValue) {
if(tipoOraRegistrazioneValue!=null){
if(this.riscontro.getOraRegistrazione()==null){
this.riscontro.setOraRegistrazione(new Data());
}
if(this.riscontro.getOraRegistrazione().getSorgente()==null){
this.riscontro.getOraRegistrazione().setSorgente(new TipoData());
}
this.riscontro.getOraRegistrazione().getSorgente().setBase(tipoOraRegistrazioneValue);
}
else {
if(this.riscontro.getOraRegistrazione()!=null){
if(this.riscontro.getOraRegistrazione().getSorgente()!=null){
if(this.riscontro.getOraRegistrazione().getSorgente().getTipo()==null){
this.riscontro.getOraRegistrazione().setSorgente(null);
}
else{
this.riscontro.getOraRegistrazione().getSorgente().setBase(null);
}
}
if(this.riscontro.getOraRegistrazione().getSorgente()==null && this.riscontro.getOraRegistrazione().getDateTime()==null){
this.riscontro.setOraRegistrazione(null);
}
}
}
}
public Date getOraRegistrazione() {
if(this.riscontro.getOraRegistrazione()!=null){
return this.riscontro.getOraRegistrazione().getDateTime();
}
return null;
}
public void setOraRegistrazione(Date value) {
if(value!=null){
if(this.riscontro.getOraRegistrazione()==null){
this.riscontro.setOraRegistrazione(new Data());
}
this.riscontro.getOraRegistrazione().setDateTime(value);
}
else {
if(this.riscontro.getOraRegistrazione()!=null){
if(this.riscontro.getOraRegistrazione().getSorgente()==null){
this.riscontro.setOraRegistrazione(null);
}
else{
this.riscontro.getOraRegistrazione().setDateTime(null);
}
}
}
}
public Riscontro newInstance(){
Riscontro clone = new Riscontro();
// id
clone.setId(this.getId()!=null ? Long.valueOf(this.getId()+"") : null);
clone.setID(this.getID()!=null ? new String(this.getID()) : null);
clone.setOraRegistrazione(this.getOraRegistrazione()!=null ? new Date(this.getOraRegistrazione().getTime()) : null);
clone.setTipoOraRegistrazione(this.getTipoOraRegistrazione());
clone.setTipoOraRegistrazioneValue(this.riscontro.getOraRegistrazione()!=null &&
this.riscontro.getOraRegistrazione().getSorgente()!=null &&
this.riscontro.getOraRegistrazione().getSorgente().getBase()!=null ? new String(this.riscontro.getOraRegistrazione().getSorgente().getBase()) : null);
return clone;
}
}