0

I have created two domain classes like below:

Component:

class Component {
    String name;
    Integer orderOfComponent;
    Boolean limitedAccess;
    Date dateCreated;
    String alignment;
    String type;

    static belongsTo = [subpage: Subpage]

    static constraints = {
        name nullable: false, blank: false;
        orderOfComponent nullable:false, blank: false;
        limitedAccess nullable: true, blank: true;
        alignment nullable: true, blank: true, inList: ["left", "right", "center", ""];
        type nullable: false, blank: false, inList: ["text", "image", "document", "html"];
        subpage nullable: false, blank: false;
    }
}

Text:

class Text extends Component {
    String text;
    String color;
    String additionalStyle;
    String textType;
    String link;

    static constraints = {
        text nullable: true, blank: true;
        color nullable: true, blank: true;
        additionalStyle nullable: true, blank: true;
        textType nullable: true, blank: true, inList: ["p", "h1", "h2", "h3", ""];
        link nullable: true, blank: true;
    }
}

Everything is fine when I create instance of Component class:

new Component(name: "component" + i, orderOfComponent: i, limitedAccess: new Boolean(false), alignment: "right", type: "text", subpage: Subpage.get(1)).save(flush:true, failOnError:true);

But I get Error when I try to do similar for Text class:

new Text(name: "componentText", 
        orderOfComponent: 0, 
        limitedAccess: new Boolean(false), 
        alignment: "right", 
        type: "text", 
        subpage: Subpage.get(1), 
        text: "asdasdasdasd", 
        color: "#0F0C0A", 
        additionalStyle: "",
        textType: "p", 
        link: "http://google.pl").save(flush:true, failOnError:true);

Error:

Error 2014-01-28 02:27:10,453 [localhost-startStop-1] ERROR context.GrailsContextLoader  - Error initializing the application: Validation Error(s) occurred during save():
- Field error in object 'adminpanel.component.Text' on field 'type': rejected value [null]; (...)

And also very similar "Message".

Does someone know why I cannot create an instance of the Text class or how to use constructor of inheritor class properly? Thanks in advance.

dmahapatro
  • 49,365
  • 7
  • 88
  • 117
kmb
  • 871
  • 5
  • 17
  • 34

0 Answers0