Dave wrote:
On 12/16/06, Allen Gilliland <[EMAIL PROTECTED]> wrote:
I don't understand this. Adding the planet pojos back into the Roller
Weblogger hibernate mapping file won't do you any good because the
Hibernate SessionFactory which manages all the Roller Weblogger objects
will never come in contact with the Roller Planet pojos anymore.
The way it is designed to work now is that there are 2 SessionFactories,
1 for the Roller Weblogger objects which is managed by the Roller
business layer and a 2nd SessionFactory for the Roller Planet objects
which is managed by the Planet business layer. So these bits of code ...
RollerFactory.getRoller().getXXXManager().doSomething()
PlanetFactory.getPlanet().getXXXManager().doSomething()
... are operating on different SessionFactories by design. This is all
configured using the planet.properties file and the
planet-hibernate.cfg.xml files in the web/WEB-INF/classes directory.
The planet.properties file indicates that we want to use
planet-hibernate.cfg.xml as our hibernate config resource file and that
file is used when loading the SessionFactory used for managing the
Planet business layer.
I have tested all of this out and it's all working properly, so I'm not
sure why you needed this commit or how it could have fixed anything.
(Thanks for the quick review)
I was getting the exception below when doing a save in the Planet
Config page, so I figured that you had not done all the work necessary
to read/process both config files. I added the planet POJO mappings
and the exception went away.
That's strange. I tested out all the planet functions from within the
Roller Weblogger UI a number of times and didn't have any problems with
it, which is why I committed the hibernate config with the planet pojos
commented out.
Did you somehow not get all the updated code or possibly mix some config
files with versions that you have which are changed? What version of
the src are you building?
If you are building from the trunk then the planet business layer code
is all in the new apps/planet app workspace and the code should show
that when it loads the planet manager via PlanetFactory.getPlanet() that
the hibernate resources file used to configure the hibernate mappings
should be the one defined in the planet.properties file. So if the
PlanetConfig is properly loading the planet.properties file from within
the webapp then it should tell the planet code to use
planet-hibernate.cfg.xml as the hibernate resource file.
Maybe you have multiple planet.properties files in your classpath
somehow and it's picking up the wrong one?
Technically there shouldn't be any problems created by what you did, but
it's also not the best way to have things configured.
-- Allen
ERROR 2006-12-16 12:56:14,840 StandardWrapperValve:invoke -
Servlet.service() for servlet action threw exception
org.hibernate.MappingException: Unknown entity:
org.apache.roller.planet.pojos.PlanetConfigData
at
org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:513)
at
org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1321)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:180)
... blah blah blah...
org.apache.roller.planet.business.hibernate.HibernatePlanetManagerImpl.saveConfiguration(HibernatePlanetManagerImpl.java:72)
at
org.apache.roller.planet.ui.admin.struts.actions.PlanetConfigAction.saveConfig(PlanetConfigAction.java:139)
Looks like HibernatePlanetImpl might need some work -- perhaps it's
still loading the old hibernate.cfg.xml file and not the new planet
one?
- Dave
-- Allen
[EMAIL PROTECTED] wrote:
> Author: snoopdave
> Date: Fri Dec 15 19:11:53 2006
> New Revision: 487751
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=487751
> Log:
> Until we can load both Weblogger and Planet O/R mappings, we still
need planet objects in the mapping file
>
> Modified:
>
incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml
>
> Modified:
incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml
> URL:
http://svn.apache.org/viewvc/incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml?view=diff&rev=487751&r1=487750&r2=487751
>
==============================================================================
> ---
incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml
(original)
> +++
incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml
Fri Dec 15 19:11:53 2006
> @@ -67,5 +67,11 @@
> <mapping
resource="org/apache/roller/pojos/EntryAttributeData.hbm.xml" />
> <mapping
resource="org/apache/roller/pojos/WeblogCategoryData.hbm.xml" />
>
> + <!-- Until we can load both Weblogger and Planet config
files, we need these -->
> + <mapping
resource="org/apache/roller/planet/pojos/PlanetConfigData.hbm.xml" />
> + <mapping
resource="org/apache/roller/planet/pojos/PlanetGroupData.hbm.xml" />
> + <mapping
resource="org/apache/roller/planet/pojos/PlanetEntryData.hbm.xml" />
> + <mapping
resource="org/apache/roller/planet/pojos/PlanetSubscriptionData.hbm.xml"
/>
> +
> </session-factory>
> </hibernate-configuration>
>
>