001: /*
002: * Copyright 2007 Giordano Maestro (giordano.maestro@assetdata.it)
003: *
004: *
005: * Licensed under the Apache License, Version 2.0 (the "License"); you may not
006: * use this file except in compliance with the License.
007: *
008: * You may obtain a copy of the License at
009: * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
010: * or agreed to in writing, software distributed under the License is
011: * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
012: * KIND, either express or implied. See the License for the specific language
013: * governing permissions and limitations under the License.
014: */
015: package org.romaframework.module.designer.view.domain.radpage.aspect;
016:
017: import java.util.ArrayList;
018: import java.util.HashMap;
019: import java.util.List;
020: import java.util.Map;
021: import java.util.Map.Entry;
022:
023: import org.romaframework.aspect.view.ViewAspect;
024: import org.romaframework.core.schema.SchemaFeatures;
025: import org.romaframework.module.designer.DesignerHelper;
026: import org.romaframework.module.designer.view.domain.FeatureListable;
027:
028: public class ViewFeatureAspectPage extends FeatureAspectPage {
029: public ViewFeatureAspectPage(SchemaFeatures iActualFeature) {
030: super (ViewAspect.ASPECT_NAME, iActualFeature
031: .getFeatures(ViewAspect.ASPECT_NAME));
032:
033: }
034:
035: @Override
036: protected List<FeatureListable> fillConfigurable() {
037: List<FeatureListable> result = new ArrayList<FeatureListable>();
038: if (actualFeature.getAttributes() != null) {
039: for (Entry<String, Object> entry : actualFeature
040: .getAttributes().entrySet()) {
041: if (entry.getKey().equals("render")) {
042: try {
043: result.add(new FeatureListable(entry.getKey(),
044: DesignerHelper
045: .getSelectableFeatureWrapper(
046: ViewAspect.ASPECT_NAME,
047: entry.getKey(), entry
048: .getValue())));
049: } catch (ClassNotFoundException e) {
050: throw new RuntimeException(e);
051: }
052: } else if (entry.getKey().equals("layout")) {
053: FeatureListable layoutList = new FeatureListable(
054: entry.getKey(), DesignerHelper
055: .getLayoutOrderWrapper(entry
056: .getValue()));
057: result.add(layoutList);
058: } else if (entry.getKey().equals("label")
059: || entry.getKey().equals("description")
060: || entry.getKey().equals("match")
061: || entry.getKey().equals("style")
062: || entry.getKey().equals("selectionField")
063: || entry.getKey().equals("actionName")) {
064: result.add(new FeatureListable(entry.getKey(),
065: DesignerHelper.getTextWrapper(entry
066: .getValue(), String.class)));
067: } else if (entry.getKey().equals("required")
068: || entry.getKey().equals("visible")
069: || entry.getKey().equals("enabled")
070: || entry.getKey().equals("bind")
071: || entry.getKey().equals("validation")) {
072: result.add(new FeatureListable(entry.getKey(),
073: DesignerHelper
074: .getBooleanWrapper((Boolean) entry
075: .getValue())));
076: } else if (entry.getKey().equals("min")
077: || entry.getKey().equals("max")
078: || entry.getKey().equals("columns")) {
079: result.add(new FeatureListable(entry.getKey(),
080: DesignerHelper.getTextWrapper(entry
081: .getValue(), Integer.class)));
082: } else if (entry.getKey().equals("selectionMode")) {
083: result.add(new FeatureListable(entry.getKey(),
084: DesignerHelper.getTextWrapper(entry
085: .getValue(), Byte.class)));
086: }
087: }
088: }
089: return result;
090: }
091:
092: @Override
093: public Map<String, Object> getDefaultValues() {
094: /***************************************************************************
095: * Init view values
096: **************************************************************************/
097: Map<String, Object> defaultViewValues = new HashMap<String, Object>();
098: defaultViewValues.put("description", "");
099: defaultViewValues.put("enabled", Boolean.TRUE);
100: defaultViewValues.put("layout", "");
101: defaultViewValues.put("render", "");
102: defaultViewValues.put("required", Boolean.FALSE);
103: defaultViewValues.put("selectionMode", "value");
104: defaultViewValues.put("style", "");
105: defaultViewValues.put("visible", Boolean.TRUE);
106: defaultViewValues.put("validation", Boolean.FALSE);
107: defaultViewValues.put("bind", Boolean.TRUE);
108: return defaultViewValues;
109: }
110: }
|