1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 package org.equanda.tapestry5.services;
26
27 import org.apache.tapestry5.Translator;
28 import org.apache.tapestry5.ioc.Configuration;
29 import org.apache.tapestry5.ioc.MappedConfiguration;
30 import org.apache.tapestry5.ioc.OrderedConfiguration;
31 import org.apache.tapestry5.ioc.annotations.InjectService;
32 import org.apache.tapestry5.services.*;
33 import org.equanda.tapestry5.bindings.ManifestBindingPrefixFactory;
34 import org.equanda.tapestry5.translators.BooleanTranslator;
35 import org.equanda.tapestry5.translators.DoubleTranslator;
36 import org.equanda.tapestry5.translators.TimestampTranslator;
37
38 import java.io.IOException;
39
40
41
42
43
44
45 public final class EquandaModule
46 {
47 private EquandaModule() {}
48
49 public static void contributeComponentClassResolver( Configuration<LibraryMapping> configuration )
50 {
51 configuration.add( new LibraryMapping( "equanda", "org.equanda.tapestry5" ) );
52 }
53
54
55
56
57
58
59
60 public static void contributeTranslatorSource( Configuration<Translator> configuration )
61 {
62 configuration.add( new DoubleTranslator() );
63 configuration.add( new TimestampTranslator() );
64 configuration.add( new BooleanTranslator() );
65 }
66
67 public static void contributeFactoryDefaults( MappedConfiguration<String, String> configuration )
68 {
69 configuration.add( "equanda.truncate.default.length", "30" );
70 configuration.add( "equanda.truncate.default.suffix", "..." );
71 configuration.add( "equanda.inlinelinklist.additional.row.count", "5" );
72 configuration.add( "equanda.inlineprimitivelist.additional.row.count", "5" );
73 }
74
75 public static RequestFilter buildUtf8Filter(
76 @InjectService( "RequestGlobals" ) final RequestGlobals requestGlobals )
77 {
78 return new RequestFilter()
79 {
80 public boolean service( Request request, Response response, RequestHandler handler )
81 throws IOException
82 {
83 requestGlobals.getHTTPServletRequest().setCharacterEncoding( "UTF-8" );
84 return handler.service( request, response );
85 }
86 };
87 }
88
89 public static void contributeRequestHandler( OrderedConfiguration<RequestFilter> configuration,
90 @InjectService( "Utf8Filter" ) final RequestFilter utf8Filter )
91 {
92 configuration.add( "Utf8Filter", utf8Filter );
93 }
94
95
96
97
98
99
100 public static void contributeBindingSource( MappedConfiguration<String, BindingFactory> configuration )
101 {
102 configuration.add( "manifest", new ManifestBindingPrefixFactory() );
103 }
104
105 }