Geert,
    That was pseudo code.  It was basically pruned out as part of my
horrible attempt to obfuscate.

Take care,

Jeremy

On 8/15/07, Geert Bevin <[EMAIL PROTECTED]> wrote:
>
> What about your manyToOne constraint pointing to Container and not
> RepositoryContainer?
> .manyToOne(Container.class, "id")
>
> On 15 Aug 2007, at 19:56, Jeremy Whitlock wrote:
>
> >
> > Geert,
> >     I have a database browser that confirms there is a
> > RepositoryContainer with the id of 0.  As for your last thought, I am
> > trying to create a new Repository object, based on form entry, and
> > input that into the database.  When I run Run:
> >
> > if (((Validated)repository).validate(SACUtils.getGenericQueryManager
> > (SVNRepository.class)))
> > {
> >     ....
> > }
> >
> > It never makes it into that block because the .validate(GQM) always
> > returns false.  When I do repository.getContainerId() before the
> > .validate() call, it returns 0.  See anything else?
> >
> > Take care,
> >
> > Jeremy
> >
> > On 8/15/07, Geert Bevin <[EMAIL PROTECTED]> wrote:
> >>
> >> Euhm, hang on. So you have a foreign key from column containerId to
> >> the table that backs to Container class. However, you're here working
> >> with RepositoryContainer tables and inserting into that. Is this
> >> correct? Are you sure you're working with the correct entities?
> >>
> >> On 15 Aug 2007, at 15:07, Jeremy Whitlock wrote:
> >>
> >>>
> >>> Geert,
> >>>     Here is all of the executed SQL (obfuscated):
> >>>
> >>> Aug 15, 2007 7:00:11 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 1ms : CREATE SEQUENCE SEQ_repositorycontainer
> >>> Aug 15, 2007 7:00:11 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 111ms : CREATE TABLE repositorycontainer (active CHAR(1) NOT
> >>> NULL, authzPath LONGVARCHAR NOT NULL, created TIMESTAMP NOT NULL,
> >>> description VARCHAR(256) NOT NULL, displayName VARCHAR(64) NOT NULL,
> >>> id INTEGER NOT NULL, path LONGVARCHAR NOT NULL, serverType VARCHAR
> >>> (8)
> >>> NOT NULL, PRIMARY KEY (id), UNIQUE (id), CHECK (active != ''), CHECK
> >>> (authzPath != ''), CHECK (description != ''), CHECK (displayName !=
> >>> ''), CHECK (path != ''), CHECK (serverType != ''), CHECK (serverType
> >>> IN ('Apache','Serve')))
> >>> Aug 15, 2007 7:00:11 AM
> >>> org.thoughtspark.sac.elements.ApplicationInitializer$Deployer
> >>> install
> >>> INFO: Table created for RepositoryContainer
> >>> Aug 15, 2007 7:00:11 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 0ms : CREATE SEQUENCE SEQ_repository
> >>> Aug 15, 2007 7:00:11 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 29ms : CREATE TABLE repository (active CHAR(1) NOT NULL,
> >>> containerId INTEGER NOT NULL, created TIMESTAMP NOT NULL, dataStore
> >>> VARCHAR(4) NOT NULL, description VARCHAR(256) NOT NULL, displayName
> >>> VARCHAR(64) NOT NULL, id INTEGER NOT NULL, name VARCHAR(64) NOT
> >>> NULL,
> >>> PRIMARY KEY (id), FOREIGN KEY (containerId) REFERENCES
> >>> repositorycontainer (id), UNIQUE (id), CHECK (active != ''), CHECK
> >>> (containerId != 0), CHECK (dataStore != ''), CHECK (dataStore IN
> >>> ('BDB','FSFS')), CHECK (description != ''), CHECK (displayName !=
> >>> ''),
> >>> CHECK (name != ''))
> >>> Aug 15, 2007 7:00:11 AM
> >>> org.thoughtspark.sac.elements.ApplicationInitializer$Deployer
> >>> install
> >>> INFO: Table created for Repository
> >>> Aug 15, 2007 7:01:24 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 36ms : SELECT * FROM Repository WHERE active = 'Y' ORDER BY
> >>> displayName ASC
> >>> Aug 15, 2007 7:01:24 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 2ms : SELECT * FROM RepositoryContainer WHERE active = 'Y'
> >>> ORDER
> >>> BY displayName ASC
> >>> Aug 15, 2007 7:01:35 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 0ms : SELECT * FROM RepositoryContainer WHERE active = 'Y'
> >>> ORDER
> >>> BY displayName ASC
> >>> Aug 15, 2007 7:02:18 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 12ms : SELECT count(*) FROM repositorycontainer WHERE id = -1
> >>> Aug 15, 2007 7:02:18 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 0ms : SELECT count(*) FROM repositorycontainer WHERE
> >>> displayName
> >>> = 'Production Container' AND active = 'Y'
> >>> Aug 15, 2007 7:02:18 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 0ms : SELECT count(*) FROM repositorycontainer WHERE path =
> >>> '/Users/jwhitlock/dev/java/sac/web-app/target/repos' AND active =
> >>> 'Y'
> >>> Aug 15, 2007 7:02:18 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 0ms : CALL NEXT VALUE FOR SEQ_repositorycontainer
> >>> Aug 15, 2007 7:02:18 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 103ms : INSERT INTO repositorycontainer (active, authzPath,
> >>> created, description, displayName, id, path, serverType) VALUES
> >>> (?, ?,
> >>> ?, ?, ?, ?, ?, ?)
> >>> Aug 15, 2007 7:02:19 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 0ms : SELECT * FROM RepositoryContainer WHERE active = 'Y'
> >>> ORDER
> >>> BY displayName ASC
> >>> Aug 15, 2007 7:02:23 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 0ms : SELECT * FROM Repository WHERE active = 'Y' ORDER BY
> >>> displayName ASC
> >>> Aug 15, 2007 7:02:23 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 4ms : SELECT * FROM RepositoryContainer WHERE active = 'Y'
> >>> ORDER
> >>> BY displayName ASC
> >>> Aug 15, 2007 7:02:41 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 1ms : SELECT count(*) FROM repository WHERE id = -1
> >>> Aug 15, 2007 7:02:41 AM com.uwyn.rife.database.DbStatement
> >>> outputTrace
> >>> INFO: 1ms : SELECT * FROM repositorycontainer WHERE id = 0
> >>>
> >>> The above is me successfully creating a RepositoryContainer object
> >>> with the id of 0 and then trying to create a Repository that has a
> >>> containerId of 0.
> >>>
> >>> Take care,
> >>>
> >>> Jeremy
> >>>
> >>> On 8/15/07, Geert Bevin <[EMAIL PROTECTED]> wrote:
> >>>>
> >>>> Hi Jeremy,
> >>>>
> >>>> can you please turn on SQL tracing to see which query is actually
> >>>> executed to perform the validation?
> >>>>
> >>>> You can do this by setting the config parameter SQL_DEBUG_TRACE to
> >>>> true.
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Geert
> >>>>
> >>>> On 15 Aug 2007, at 04:18, Jeremy Whitlock wrote:
> >>>>
> >>>>>
> >>>>> Hi All,
> >>>>>     I have a simple database configuration that looks like so:
> >>>>>
> >>>>> Repository
> >>>>> ----------------
> >>>>> ID (PK)
> >>>>> CONTAINERID (FK)
> >>>>> .....
> >>>>>
> >>>>> Container
> >>>>> --------------
> >>>>> ID (PK)
> >>>>> .....
> >>>>>
> >>>>> In my RepositoryMetaData.java, I have the following constraint:
> >>>>>
> >>>>> .....
> >>>>> addConstraint(new ConstrainedProperty("containerId")
> >>>>>     .notEmpty(true)
> >>>>>     .notNull(true)
> >>>>>     .manyToOne(Container.class, "id")
> >>>>> );
> >>>>> .....
> >>>>>
> >>>>> RIFE creates my tables as expected from the MetaData classes but
> >>>>> when
> >>>>> I try to validate a Repository bean, I get a ValidationError
> >>>>> when I
> >>>>> shouldn't.  The Repository.getContainerId() returns an id of an
> >>>>> existing container but when I do:
> >>>>>
> >>>>> ((Validated)repository).validate(Utils.getGenericQueryManager
> >>>>> (Repository.class))
> >>>>>
> >>>>> I get the following (error is a ValidationError):
> >>>>>
> >>>>> error.getSubject() = INVALID
> >>>>> error.getIdentifier() = containerId
> >>>>> error.getErroneousValue() = null
> >>>>>
> >>>>> Now...I know that there is a valid containerId set in my
> >>>>> Repository
> >>>>> bean but RIFE continues to tell me that the containerId is
> >>>>> invalid.
> >>>>> If my understanding is correct, if I have a Container row with
> >>>>> an id
> >>>>> of 0 and my Repository bean has a containerId of 0, it should be
> >>>>> valid.  Can someone see some error in my logic?  All I want to
> >>>>> do is
> >>>>> store the id of a Container object in my Repository object and
> >>>>> validate properly.  Based on my POJOs and the MetaData for the
> >>>>> POJOs,
> >>>>> I do not see where I'm going wrong.
> >>>>>
> >>>>> Thanks in advance,
> >>>>>
> >>>>> Jeremy
> >>>>>
> >>>>>>
> >>>>
> >>>> --
> >>>> Geert Bevin
> >>>> Terracotta - http://www.terracotta.org
> >>>> Uwyn "Use what you need" - http://uwyn.com
> >>>> RIFE Java application framework - http://rifers.org
> >>>> Music and words - http://gbevin.com
> >>>>
> >>>>
> >>>>>
> >>>>
> >>>
> >>>>
> >>
> >> --
> >> Geert Bevin
> >> Terracotta - http://www.terracotta.org
> >> Uwyn "Use what you need" - http://uwyn.com
> >> RIFE Java application framework - http://rifers.org
> >> Music and words - http://gbevin.com
> >>
> >>
> >>>
> >>
> >
> > >
>
> --
> Geert Bevin
> Terracotta - http://www.terracotta.org
> Uwyn "Use what you need" - http://uwyn.com
> RIFE Java application framework - http://rifers.org
> Music and words - http://gbevin.com
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"rife-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rife-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to