View Javadoc
1   /*
2    * Copyright 2001-2008 The Apache Software Foundation.
3    * 
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   *
16   */
17  package org.apache.juddi.config;
18  
19  import org.apache.juddi.subscription.SubscriptionNotifier;
20  import org.apache.juddi.v3.auth.CryptedXMLDocAuthenticator;
21  import org.apache.juddi.v3.auth.LdapExpandedAuthenticator;
22  import org.apache.juddi.v3.auth.LdapSimpleAuthenticator;
23  import org.apache.juddi.v3.auth.MD5XMLDocAuthenticator;
24  
25  /**
26   * This defines constants used for accessing information from jUDDI's
27   * juddiv3.xml file
28   *
29   * @author various
30   */
31  public interface Property {
32  
33          public final static String JUDDI_BASE_URL = "juddi.server.baseurl";
34          public final static String JUDDI_BASE_URL_SECURE = "juddi.server.baseurlsecure";
35  
36          public final static String JUDDI_ROOT_PUBLISHER = "juddi.root.publisher";
37          public final static String JUDDI_LOAD_INSTALL_DATA = "juddi.load.install.data";
38          public final static String JUDDI_PERSISTENCEUNIT_NAME = "juddi.persistenceunit.name";
39          public final static String JUDDI_CONFIGURATION_RELOAD_DELAY = "juddi.configuration.reload.delay";
40  
41          /**
42           * This is not used in the code base
43           */
44      //public final static String JUDDI_LOCALE = "juddi.locale";
45      //public final static String JUDDI_OPERATOR_EMAIL_ADDRESS = "juddi.operatorEmailAddress";
46      //public final static String JUDDI_MAX_LENGTH = "juddi.maxNameLength";
47          //public final static String JUDDI_MAX_NAME_ELEMENTS = "juddi.maxNameElementsAllowed";
48          public final static String JUDDI_MAX_BUSINESSES_PER_PUBLISHER = "juddi.maxBusinessesPerPublisher";
49          public final static String JUDDI_MAX_SERVICES_PER_BUSINESS = "juddi.maxServicesPerBusiness";
50          public final static String JUDDI_MAX_BINDINGS_PER_SERVICE = "juddi.maxBindingsPerService";
51          public final static String JUDDI_MAX_TMODELS_PER_PUBLISHER = "juddi.maxTModelsPerPublisher";
52          public final static String JUDDI_CRYPTOR = "juddi.cryptor";
53          public final static String JUDDI_KEYGENERATOR = "juddi.keygenerator";
54          /**
55           * used by the Jboss authenticator
56           */
57          public final static String JUDDI_SECURITY_DOMAIN = "juddi.auth.securityDomain";
58          public final static String JUDDI_USERSFILE = "juddi.auth.usersfile";
59          public final static String JUDDI_MAX_ROWS = "juddi.maxRows";
60          public final static String JUDDI_MAX_IN_CLAUSE = "juddi.maxInClause";
61          public final static String JUDDI_ROOT_PARTITION = "juddi.root.partition";
62          /**
63           * This is the business id that all of the UDDI services on this node
64           * will be attached too (generally as defined in the install_data)
65           * JUDDI-645
66           */
67          public final static String JUDDI_NODE_ROOT_BUSINESS = "juddi.root.businessId";
68          /**
69           * this is the unique identifier of this uddi service provider,
70           * primarily used for clustered setups with the replication api
71           * JUDDI-645
72           */
73          public final static String JUDDI_NODE_ID = "juddi.nodeId";
74          public final static String JUDDI_TRANSFER_EXPIRATION_DAYS = "juddi.transfer.expiration.days";
75          /**
76           * identifies whether or not authentication is required for the Inquiry
77           * endpoint
78           */
79          public final static String JUDDI_AUTHENTICATE_INQUIRY = "juddi.auth.Inquiry";
80          public final static String JUDDI_AUTH_TOKEN_EXPIRATION = "juddi.auth.token.Expiration";
81          public final static String JUDDI_AUTH_TOKEN_TIMEOUT = "juddi.auth.token.Timeout";
82  
83          /**
84           * when set, auth tokens can only be used from the IP address they were
85           * issued to.
86           *
87           */
88          public final static String JUDDI_AUTH_TOKEN_ENFORCE_SAME_IP = "juddi.auth.token.enforceSameIPRule";
89  
90          /**
91           * Whether not the token is used with each transition, default should be
92           * true
93           */
94          public final static String JUDDI_AUTHENTICATOR_USE_TOKEN = "juddi.auth.authenticator[@useAuthToken]";
95  
96          /**
97           * This points to the class of the authenticator
98           */
99          public final static String JUDDI_AUTHENTICATOR = "juddi.auth.authenticator.class";
100         /**
101          * @see LdapSimpleAuthenticator
102          */
103         public final static String JUDDI_AUTHENTICATOR_URL = "juddi.auth.authenticator.url";
104         /**
105          * @see LdapSimpleAuthenticator
106          */
107         public final static String JUDDI_AUTHENTICATOR_INITIAL_CONTEXT = "juddi.auth.authenticator.initialcontext";
108         /**
109          * @see LdapSimpleAuthenticator
110          */
111         public final static String JUDDI_AUTHENTICATOR_STYLE = "juddi.auth.authenticator.style";
112         /**
113          * @see LdapExpandedAuthenticator
114          */
115         public final static String JUDDI_AUTHENTICATOR_LDAP_EXPANDED_STR = "juddi.auth.authenticator.ldapexp";
116 
117         /**
118          * if enabled, tmodels must exist before using them binding templates
119          * must exist before a subscription can be made access point hosting
120          * redirector/binding template must exist before it can be made
121          *
122          * @since 3.1.5
123          */
124         public final static String JUDDI_ENFORCE_REFERENTIAL_INTEGRITY = "juddi.validation.enforceReferentialIntegrity";
125         public final static String JUDDI_SUBSCRIPTION_EXPIRATION_DAYS = "juddi.subscription.expiration.days";
126         public final static String JUDDI_SUBSCRIPTION_NOTIFICATION = "juddi.subscription.notification";
127         public final static String JUDDI_SUBSCRIPTION_CHUNKEXPIRATION_MINUTES = "juddi.subscription.chunkexpiration.minutes";
128         public final static String JUDDI_SUBSCRIPTION_MAXENTITIES = "juddi.subscription.maxentities";
129 
130         /*
131          * These are not yet used
132          public final static Strin   g JUDDI_SUBSCRIPTION_TRUSTSTORE_TYPE="juddi.subscription.truststore.type";
133          public final static String JUDDI_SUBSCRIPTION_TRUSTSTORE_FILE="juddi.subscription.truststore.filename";
134          public final static String JUDDI_SUBSCRIPTION_TRUSTSTORE_PASSWORD="juddi.subscription.truststore.password";
135          public final static String JUDDI_SUBSCRIPTION_TRUSTSTORE_ENCRYPTED="juddi.subscription.truststore.password[@isPasswordEncrypted]";
136          public final static String JUDDI_SUBSCRIPTION_TRUSTSTORE_CRYPTOPROVIDER="juddi.subscription.truststore.password[@cryptoProvider]";
137     
138     
139          public final static String JUDDI_SUBSCRIPTION_KEYSTORE_TYPE="juddi.subscription.keystore.type";
140          public final static String JUDDI_SUBSCRIPTION_KEYSTORE_FILE="juddi.subscription.keystore.filename";
141          public final static String JUDDI_SUBSCRIPTION_KEYSTORE_PASSWORD="juddi.subscription.keystore.password";
142          public final static String JUDDI_SUBSCRIPTION_KEYALIAS="juddi.subscription.keystore.alias";
143          public final static String JUDDI_SUBSCRIPTION_KEYPASSWORD="juddi.subscription.keystore.keypassword";
144          public final static String JUDDI_SUBSCRIPTION_KEYPASSWORD_ENCRYPTED="juddi.subscription.keystore.keypassword[@isPasswordEncrypted]";
145          public final static String JUDDI_SUBSCRIPTION_KEYPASSWORD_CRYPTOPROVIDER="juddi.subscription.keypassword.password[@cryptoProvider]";
146          public final static String JUDDI_SUBSCRIPTION_KEYSTORE_ENCRYPTED="juddi.subscription.keystore.password[@isPasswordEncrypted]";
147          public final static String JUDDI_SUBSCRIPTION_KEYSTORE_CRYPTOPROVIDER="juddi.subscription.keystore.password[@cryptoProvider]";
148          */
149         public final static String JUDDI_NOTIFICATION_START_BUFFER = "juddi.notification.start.buffer";
150         public final static String JUDDI_NOTIFICATION_INTERVAL = "juddi.notification.interval";
151         /**
152          * default value = 1000
153          *
154          * @see SubscriptionNotifier
155          */
156         public final static String JUDDI_NOTIFICATION_ACCEPTABLE_LAGTIME = "juddi.notification.acceptableLagtime";
157         /**
158          * maximum delivery count
159          *
160          * @see SubscriptionNotifier
161          */
162         public final static String JUDDI_NOTIFICATION_MAX_TRIES = "juddi.notification.maxTries";
163         public final static String JUDDI_NOTIFICATION_LIST_RESET_INTERVAL = "juddi.notification.maxTriesResetInterval";
164         /**
165          * send an auth token with the result set? default is false
166          *
167          * @see SubscriptionNotifier
168          * @since 3.2
169          */
170         public final static String JUDDI_NOTIFICATION_SENDAUTHTOKEN = "juddi.notification.sendAuthTokenWithResultList";
171         @Deprecated
172         public final static String JUDDI_JNDI_REGISTRATION = "juddi.jndi.registration";
173         public final static String JUDDI_RMI_PORT = "juddi.rmi.port";
174         @Deprecated
175         public final static String JUDDI_RMI_REGISTRATION = "juddi.rmi.registration";
176         @Deprecated
177         public final static String JUDDI_RMI_REGISTRY_PORT = "juddi.rmi.registry.port";
178 
179         public final static String JUDDI_EMAIL_PREFIX = "juddi.mail.smtp.prefix";
180         public final static String JUDDI_EMAIL_FROM = "juddi.mail.smtp.from";
181         public final static String DEFAULT_JUDDI_EMAIL_PREFIX = "juddi.";
182         public final static String DEFAULT_CRYPTOR = "org.apache.juddi.v3.client.cryptor.DefaultCryptor";
183         public final static String DEFAULT_USERSFILE = "juddi-users.properties";
184         public final static String DEFAULT_XML_USERSFILE = "juddi-users.xml";
185         /**
186          * @see CryptedXMLDocAuthenticator
187          */
188         public final static String DEFAULT_ENCRYPTED_XML_USERSFILE = "juddi-users-encrypted.xml";
189         /**
190          * @see MD5XMLDocAuthenticator
191          */
192         public final static String DEFAULT_HASHED_XML_USERSFILE = "juddi-users-hashed.xml";
193         public final static String DEFAULT_SECURITY_DOMAIN = "java:/jaas/other";
194         public final static boolean DEFAULT_LOAD_INSTALL_DATA = true;
195         public final static String DEFAULT_BASE_URL = "http://localhost:8080/juddiv3";
196         public final static String DEFAULT_BASE_URL_SECURE = "https://localhost:8443/juddiv3";
197         /* Allowing the the user to override jpa persistence properties in the juddi.properties file */
198         public final static String PERSISTENCE_PROVIDER = "persistenceProvider";
199         public final static String DATASOURCE = "hibernate.connection.datasource";
200         public final static String HBM_DDL_AUTO = "hibernate.hbm2ddl.auto";
201         public final static String DEFAULT_SCHEMA = "hibernate.default_schema";
202         public final static String HIBERNATE_DIALECT = "hibernate.dialect";
203         /**
204          * @since 3.3 FUTURE USE
205          */
206         public final static String JUDDI_ACCESS_CONTROL_PROVIDER = "juddi.accessControlProvider";
207         /**
208          * @since 3.2, used for Apache Commons Configuration XML config file
209          */
210         public static final String ENCRYPTED_ATTRIBUTE = "[@encrypted]";
211 
212         /**
213          * Used for HTTP Header based authentication for web proxies
214          *
215          * @since 3.2.1
216          */
217         public static final String JUDDI_AUTHENTICATOR_HTTP_HEADER_NAME = "juddi.auth.authenticator.header";
218 
219         /**
220          * Records inquiry find* requests to disk, sans auth token
221          *
222          * @since 3.2.1
223          */
224         public final static String JUDDI_LOGGING_FindApiCalls = "juddi.logging.logInquirySearchPayloads";
225         /**
226          * The UDDI v3 spec specifically calls for supporting this, however it
227          * creates significant performance problems in jUDDI when there are a
228          * large number of business and services. Defaults to true if not
229          * defined
230          *
231          * @since 3.3
232          */
233         public static final String JUDDI_ENABLE_FIND_BUSINESS_TMODEL_BAG_FILTERING = "juddi.preformance.enableFindBusinessTModelBagFiltering";
234         /**
235          * When set to true, juddi with reject publish requests when at least
236          * one digitally signed entity cannot be cryptographically validated
237          * JUDDI-862
238          * 
239          * Note: this is a prefix
240          *
241          * @since 3.3
242          */
243         public static final String JUDDI_REJECT_ENTITIES_WITH_INVALID_SIG_PREFIX = "juddi.validation.rejectInvalidSignatures.";
244         /**
245          * @since 3.3.
246          */
247         public static String JUDDI_REJECT_ENTITIES_WITH_INVALID_SIG_ENABLE = "juddi.validation.rejectInvalidSignatures.enable";
248         
249         /**
250          * @since 3.3
251          */
252         public  static final String JUDDI_REPLICATION_GET_CHANGE_RECORDS_MAX="juddi.replication.getChangeRecordsMax";
253         
254         /**
255          * @since 3.3
256          */
257         public static final String JUDDI_REPLICATION_START_BUFFER = "juddi.replication.start.buffer";
258         
259         /**
260          * @since 3.3
261          */
262         public static final String JUDDI_REPLICATION_INTERVAL="juddi.replication.interval";
263 }