package com.constellio.app.conf; import org.joda.time.LocalDateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import com.constellio.model.conf.ConstellioLicense; import com.constellio.model.entities.modules.ConstellioPlugin; public abstract class RegisteredLicense extends ConstellioLicense implements ConstellioPlugin { @Override public String getName() { return "License of " + getCustomerCode() + " (" + getCustomerName() + ")"; } @Override public String getPublisher() { return DOCULIBRE; } // @Override // public void start(String collection, ModelLayerFactory modelLayerFactory, // DataLayerFactory dataLayerFactory) { // customerCode = getCustomerCode(); // customerName = getCustomerName(); // supportPlan = getSupportPlan(); // installationDate = parse(getInstallationDateYYYYMMDD()); // supportPlanStart = parse(getSupportPlanStartYYYYMMDD()); // supportPlanEnd = parse(getSupportPlanEndYYYYMMDD()); // } // private Date parse(String dateYYYYMMDD) { // if (dateYYYYMMDD == null) { // return null; // } else { // SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); // try { // return sdf.parse(dateYYYYMMDD.replace("-", "").replace("_", "").replace("/", "")); // } catch (ParseException e) { // throw new RegisteredLicenseRuntimeException(e); // } // } // } private LocalDateTime parse(String dateYYYYMMDD) { if (dateYYYYMMDD == null) { return null; } else { DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyyMMdd"); return LocalDateTime.parse(dateYYYYMMDD.replace("-", "").replace("_", "").replace("/", ""), formatter); } } // @Override // public void stop(String collection, ModelLayerFactory modelLayerFactory, // DataLayerFactory dataLayerFactory) { // customerCode = null; // customerName = null; // supportPlan = null; // installationDate = null; // supportPlanStart = null; // supportPlanEnd = null; // } public abstract String getInstallationDateYYYYMMDD(); public abstract String getSupportPlanStartYYYYMMDD(); public abstract String getSupportPlanEndYYYYMMDD(); public abstract String getCustomerName(); public abstract String getCustomerCode(); public abstract String getSupportPlan(); }