Thanks Chris

This is really helpful. Getting an error that I can't parse hibernate.cfg.xml 
at the moment but I should be able to work it out.

Tim


On 5 Aug 2014, at 12:27, Chris Mylonas <ch...@opencsta.org> wrote:

> And here's some notes from my wiki for a tapestry-security file based auth
> and hibernate for entities.
> I'm also in +10 timezone down in Sydney - so the replies will come later in
> the day usually :)
> 
> Skeleton
> 
>   - Create quickstart tapestry archetype
> 
> [edit
> <https://bondiwiki.mrvoip.com.au/index.php?title=Tapestry_Hibernate_Security&action=edit&section=2>
> ]Change dependencies
> 
>   - Add in these dependencies replacing tapestry-core
> 
>               <dependency>
>                       <groupId>org.apache.tapestry</groupId>
>                       <artifactId>tapestry-hibernate</artifactId>
>                       <version>5.3.7</version>
>               </dependency>
>                <dependency>
>                  <groupId>org.tynamo</groupId>
>                  <artifactId>tapestry-security</artifactId>
>                  <version>0.5.1</version>
>                </dependency>
>               <dependency>
>                       <groupId>hsqldb</groupId>
>                       <artifactId>hsqldb</artifactId>
>                       <version>1.8.0.7</version>
>               </dependency>
>                <dependency>
>                        <groupId>org.got5</groupId>
>                        <artifactId>tapestry5-jquery</artifactId>
>                        <version>3.3.7</version>
>                </dependency>
> 
> 
> ...
>    <repository>
>        <id>devlab722-repo</id>
>        <url>http://nexus.devlab722.net/nexus/content/repositories/releases
>        </url>
>        <snapshots>
>            <enabled>false</enabled>
>        </snapshots>
>    </repository>
> 
>    <repository>
>        <id>devlab722-snapshot-repo</id>
>        <url>http://nexus.devlab722.net/nexus/content/repositories/snapshots
>        </url>
>        <releases>
>            <enabled>false</enabled>
>        </releases>
>    </repository>
> ...
> 
> 
> 
> 
>   - Running in jetty at this stage will yield this error in the browser
> 
> HTTP ERROR 500
> 
> Problem accessing /TapestryHibernateSecurity/. Reason:
> 
>    Exception constructing service 'WebSecurityManager': Error
> invoking constructor public
> org.tynamo.security.services.TapestryRealmSecurityManager(org.tynamo.security.Authenticator,org.apache.shiro.mgt.SubjectFactory,org.apache.shiro.mgt.RememberMeManager,java.util.Collection):
> Realms collection argument cannot be empty.
> 
> Caused by:
> 
> java.lang.RuntimeException: Exception constructing service
> 'WebSecurityManager': Error invoking constructor public
> org.tynamo.security.services.TapestryRealmSecurityManager(org.tynamo.security.Authenticator,org.apache.shiro.mgt.SubjectFactory,org.apache.shiro.mgt.RememberMeManager,java.util.Collection):
> Realms collection argument cannot be empty.
>       at 
> org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:75)
> 
> 
> Because Tapestry has an IoC container that does dependency injection, each
> service tapetry uses needs to be configured within a module. The default
> place for application specific services to be set up is in AppModule.
> [edit
> <https://bondiwiki.mrvoip.com.au/index.php?title=Tapestry_Hibernate_Security&action=edit&section=3>
> ]Add realm to security service
> 
> So we need to contribute some web security manager realm info by adding a
> realm.
> 
>   - Add websecuritymanager realm into AppModule
> 
> ...
> import org.tynamo.shiro.extension.realm.text.ExtendedPropertiesRealm;
> import org.apache.shiro.realm.Realm;
> import org.apache.shiro.web.mgt.WebSecurityManager;
> ...
> 
> @Contribute(WebSecurityManager.class)
> public static void addRealms(Configuration<Realm> configuration) {
>       ExtendedPropertiesRealm realm = new
> ExtendedPropertiesRealm("classpath:shiro-users.properties");
>       configuration.add(realm);
> }
> 
> [edit
> <https://bondiwiki.mrvoip.com.au/index.php?title=Tapestry_Hibernate_Security&action=edit&section=4>
> ]Shiro users properties
> 
> And also add shiro-users.properties to the classpath (src/main/resources)
> 
> touch srm/main/resources/shiro-users.properties
> 
> 
>   - Firing up application now yields hibernate errors.
> 
> HTTP ERROR 500
> 
> Problem accessing /TapestryHibernateSecurity/. Reason:
> 
>    java.lang.RuntimeException: Exception constructing service
> 'ValueEncoderSource': Error invoking service contribution method
> org.apache.tapestry5.hibernate.HibernateModule.contributeValueEncoderSource(MappedConfiguration,
> boolean, HibernateSessionSource, Session, TypeCoercer, PropertyAccess,
> LoggerSource): Exception constructing service
> 'HibernateSessionSource': Error invoking constructor public
> org.apache.tapestry5.internal.hibernate.HibernateSessionSourceImpl(org.slf4j.Logger,java.util.List):
> /hibernate.cfg.xml not found
> 
> Caused by:
> 
> org.apache.shiro.subject.ExecutionException:
> java.lang.RuntimeException: Exception constructing service
> 'ValueEncoderSource': Error invoking service contribution method
> org.apache.tapestry5.hibernate.HibernateModule.contributeValueEncoderSource(MappedConfiguration,
> boolean, HibernateSessionSource, Session, TypeCoercer, PropertyAccess,
> LoggerSource): Exception constructing service
> 'HibernateSessionSource': Error invoking constructor public
> org.apache.tapestry5.internal.hibernate.HibernateSessionSourceImpl(org.slf4j.Logger,java.util.List):
> /hibernate.cfg.xml not found
>       at 
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:382)
> 
> 
> [edit
> <https://bondiwiki.mrvoip.com.au/index.php?title=Tapestry_Hibernate_Security&action=edit&section=5>
> ]add in the hibernate configuration
> 
>   - Add hibernate configuration for derby db
> 
> src/main/resources/hibernate.cfg.xml
> <!DOCTYPE hibernate-configuration PUBLIC
>        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
>        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd";>
> <hibernate-configuration>
>    <session-factory>
>        <property
> name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
>        <property
> name="hibernate.connection.url">jdbc:hsqldb:./target/work/t5hibernatesecurity;shutdown=true</property>
>        <property
> name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
>        <property name="hibernate.connection.username">sa</property>
>        <property name="hibernate.connection.password"></property>
>        <property name="hbm2ddl.auto">update</property>
>        <property name="hibernate.show_sql">true</property>
>        <property name="hibernate.format_sql">true</property>
>    </session-factory>
> </hibernate-configuration>
> 
> 
> 
> 
> 
> 
> 
> On Tue, Aug 5, 2014 at 12:19 PM, Chris Mylonas <ch...@opencsta.org> wrote:
> 
>> Hi Tim,
>> 
>> I had sample code in a repo I was making a variations project to split
>> hairs on how to do the same thing using different ways.
>> 
>> Unforch that repo was lost by a VPS provider although I have the latest
>> got tree it is def not share-able ATM.
>> 
>> Do a Google search for "github eloquentia Thiago tapestry" and you'll find
>> thiago's excellent sample to get you going from a file based thing to
>> database.
>> 
>> Eloquentia may use nosql but you will be able to work it out - I did and
>> I'm by far nowhere in the league of others on the list :)
>> 
>> HTH
>> Chris
>> On 05/08/2014 11:43 am, "D Tim Cummings" <t...@triptera.com.au> wrote:
>> 
>>> I am having a look at the tapestry-security guide at
>>> http://tynamo.org/tapestry-security+guide and several of the links are
>>> broken
>>> 
>>> Hibernate-based entity realm (service)
>>> <http://svn.codehaus.org/tynamo/trunk/tynamo-federatedaccounts/tynamo-federatedaccounts-core/src/test/java/org/tynamo/security/federatedaccounts/testapp/services/UserRealm.java>
>>>  points
>>> to
>>> http://svn.codehaus.org/tynamo/trunk/tynamo-federatedaccounts/tynamo-federatedaccounts-core/src/test/java/org/tynamo/security/federatedaccounts/testapp/services/UserRealm.java
>>> (404 Not found)
>>> 
>>> User entity used by the realm sample referred to above
>>> <http://svn.codehaus.org/tynamo/trunk/tynamo-federatedaccounts/tynamo-federatedaccounts-core/src/test/java/org/tynamo/security/federatedaccounts/testapp/entities/User.java>
>>>  points
>>> to
>>> http://svn.codehaus.org/tynamo/trunk/tynamo-federatedaccounts/tynamo-federatedaccounts-core/src/test/java/org/tynamo/security/federatedaccounts/testapp/entities/User.java
>>> (404 Not found)
>>> 
>>> tapestry-exceptionpage <http://tynamo.org/tapestry-security+guide> points
>>> to the tapestry-security guide page that we are reading.
>>> 
>>> full-featured integration test web app
>>> <http://svn.codehaus.org/tynamo/trunk/tapestry-security/src/test/java/org/tynamo/security/testapp/>
>>>  should
>>> probably point to github
>>> https://github.com/tynamo/tapestry-security/tree/master/src/test/java/org/tynamo/security/testapp
>>> 
>>> template
>>> <http://svn.codehaus.org/tynamo/trunk/tapestry-security/src/test/resources/org/tynamo/security/testapp/pages/Index.tml>
>>>  should
>>> probably point to github
>>> https://github.com/tynamo/tapestry-security/blob/master/src/test/resources/org/tynamo/security/testapp/pages/Index.tml
>>> 
>>> class
>>> <http://svn.codehaus.org/tynamo/trunk/tapestry-security/src/test/java/org/tynamo/security/testapp/pages/Index.java>
>>>  should
>>> probably point to github
>>> https://github.com/tynamo/tapestry-security/blob/master/src/test/java/org/tynamo/security/testapp/pages/Index.java
>>> 
>>> AlphaService
>>> <http://svn.codehaus.org/tynamo/trunk/tapestry-security/src/test/java/org/tynamo/security/testapp/services/AlphaService.java>
>>>  should
>>> probably point to github
>>> https://github.com/tynamo/tapestry-security/blob/master/src/test/java/org/tynamo/security/testapp/services/AlphaService.java
>>> 
>>> http://svn.codehaus.org/tynamo/trunk/tynamo-example-federatedaccounts should
>>> probably point to github
>>> https://github.com/tynamo/tynamo-example-federatedaccounts
>>> 
>>> AppModule
>>> <http://svn.codehaus.org/tynamo/trunk/tynamo-example-federatedaccounts/src/main/java/org/tynamo/examples/federatedaccounts/services/AppModule.java>
>>>  should
>>> probably point to github
>>> https://github.com/tynamo/tynamo-example-federatedaccounts/blob/master/src/main/java/org/tynamo/examples/federatedaccounts/services/AppModule.java
>>> 
>>> 
>>> 
>>> I am really looking for sample code of an implementation of
>>> tapestry-security with Cayenne (or Hibernate) using Tapestry 5.3.7,
>>> tapestry-security 0.5.1. I don't need federated accounts at this stage.
>>> 
>>> 
>>> 
>>> Regards
>>> 
>>> Tim
>>> 
>> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to