/** * Koya is an alfresco module that provides a corporate orientated dataroom. * * Copyright (C) Itl Developpement 2014 * * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * 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 Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see `<http://www.gnu.org/licenses/>`. */ package fr.itldev.koya.model; import java.util.Collections; import java.util.HashMap; import java.util.Map; import org.alfresco.repo.site.SiteModel; import org.alfresco.service.namespace.QName; import fr.itldev.koya.model.impl.Company; import fr.itldev.koya.model.impl.Dossier; import fr.itldev.koya.model.impl.Space; /** * Model definition and constants. * */ public class KoyaModel { public static final String KOYA_URI = "http://www.itldev.fr/koyamodel"; public static final String NAMESPACE_KOYA_CONTENT_MODEL = "http://www.itldev.fr/koyamodel/content/1.0"; public static final String NAMESPACE_ALFRESCO_ROOT = "http://www.alfresco.org/model/site/1.0"; // ============= Types =============== public static final QName TYPE_COMPANY = SiteModel.TYPE_SITE; // public static final QName TYPE_SPACE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "space"); // public static final QName TYPE_DOSSIER = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "dossier"); public static final QName TYPE_DOSSIERCLASSIFYFOLDER = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "dossierClassifyFolder"); public static final QName TYPE_CONTACTITEM = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "contactItem"); public static final QName TYPE_CONTACT = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "contact"); public static final QName TYPE_COMPANYPROPERTIES = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "companyProperties"); // ================ Aspects ========================== public static final QName ASPECT_COMPANYSITE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "companySite"); public static final QName ASPECT_ACTIVABLE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "activable"); public static final QName ASPECT_MAILUNIQUE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "mailunique"); public static final QName ASPECT_CIVILTITLED = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "civilTitled"); public static final QName ASPECT_LASTMODIFIED = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "lastModified"); public static final QName ASPECT_CONFIDENTIAL = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "confidential"); public static final QName ASPECT_BPMSTATUS = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "bpmStatus"); public static final QName ASPECT_TEMPFILE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "temp"); // ================= Aspects Properties public static final QName PROP_COMPANYHOME = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "companyHome"); public static final QName PROP_ISACTIVE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "isActive"); public static final QName PROP_MAIL = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "mail"); public static final QName PROP_CIVILTITLE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "civilTitle"); public static final QName PROP_LASTMODIFICATIONDATE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "lastModificationDate"); public static final QName PROP_NOTIFIED = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "notified"); public static final QName PROP_BPMCURRENTSTATUS = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "currentBpmStatus"); // ================= Types Properties ========================= public static final QName PROP_CONTACTITEM_VALUE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "contactItemValue"); public static final QName PROP_CONTACTITEM_TYPE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "contactItemType"); public static final QName PROP_ADDRESS = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "address"); public static final QName PROP_ADDRESS2 = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "address2"); public static final QName PROP_ZIPCODE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "zipcode"); public static final QName PROP_CITY = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "city"); public static final QName PROP_DESCRIPTION = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "description"); public static final QName PROP_LEGALINFOS = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "legalInformations"); public static final QName PROP_MAILHEADERTEXT = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "mailHeaderText"); public static final QName PROP_REFERENCE = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "reference"); public static final QName PROP_ACTIVITIIDS = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "activitiIds"); public static final QName PROP_DOSSIERREF = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "dossierRef"); // ================= Type associations // =========================================== public static final QName ASSOC_CONTACT_USER = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "contactUserAssoc"); public static final QName ASSOC_LOGO_COMPANY = QName.createQName( NAMESPACE_KOYA_CONTENT_MODEL, "companyLogo"); /** * Used because koya namespace is not registered * * TODO register koya namespace */ public static final Map<QName, String> TYPES_SHORT_PREFIX = Collections .unmodifiableMap(new HashMap<QName, String>() { private static final long serialVersionUID = 1L; { put(TYPE_COMPANY, "st:site"); put(TYPE_SPACE, "koya:space"); put(TYPE_DOSSIER, "koya:dossier"); } }); public static final Map<Class<? extends KoyaNode>, QName> CLASS_TO_QNAME = Collections .unmodifiableMap(new HashMap<Class<? extends KoyaNode>, QName>() { private static final long serialVersionUID = 1L; { put(Company.class, TYPE_COMPANY); put(Space.class, TYPE_SPACE); put(Dossier.class, TYPE_DOSSIER); } }); // ========= Constraints values public static class BpmStatusValues { public static String RUNNING = "RUNNING"; public static String CANCELED = "CANCELED"; public static String FINISHED = "FINISHED"; public static String UNKNOWN = "UNKNOWN"; } }