01: package org.romaframework.module.designer.view.domain.radpage;
02:
03: import org.romaframework.aspect.core.CoreAspect;
04: import org.romaframework.core.domain.message.MessageOk;
05: import org.romaframework.core.flow.ObjectContext;
06: import org.romaframework.module.designer.domain.RadClass;
07: import org.romaframework.module.designer.domain.RadField;
08: import org.romaframework.module.designer.view.domain.radpage.aspect.AspectsPage;
09: import org.romaframework.module.designer.view.domain.radpage.aspect.ChildPage;
10: import org.romaframework.module.designer.view.domain.radpage.aspect.CoreAspectPage;
11:
12: public class FieldAspectsPage extends AspectsPage {
13: protected RadFieldPage field;
14: protected ClassAspectsPage complexClassEditing;
15:
16: public FieldAspectsPage(RadField radField)
17: throws CloneNotSupportedException {
18: super ();
19: RadFieldPage field = new RadFieldPage(radField);
20: this .field = field;
21: addPage(field);
22: // Core aspect
23: addPage(new CoreAspectPage(field.getEntity()
24: .getSchemaFeatures(), null, null));
25: addRegisteredAspects(radField.getSchemaFeatures());
26: }
27:
28: @Override
29: public String toString() {
30: return "Field: " + field.getEntity().getName();
31: }
32:
33: @Override
34: public void cancel() {
35: ObjectContext.getInstance().show(getBackObject());
36: }
37:
38: @Override
39: public void ok() throws Exception {
40: for (ChildPage page : pages) {
41: page.apply();
42: }
43: if (complexClassEditing != null
44: && complexClassEditing.getResult() != null) {
45: complexClassEditing.ok();
46: field.getEntity().getSchemaField().setComplexClass(
47: complexClassEditing.getResult());
48: }
49: ObjectContext.getInstance().show(getBackObject());
50: }
51:
52: public void editComplexClass() throws Exception {
53: if (field.getEntity().getSchemaField().getComplexClass() != null) {
54: if (field.getEntity().getSchemaFeatures().getFeature(
55: CoreAspect.ASPECT_NAME, "embedded").equals(true)) {
56: complexClassEditing = new ChildClassAspectsPage(
57: new RadClass(field.getEntity().getSchemaField()
58: .getComplexClass()));
59: complexClassEditing.setBackObject(this );
60: ObjectContext.getInstance().show(complexClassEditing);
61: } else {
62: ObjectContext.getInstance().show(
63: new MessageOk("", "", null,
64: "ComplexClass not Editable"));
65: }
66: } else {
67: ObjectContext.getInstance().show(
68: new MessageOk("", "", null,
69: "ComplexClass not Editable"));
70: }
71: }
72: }
|