IdentificativoIM.java
- /*
- * GovWay - A customizable API Gateway
- * https://govway.org
- *
- * Copyright (c) 2005-2025 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.pdd.services.skeleton;
- import java.util.Date;
- import org.openspcoop2.utils.date.DateUtils;
- import org.slf4j.Logger;
- /**
- * IdentificativoIM
- *
- * @author apoli@link.it
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public class IdentificativoIM {
- public static final String DATE_PREFIX_SEPARATOR = "@";
- public static final String FORMAT = "yyyyMMddHHmmssSSS";
-
- private String id;
- private Date data;
-
- public IdentificativoIM(String id, Date data) {
- this.id = id;
- this.data = data;
- }
-
- public String getId() {
- return this.id;
- }
- public String getIdWithDate() {
- if(this.data!=null) {
- return DateUtils.getSimpleDateFormat(FORMAT).format(this.data)+DATE_PREFIX_SEPARATOR+this.id;
- }
- else {
- return this.id;
- }
- }
- public Date getData() {
- return this.data;
- }
-
- public static IdentificativoIM getIdentificativoIM(String identificativo, Logger log) {
- //System.out.println("IM indexOf["+identificativo.indexOf(DATE_PREFIX_SEPARATOR)+"]");
- if(identificativo.length()>(FORMAT.length()+1) &&
- identificativo.contains(DATE_PREFIX_SEPARATOR) &&
- !identificativo.endsWith(DATE_PREFIX_SEPARATOR) &&
- !identificativo.startsWith(DATE_PREFIX_SEPARATOR) &&
- identificativo.indexOf(DATE_PREFIX_SEPARATOR)==FORMAT.length()) {
- String dataString = identificativo.substring(0,identificativo.indexOf(DATE_PREFIX_SEPARATOR));
- String id = identificativo.substring(identificativo.indexOf(DATE_PREFIX_SEPARATOR)+1);
- try {
- Date data = DateUtils.getSimpleDateFormat(FORMAT).parse(dataString);
- IdentificativoIM idIM = new IdentificativoIM(id, data);
- return idIM;
- }
- catch(Exception e) {
- log.error("Conversione data '"+dataString+"' non riuscita: "+e.getMessage(),e);
- }
- }
- return new IdentificativoIM(identificativo, null);
- }
- }