diff --git a/ccm-cms/src/com/arsdigita/cms/ui/type/AddDateElement.java b/ccm-cms/src/com/arsdigita/cms/ui/type/AddDateElement.java index b1f08b17f..fb787a668 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/type/AddDateElement.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/type/AddDateElement.java @@ -57,13 +57,15 @@ public class AddDateElement extends ElementAddForm { public AddDateElement(ACSObjectSelectionModel types) { super("ContentTypeAddDateElement", "Add a Date Element", types); +/* add(new Label(GlobalizationUtil.globalize ("cms.ui.type.element.value_required"))); m_valReq = new CheckboxGroup("AddDateElementValReq"); // XXX fix l18n wrt request m_valReq.addOption(new Option(lz("cms.ui.no"), lz("cms.ui.yes"))); add(m_valReq); - +*/ + add(new Label(GlobalizationUtil.globalize ("cms.ui.type.default_date"))); m_date = new Date("elementdate"); @@ -101,7 +103,10 @@ public class AddDateElement extends ElementAddForm { throws FormProcessException { java.util.Date date = (java.util.Date) m_date.getValue(state); - String[] valReq = (String[]) m_valReq.getValue(state); +// String[] valReq = (String[]) m_valReq.getValue(state); + // Quasimodo + // Disable the value requierd feature + String[] valReq = null; if (valReq == null) { dot.addOptionalAttribute(label, MetadataRoot.DATE); diff --git a/ccm-cms/src/com/arsdigita/cms/ui/type/AddNumberElement.java b/ccm-cms/src/com/arsdigita/cms/ui/type/AddNumberElement.java index 1b5dd90c8..348900a9b 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/type/AddNumberElement.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/type/AddNumberElement.java @@ -51,11 +51,13 @@ public class AddNumberElement extends ElementAddForm { public AddNumberElement(ACSObjectSelectionModel types) { super("ContentTypeAddNumberElement", "Add a Number Element", types); +/* add(new Label(GlobalizationUtil.globalize("cms.ui.type.element.value_required"))); m_valReq = new CheckboxGroup("AddNumberElementValReq"); m_valReq.addOption(new Option("yes", "Yes")); add(m_valReq); - +*/ + add(m_buttons, ColumnPanel.FULL_WIDTH|ColumnPanel.CENTER); } @@ -63,7 +65,10 @@ public class AddNumberElement extends ElementAddForm { PageState state) throws FormProcessException { - String[] valReq = (String[]) m_valReq.getValue(state); +// String[] valReq = (String[]) m_valReq.getValue(state); + // Quasimodo + // Disable the value requierd feature + String[] valReq = null; if (valReq == null) { dot.addOptionalAttribute(label, MetadataRoot.BIGDECIMAL); diff --git a/ccm-cms/src/com/arsdigita/cms/ui/type/AddTextElement.java b/ccm-cms/src/com/arsdigita/cms/ui/type/AddTextElement.java index b33c10ecc..56f621347 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/type/AddTextElement.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/type/AddTextElement.java @@ -75,12 +75,14 @@ public class AddTextElement extends ElementAddForm { m_dataEntry.addOption(new Option( TEXT_AREA, "Text Area")); add(m_dataEntry); +/* add(new Label(GlobalizationUtil.globalize ("cms.ui.type.element.value_required"))); m_valReq = new CheckboxGroup("AddTextElementValReq"); m_valReq.addOption(new Option("yes", "Yes")); add(m_valReq); - +*/ + add(m_buttons, ColumnPanel.FULL_WIDTH|ColumnPanel.CENTER); } @@ -90,7 +92,10 @@ public class AddTextElement extends ElementAddForm { throws FormProcessException { Integer length = (Integer) m_length.getValue(state); - String[] valReq = (String[]) m_valReq.getValue(state); +// String[] valReq = (String[]) m_valReq.getValue(state); + // Quasimodo + // Disable the value requierd feature + String[] valReq = null; if (length == null) { length = new Integer(4000); diff --git a/ccm-core/src/com/arsdigita/metadata/DynamicObjectType.java b/ccm-core/src/com/arsdigita/metadata/DynamicObjectType.java index 582e3b723..9a8cc9169 100755 --- a/ccm-core/src/com/arsdigita/metadata/DynamicObjectType.java +++ b/ccm-core/src/com/arsdigita/metadata/DynamicObjectType.java @@ -38,6 +38,7 @@ import com.redhat.persistence.metadata.JoinTo; import com.redhat.persistence.metadata.Model; import com.redhat.persistence.metadata.ObjectMap; import com.redhat.persistence.metadata.ObjectType; +import com.redhat.persistence.metadata.Property; import com.redhat.persistence.metadata.Role; import com.redhat.persistence.metadata.Root; import com.redhat.persistence.metadata.Table; @@ -573,8 +574,8 @@ public class DynamicObjectType extends DynamicElement { * in is not an Attribute that can be removed */ public void removeAttribute(String name) { - throw new UnsupportedOperationException(); - /*// XXX: set a flag here to say that save() needs to regenerate all +// throw new UnsupportedOperationException(); + // XXX: set a flag here to say that save() needs to regenerate all // subtypes as well Property property = m_objectType.getDeclaredProperty(name); if (property == null) { @@ -590,8 +591,8 @@ public class DynamicObjectType extends DynamicElement { "is not a property of this DynamicObjectType"); } } else { - m_objectType.removeProperty(property); - }*/ + m_objectType.removeProperty(name); + } } /** diff --git a/ccm-core/src/com/redhat/persistence/metadata/Mist.java b/ccm-core/src/com/redhat/persistence/metadata/Mist.java index 1a0fc1790..e379cd57a 100755 --- a/ccm-core/src/com/redhat/persistence/metadata/Mist.java +++ b/ccm-core/src/com/redhat/persistence/metadata/Mist.java @@ -97,10 +97,24 @@ class Mist extends AbstractList { public boolean remove(Object o) { Object key = check(o); Element child = (Element) o; + + // Quasimodo: BEGIN + // Diabled because it prevents to delete item from the list. + // The result is always false because child.getParent() gets + // the parent of the Class. It doesn't say anything about the + // membership to this List. + /* if (!this.equals(child.getParent())) { throw new IllegalArgumentException ("child does not belong to this parent"); } + */ + // Qusimodo: END + + if (!this.containsKey(key)) { + throw new IllegalArgumentException + ("child does not belong to this parent"); + } m_children.remove(o); m_childrenMap.remove(key); child.setParent(null); diff --git a/ccm-core/src/com/redhat/persistence/metadata/ObjectType.java b/ccm-core/src/com/redhat/persistence/metadata/ObjectType.java index 22813c160..8d631f569 100755 --- a/ccm-core/src/com/redhat/persistence/metadata/ObjectType.java +++ b/ccm-core/src/com/redhat/persistence/metadata/ObjectType.java @@ -129,6 +129,13 @@ public class ObjectType extends Element { } } + public void removeProperty(String name) { + if ((m_properties.get(name)) instanceof Role) { + m_roles.remove((m_properties.get(name))); + } + m_properties.remove((m_properties.get(name))); + } + public Collection getDeclaredProperties() { return m_properties; }