Are you using tapestry-hibernate? If yes, it already creates the ValueEncoder's for your entity classes.

On Tue, 11 Dec 2012 15:17:48 -0200, Borko Djurovic <djurovic.bo...@gmail.com> wrote:

I have two value encoders: LibrarianEncoder and ReaderEncoder.

*LibrarianEncoder.java*
@SuppressWarnings("rawtypes")
public class LibrarianEncoder implements ValueEncoder {
        private Session session;

        public LibrarianEncoder(Session session) {
                this.session = session;
        }

        public String toClient(Object arg0) {
                return ((Librarian)arg0).getId().toString();
        }

        public Object toValue(String arg0) {
                return session.load(Librarian.class, new Long(arg0));
        }
}

Seccond Encoder is like this one.

*AppModule.java*
@SuppressWarnings("rawtypes")
        public static void contributeValueEncoderSource(
                        MappedConfiguration<Class, ValueEncoderFactory> 
configuration,
                        @InjectService("session") final Session session) {

                ValueEncoderFactory librarianFactory = new 
ValueEncoderFactory() {
                        public ValueEncoder create(Class arg0) {
                                return new LibrarianEncoder(session);
                        }
                };
                
                ValueEncoderFactory readerFactory = new ValueEncoderFactory() {
                        public ValueEncoder create(Class arg0) {
                                return new ReaderEncoder(session);
                        }
                };
                configuration.add(Librarian.class, librarianFactory);
                configuration.add(Reader.class, readerFactory);
        }

The problem is that i have conflict:
Exception constructing service 'ValueEncoderSource': Error invoking service
builder method
org.apache.tapestry5.services.TapestryModule.buildValueEncoderSource(Map,
InvalidationEventHub) (at TapestryModule.java:2287) (for service
'ValueEncoderSource'): Error invoking service contribution method
com.fit.library.services.AppModule.contributeValueEncoderSource(MappedConfiguration,
Session): Service contribution (to service 'ValueEncoderSource') conflicts
with existing contribution (by
org.apache.tapestry5.hibernate.HibernateModule.contributeValueEncoderSource(MappedConfiguration,
boolean, HibernateSessionSource, Session, TypeCoercer, PropertyAccess,
LoggerSource) (at HibernateModule.java:89)).

How to resolve this?



--
View this message in context: http://tapestry.1045711.n5.nabble.com/Exception-constructing-service-ValueEncoderSource-tp5718610.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org



--
Thiago H. de Paula Figueiredo

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to