Sure Geert, here they are and I'm including CityMetaData so it is all in one
place. And thanks for the fast reply!

public class CityMetaData extends MetaData<ConstrainedBean,
ConstrainedProperty> {
    public void activateMetaData() {
        addConstraint(new ConstrainedBean()
                .defaultOrder("name")
                .textualIdentifier(new
AbstractTextualIdentifierGenerator<City>() {
            public String generateIdentifier() {
                return mBean.getId() + " : " + mBean.getName();
            }
        }));

        addConstraint(new ConstrainedProperty("id")
                .editable(false).identifier(true));

        addConstraint(new ConstrainedProperty("name")
                .editable(true)
                .notNull(true)
                .listed(true)
                .maxLength(255));

        addConstraint(new ConstrainedProperty("statId")
                .notNull(true).listed(true)
                .manyToOne(Stat.class, "id"));
    }
}

public class StatMetaData extends MetaData<ConstrainedBean,
ConstrainedProperty> {
    public void activateMetaData() {
        addConstraint(new ConstrainedBean()
                .defaultOrder("name")
                .defaultOrder("abreviation")
                .textualIdentifier(new
AbstractTextualIdentifierGenerator<Stat>() {
            public String generateIdentifier() {
                return mBean.getId() + " : " + mBean.getName();
            }
        }));

        addConstraint(new ConstrainedProperty("id")
                .editable(false).identifier(true));

        addConstraint(new ConstrainedProperty("name")
                .notNull(true).notEmpty(true)
                .maxLength(255).listed(true));

        this.addConstraint(new ConstrainedProperty("abbreviation")
                .editable(true)
                .notNull(true)
                .unique(true)
                .maxLength(2));
    }
}

public class City {
    private Integer id;
    private Integer statId;
    private String name;

    public Integer getStatId() {
        return statId;
    }

    public void setStatId(Integer statId) {
        this.statId = statId;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

public class Stat {
    private Integer id;
    private String name;
    private String abbreviation;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAbbreviation() {
        return abbreviation;
    }

    public void setAbbreviation(String abbreviation) {
        this.abbreviation = abbreviation;
    }
}


Geert Bevin wrote:
> 
> Hi Steve,
> 
> can you please paste the City bean, the Stat bean and the  
> StatMetaData class also?
> 
> Best regards,
> 
> Geert
> 
> On 07 Dec 2006, at 22:19, Steve Holmes wrote:
> 
>>
>> Hello All!
>> I have been trying my hand with Rife once again and am a bit  
>> confused with
>> Rife/CRUD.  I am using Rife 1.5.1 and CRUD 1.3.1 and my DB is derby  
>> just
>> like in the tutorial.  I was more or less following Geert's  
>> Tutorial which I
>> think is absolutely great since I use intellij.
>>
>> The problem is that my manyToOne constraints are not producing  
>> select drop
>> downs.  As an example, I have cities and States.  A state can  
>> contain many
>> cities so a city will have a manyToOne constraint.  Here is my  
>> CityMetaData
>> class:
>>
>> public class CityMetaData extends MetaData<ConstrainedBean,
>> ConstrainedProperty> {
>>     public void activateMetaData() {
>>         addConstraint(new ConstrainedBean()
>>                 .defaultOrder("name")
>>                 .textualIdentifier(new
>> AbstractTextualIdentifierGenerator<City>() {
>>             public String generateIdentifier() {
>>                 return mBean.getId() + " : " + mBean.getName();
>>             }
>>         }));
>>
>>         addConstraint(new ConstrainedProperty("id")
>>                 .editable(false).identifier(true));
>>
>>         addConstraint(new ConstrainedProperty("name")
>>                 .editable(true)
>>                 .notNull(true)
>>                 .listed(true)
>>                 .maxLength(255));
>>
>>         addConstraint(new ConstrainedProperty("statId")
>>                 .notNull(true).listed(true)
>>                 .manyToOne(Stat.class, "id"));
>>     }
>> }
>>
>> Notice the manyToOne to statId.  Shouldn't that produce a Select  
>> drop down
>> on the add city page like in the tutorial?  If not, how do I do it?
>>
>> Thanks in advance!
>> -Steve
>> -- 
>> View this message in context: http://www.nabble.com/ManyToOne-and- 
>> Rife-CRUD-tf2777133.html#a7747868
>> Sent from the RIFE - users mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> Rife-users mailing list
>> Rife-users@uwyn.com
>> http://lists.uwyn.com/mailman/listinfo/rife-users
>>
> 
> --
> Geert Bevin
> Uwyn "Use what you need" - http://uwyn.com
> RIFE Java application framework - http://rifers.org
> Music and words - http://gbevin.com
> 
> 
> _______________________________________________
> Rife-users mailing list
> Rife-users@uwyn.com
> http://lists.uwyn.com/mailman/listinfo/rife-users
> 
> 

-- 
View this message in context: 
http://www.nabble.com/ManyToOne-and-Rife-CRUD-tf2777133.html#a7748653
Sent from the RIFE - users mailing list archive at Nabble.com.

_______________________________________________
Rife-users mailing list
Rife-users@uwyn.com
http://lists.uwyn.com/mailman/listinfo/rife-users

Reply via email to