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;
    }

}

Reply via email to