@Discriminator needed a value="" present On Tue, Jul 4, 2017 at 10:17 PM, Stephen Cameron <steve.cameron...@gmail.com > wrote:
> Hi all, > > I am getting a metamodel validation error on the following class and > cannot see a problem. I removed the same error message for multiple classes > by adding a schema param to @PersistenceCapable(), but for this class the > message refuses to go. > > I'll debug it tomorrow evening, but maybe someone else has seen this. > > ################################################ ISIS METAMODEL > VALIDATION ERRORS ############################## > ################################## > > au.com.scds.obatchi.dom.base.Test: the object type must be specified > explicitly ('isis.reflector.validator.explicitObjectType' config > property). Defaulting the object type from the package/class/package name > can lead to data migration issues for apps deployed to production (if the > class is subsequently refactored). Use @Discriminator, > @DomainObject(objectType=...) or @PersistenceCapable(schema=...) to > specify explicitly. > > Please inspect the above messages and correct your domain model. > > ################################################ ISIS METAMODEL > VALIDATION ERRORS ############################## > ################################## > > > package au.com.scds.obatchi.dom.base; > > import javax.jdo.annotations.Column; > import javax.jdo.annotations.Discriminator; > import javax.jdo.annotations.IdentityType; > import javax.jdo.annotations.Inheritance; > import javax.jdo.annotations.InheritanceStrategy; > import javax.jdo.annotations.PersistenceCapable; > import org.apache.isis.applib.annotation.DomainObject; > > > @DomainObject(objectType="Test") > @PersistenceCapable(identityType = IdentityType.DATASTORE, > schema="obatchi") > @Inheritance(strategy = InheritanceStrategy.NEW_TABLE) > @Discriminator(column="discriminator") > public class Test { > > //@XmlElement(name = "test-name", required = true) > @Column(allowsNull = "false") > protected String testName; > > /** > * Gets the value of the testName property. > * > * @return possible object is {@link String } > * > */ > public String getTestName() { > return testName; > } > > /** > * Sets the value of the testName property. > * > * @param value > * allowed object is {@link String } > * > */ > public void setTestName(String value) { > this.testName = value; > } > > } >