Dictionary M2 support to add/remove property constraint ref

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15988 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Jan Vonka
2009-08-28 15:02:57 +00:00
parent d26d4cbc5a
commit d5a1794c18
3 changed files with 271 additions and 239 deletions

View File

@@ -65,6 +65,11 @@ public class M2Constraint
{ {
return ref; return ref;
} }
public void setRef(String refName)
{
this.ref = refName;
}
public String getType() public String getType()
{ {

View File

@@ -1,238 +1,265 @@
/* /*
* Copyright (C) 2005-2007 Alfresco Software Limited. * Copyright (C) 2005-2009 Alfresco Software Limited.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2 * as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version. * of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of * As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre * the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's * and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing * FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.repo.dictionary; package org.alfresco.repo.dictionary;
import java.util.Collections; import java.util.ArrayList;
import java.util.List; import java.util.Collections;
import java.util.List;
/**
* Property Definition /**
* * Property Definition
* @author David Caruana *
* * @author David Caruana
*/ *
public class M2Property */
{ public class M2Property
private boolean isOverride = false; {
private String name = null; private boolean isOverride = false;
private String title = null; private String name = null;
private String description = null; private String title = null;
private String propertyType = null; private String description = null;
private boolean isProtected = false; private String propertyType = null;
private boolean isMandatory = false; private boolean isProtected = false;
private boolean isMandatoryEnforced = false; private boolean isMandatory = false;
private boolean isMultiValued = false; private boolean isMandatoryEnforced = false;
private String defaultValue = null; private boolean isMultiValued = false;
private boolean isIndexed = true; private String defaultValue = null;
private boolean isIndexedAtomically = true; private boolean isIndexed = true;
private boolean isStoredInIndex = false; private boolean isIndexedAtomically = true;
private IndexTokenisationMode indexTokenisationMode = IndexTokenisationMode.TRUE; private boolean isStoredInIndex = false;
private List<M2Constraint> constraints; private IndexTokenisationMode indexTokenisationMode = IndexTokenisationMode.TRUE;
private List<M2Constraint> constraints = new ArrayList<M2Constraint>();
/*package*/ M2Property()
{ /*package*/ M2Property()
} {
}
/*package*/ M2Property(String name)
{ /*package*/ M2Property(String name)
this.name = name; {
} this.name = name;
}
public boolean isOverride()
{ public boolean isOverride()
return isOverride; {
} return isOverride;
}
public void setOverride(boolean isOverride)
{ public void setOverride(boolean isOverride)
this.isOverride = isOverride; {
} this.isOverride = isOverride;
}
public String getName()
{ public String getName()
return name; {
} return name;
}
public void setName(String name)
{ public void setName(String name)
this.name = name; {
} this.name = name;
}
public String getTitle()
{ public String getTitle()
return title; {
} return title;
}
public void setTitle(String title)
{ public void setTitle(String title)
this.title = title; {
} this.title = title;
}
public String getDescription()
{ public String getDescription()
return description; {
} return description;
}
public void setDescription(String description)
{ public void setDescription(String description)
this.description = description; {
} this.description = description;
}
public String getType()
{ public String getType()
return propertyType; {
} return propertyType;
}
public void setType(String type)
{ public void setType(String type)
this.propertyType = type; {
} this.propertyType = type;
}
public boolean isProtected()
{ public boolean isProtected()
return isProtected; {
} return isProtected;
}
public void setProtected(boolean isProtected)
{ public void setProtected(boolean isProtected)
this.isProtected = isProtected; {
} this.isProtected = isProtected;
}
public boolean isMandatory()
{ public boolean isMandatory()
return isMandatory; {
} return isMandatory;
}
public void setMandatory(boolean isMandatory)
{ public void setMandatory(boolean isMandatory)
this.isMandatory = isMandatory; {
} this.isMandatory = isMandatory;
}
public boolean isMandatoryEnforced()
{ public boolean isMandatoryEnforced()
return isMandatoryEnforced; {
} return isMandatoryEnforced;
}
public void setMandatoryEnforced(boolean isMandatoryEnforced)
{ public void setMandatoryEnforced(boolean isMandatoryEnforced)
this.isMandatoryEnforced = isMandatoryEnforced; {
} this.isMandatoryEnforced = isMandatoryEnforced;
}
public boolean isMultiValued()
{ public boolean isMultiValued()
return isMultiValued; {
} return isMultiValued;
}
public void setMultiValued(boolean isMultiValued)
{ public void setMultiValued(boolean isMultiValued)
this.isMultiValued = isMultiValued; {
} this.isMultiValued = isMultiValued;
}
public String getDefaultValue()
{ public String getDefaultValue()
return defaultValue; {
} return defaultValue;
}
public void setDefaultValue(String defaultValue)
{ public void setDefaultValue(String defaultValue)
this.defaultValue = defaultValue; {
} this.defaultValue = defaultValue;
}
public boolean isIndexed()
{ public boolean isIndexed()
return isIndexed; {
} return isIndexed;
}
public void setIndexed(boolean isIndexed)
{ public void setIndexed(boolean isIndexed)
this.isIndexed = isIndexed; {
} this.isIndexed = isIndexed;
}
public boolean isStoredInIndex()
{ public boolean isStoredInIndex()
return isStoredInIndex; {
} return isStoredInIndex;
}
public void setStoredInIndex(boolean isStoredInIndex)
{ public void setStoredInIndex(boolean isStoredInIndex)
this.isStoredInIndex = isStoredInIndex; {
} this.isStoredInIndex = isStoredInIndex;
}
public boolean isIndexedAtomically()
{ public boolean isIndexedAtomically()
return isIndexedAtomically; {
} return isIndexedAtomically;
}
public void setIndexedAtomically(boolean isIndexedAtomically)
{ public void setIndexedAtomically(boolean isIndexedAtomically)
this.isIndexedAtomically = isIndexedAtomically; {
} this.isIndexedAtomically = isIndexedAtomically;
}
public IndexTokenisationMode getIndexTokenisationMode()
{ public IndexTokenisationMode getIndexTokenisationMode()
return indexTokenisationMode; {
} return indexTokenisationMode;
}
public void setIndexTokenisationMode(IndexTokenisationMode indexTokenisationMode)
{ public void setIndexTokenisationMode(IndexTokenisationMode indexTokenisationMode)
this.indexTokenisationMode = indexTokenisationMode; {
} this.indexTokenisationMode = indexTokenisationMode;
}
public List<M2Constraint> getConstraints()
{ public List<M2Constraint> getConstraints()
if (constraints == null) {
{ if (constraints == null)
return Collections.emptyList(); {
} return Collections.emptyList();
else }
{ else
return constraints; {
} return constraints;
} }
} }
public boolean hasConstraints()
{
return ((this.constraints != null) && (constraints.size() > 0));
}
public M2Constraint addConstraintRef(String refName)
{
M2Constraint constraint = new M2Constraint();
constraint.setRef(refName);
constraints.add(constraint);
return constraint;
}
public void removeConstraintRef(String refName)
{
List<M2Constraint> cons = new ArrayList<M2Constraint>(getConstraints());
for (M2Constraint con : cons)
{
if (con.getRef().equals(refName))
{
constraints.remove(con);
}
}
}
}

View File

@@ -115,7 +115,7 @@
<value name="stored" field="isStoredInIndex" usage="optional"/> <value name="stored" field="isStoredInIndex" usage="optional"/>
<value name="tokenised" field="indexTokenisationMode" usage="optional" serializer="org.alfresco.repo.dictionary.IndexTokenisationMode.serializer" deserializer="org.alfresco.repo.dictionary.IndexTokenisationMode.deserializer"/> <value name="tokenised" field="indexTokenisationMode" usage="optional" serializer="org.alfresco.repo.dictionary.IndexTokenisationMode.serializer" deserializer="org.alfresco.repo.dictionary.IndexTokenisationMode.deserializer"/>
</structure> </structure>
<structure name="constraints" usage="optional"> <structure name="constraints" test-method="hasConstraints" usage="optional">
<collection field="constraints" item-type="org.alfresco.repo.dictionary.M2Constraint" factory="org.alfresco.repo.dictionary.M2Model.createList" usage="optional"/> <collection field="constraints" item-type="org.alfresco.repo.dictionary.M2Constraint" factory="org.alfresco.repo.dictionary.M2Model.createList" usage="optional"/>
</structure> </structure>
</mapping> </mapping>