You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ConfigurationRegistryReader.java 75KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704
  1. package org.apache.archiva.configuration.provider.io.registry;
  2. /*
  3. * Licensed to the Apache Software Foundation (ASF) under one
  4. * or more contributor license agreements. See the NOTICE file
  5. * distributed with this work for additional information
  6. * regarding copyright ownership. The ASF licenses this file
  7. * to you under the Apache License, Version 2.0 (the
  8. * "License"); you may not use this file except in compliance
  9. * with the License. You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. * Unless required by applicable law or agreed to in writing,
  13. * software distributed under the License is distributed on an
  14. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15. * KIND, either express or implied. See the License for the
  16. * specific language governing permissions and limitations
  17. * under the License.
  18. */
  19. import org.apache.archiva.components.registry.Registry;
  20. import org.apache.archiva.configuration.model.AbstractRepositoryConfiguration;
  21. import org.apache.archiva.configuration.model.AbstractRepositoryConnectorConfiguration;
  22. import org.apache.archiva.configuration.model.ArchivaDefaultConfiguration;
  23. import org.apache.archiva.configuration.model.ArchivaRuntimeConfiguration;
  24. import org.apache.archiva.configuration.model.CacheConfiguration;
  25. import org.apache.archiva.configuration.model.Configuration;
  26. import org.apache.archiva.configuration.model.FileLockConfiguration;
  27. import org.apache.archiva.configuration.model.FileType;
  28. import org.apache.archiva.configuration.model.LdapConfiguration;
  29. import org.apache.archiva.configuration.model.LdapGroupMapping;
  30. import org.apache.archiva.configuration.model.LegacyArtifactPath;
  31. import org.apache.archiva.configuration.model.ManagedRepositoryConfiguration;
  32. import org.apache.archiva.configuration.model.NetworkConfiguration;
  33. import org.apache.archiva.configuration.model.NetworkProxyConfiguration;
  34. import org.apache.archiva.configuration.model.OrganisationInformation;
  35. import org.apache.archiva.configuration.model.ProxyConnectorConfiguration;
  36. import org.apache.archiva.configuration.model.ProxyConnectorRuleConfiguration;
  37. import org.apache.archiva.configuration.model.RedbackRuntimeConfiguration;
  38. import org.apache.archiva.configuration.model.RemoteRepositoryConfiguration;
  39. import org.apache.archiva.configuration.model.RepositoryCheckPath;
  40. import org.apache.archiva.configuration.model.RepositoryGroupConfiguration;
  41. import org.apache.archiva.configuration.model.RepositoryScanningConfiguration;
  42. import org.apache.archiva.configuration.model.SyncConnectorConfiguration;
  43. import org.apache.archiva.configuration.model.UserInterfaceOptions;
  44. import org.apache.archiva.configuration.model.WebappConfiguration;
  45. import java.util.Iterator;
  46. import java.util.List;
  47. // Util imports
  48. // Model class imports
  49. /**
  50. * Generate Redback Registry input mechanism for model 'Configuration'.
  51. */
  52. public class ConfigurationRegistryReader {
  53. public Configuration read( Registry registry) {
  54. return readConfiguration("", registry);
  55. }
  56. private Configuration readConfiguration(String prefix, Registry registry) {
  57. Configuration value = new Configuration();
  58. //String version = registry.getString( prefix + "version", value.getVersion() );
  59. List<String> versionList = registry.getList(prefix + "version");
  60. String version = value.getVersion();
  61. if (versionList != null && !versionList.isEmpty()) {
  62. StringBuilder sb = new StringBuilder();
  63. for (int i = 0, size = versionList.size(); i < size; i++) {
  64. sb.append(versionList.get(i));
  65. if (i < size - 1) {
  66. sb.append(',');
  67. }
  68. }
  69. version = sb.toString();
  70. }
  71. value.setVersion(version);
  72. //String metadataStore = registry.getString( prefix + "metadataStore", value.getMetadataStore() );
  73. List<String> metadataStoreList = registry.getList(prefix + "metadataStore");
  74. String metadataStore = value.getMetadataStore();
  75. if (metadataStoreList != null && !metadataStoreList.isEmpty()) {
  76. StringBuilder sb = new StringBuilder();
  77. for (int i = 0, size = metadataStoreList.size(); i < size; i++) {
  78. sb.append(metadataStoreList.get(i));
  79. if (i < size - 1) {
  80. sb.append(',');
  81. }
  82. }
  83. metadataStore = sb.toString();
  84. }
  85. value.setMetadataStore(metadataStore);
  86. java.util.List repositoryGroups = new java.util.ArrayList/*<RepositoryGroupConfiguration>*/();
  87. List repositoryGroupsSubsets = registry.getSubsetList(prefix + "repositoryGroups.repositoryGroup");
  88. for (Iterator i = repositoryGroupsSubsets.iterator(); i.hasNext(); ) {
  89. RepositoryGroupConfiguration v = readRepositoryGroupConfiguration("", (Registry) i.next());
  90. repositoryGroups.add(v);
  91. }
  92. value.setRepositoryGroups(repositoryGroups);
  93. java.util.List managedRepositories = new java.util.ArrayList/*<ManagedRepositoryConfiguration>*/();
  94. List managedRepositoriesSubsets = registry.getSubsetList(prefix + "managedRepositories.managedRepository");
  95. for (Iterator i = managedRepositoriesSubsets.iterator(); i.hasNext(); ) {
  96. ManagedRepositoryConfiguration v = readManagedRepositoryConfiguration("", (Registry) i.next());
  97. managedRepositories.add(v);
  98. }
  99. value.setManagedRepositories(managedRepositories);
  100. java.util.List remoteRepositories = new java.util.ArrayList/*<RemoteRepositoryConfiguration>*/();
  101. List remoteRepositoriesSubsets = registry.getSubsetList(prefix + "remoteRepositories.remoteRepository");
  102. for (Iterator i = remoteRepositoriesSubsets.iterator(); i.hasNext(); ) {
  103. RemoteRepositoryConfiguration v = readRemoteRepositoryConfiguration("", (Registry) i.next());
  104. remoteRepositories.add(v);
  105. }
  106. value.setRemoteRepositories(remoteRepositories);
  107. java.util.List proxyConnectors = new java.util.ArrayList/*<ProxyConnectorConfiguration>*/();
  108. List proxyConnectorsSubsets = registry.getSubsetList(prefix + "proxyConnectors.proxyConnector");
  109. for (Iterator i = proxyConnectorsSubsets.iterator(); i.hasNext(); ) {
  110. ProxyConnectorConfiguration v = readProxyConnectorConfiguration("", (Registry) i.next());
  111. proxyConnectors.add(v);
  112. }
  113. value.setProxyConnectors(proxyConnectors);
  114. java.util.List networkProxies = new java.util.ArrayList/*<NetworkProxyConfiguration>*/();
  115. List networkProxiesSubsets = registry.getSubsetList(prefix + "networkProxies.networkProxy");
  116. for (Iterator i = networkProxiesSubsets.iterator(); i.hasNext(); ) {
  117. NetworkProxyConfiguration v = readNetworkProxyConfiguration("", (Registry) i.next());
  118. networkProxies.add(v);
  119. }
  120. value.setNetworkProxies(networkProxies);
  121. java.util.List legacyArtifactPaths = new java.util.ArrayList/*<LegacyArtifactPath>*/();
  122. List legacyArtifactPathsSubsets = registry.getSubsetList(prefix + "legacyArtifactPaths.legacyArtifactPath");
  123. for (Iterator i = legacyArtifactPathsSubsets.iterator(); i.hasNext(); ) {
  124. LegacyArtifactPath v = readLegacyArtifactPath("", (Registry) i.next());
  125. legacyArtifactPaths.add(v);
  126. }
  127. value.setLegacyArtifactPaths(legacyArtifactPaths);
  128. RepositoryScanningConfiguration repositoryScanning = readRepositoryScanningConfiguration(prefix + "repositoryScanning.", registry);
  129. value.setRepositoryScanning(repositoryScanning);
  130. WebappConfiguration webapp = readWebappConfiguration(prefix + "webapp.", registry);
  131. value.setWebapp(webapp);
  132. OrganisationInformation organisationInfo = readOrganisationInformation(prefix + "organisationInfo.", registry);
  133. value.setOrganisationInfo(organisationInfo);
  134. NetworkConfiguration networkConfiguration = readNetworkConfiguration(prefix + "networkConfiguration.", registry);
  135. value.setNetworkConfiguration(networkConfiguration);
  136. RedbackRuntimeConfiguration redbackRuntimeConfiguration = readRedbackRuntimeConfiguration(prefix + "redbackRuntimeConfiguration.", registry);
  137. value.setRedbackRuntimeConfiguration(redbackRuntimeConfiguration);
  138. ArchivaRuntimeConfiguration archivaRuntimeConfiguration = readArchivaRuntimeConfiguration(prefix + "archivaRuntimeConfiguration.", registry);
  139. value.setArchivaRuntimeConfiguration(archivaRuntimeConfiguration);
  140. java.util.List proxyConnectorRuleConfigurations = new java.util.ArrayList/*<ProxyConnectorRuleConfiguration>*/();
  141. List proxyConnectorRuleConfigurationsSubsets = registry.getSubsetList(prefix + "proxyConnectorRuleConfigurations.proxyConnectorRuleConfiguration");
  142. for (Iterator i = proxyConnectorRuleConfigurationsSubsets.iterator(); i.hasNext(); ) {
  143. ProxyConnectorRuleConfiguration v = readProxyConnectorRuleConfiguration("", (Registry) i.next());
  144. proxyConnectorRuleConfigurations.add(v);
  145. }
  146. value.setProxyConnectorRuleConfigurations(proxyConnectorRuleConfigurations);
  147. ArchivaDefaultConfiguration archivaDefaultConfiguration = readArchivaDefaultConfiguration(prefix + "archivaDefaultConfiguration.", registry);
  148. value.setArchivaDefaultConfiguration(archivaDefaultConfiguration);
  149. return value;
  150. }
  151. private AbstractRepositoryConfiguration readAbstractRepositoryConfiguration( String prefix, Registry registry) {
  152. AbstractRepositoryConfiguration value = new AbstractRepositoryConfiguration();
  153. //String id = registry.getString( prefix + "id", value.getId() );
  154. List<String> idList = registry.getList(prefix + "id");
  155. String id = value.getId();
  156. if (idList != null && !idList.isEmpty()) {
  157. StringBuilder sb = new StringBuilder();
  158. for (int i = 0, size = idList.size(); i < size; i++) {
  159. sb.append(idList.get(i));
  160. if (i < size - 1) {
  161. sb.append(',');
  162. }
  163. }
  164. id = sb.toString();
  165. }
  166. value.setId(id);
  167. //String type = registry.getString( prefix + "type", value.getType() );
  168. List<String> typeList = registry.getList(prefix + "type");
  169. String type = value.getType();
  170. if (typeList != null && !typeList.isEmpty()) {
  171. StringBuilder sb = new StringBuilder();
  172. for (int i = 0, size = typeList.size(); i < size; i++) {
  173. sb.append(typeList.get(i));
  174. if (i < size - 1) {
  175. sb.append(',');
  176. }
  177. }
  178. type = sb.toString();
  179. }
  180. value.setType(type);
  181. //String name = registry.getString( prefix + "name", value.getName() );
  182. List<String> nameList = registry.getList(prefix + "name");
  183. String name = value.getName();
  184. if (nameList != null && !nameList.isEmpty()) {
  185. StringBuilder sb = new StringBuilder();
  186. for (int i = 0, size = nameList.size(); i < size; i++) {
  187. sb.append(nameList.get(i));
  188. if (i < size - 1) {
  189. sb.append(',');
  190. }
  191. }
  192. name = sb.toString();
  193. }
  194. value.setName(name);
  195. //String layout = registry.getString( prefix + "layout", value.getLayout() );
  196. List<String> layoutList = registry.getList(prefix + "layout");
  197. String layout = value.getLayout();
  198. if (layoutList != null && !layoutList.isEmpty()) {
  199. StringBuilder sb = new StringBuilder();
  200. for (int i = 0, size = layoutList.size(); i < size; i++) {
  201. sb.append(layoutList.get(i));
  202. if (i < size - 1) {
  203. sb.append(',');
  204. }
  205. }
  206. layout = sb.toString();
  207. }
  208. value.setLayout(layout);
  209. //String indexDir = registry.getString( prefix + "indexDir", value.getIndexDir() );
  210. List<String> indexDirList = registry.getList(prefix + "indexDir");
  211. String indexDir = value.getIndexDir();
  212. if (indexDirList != null && !indexDirList.isEmpty()) {
  213. StringBuilder sb = new StringBuilder();
  214. for (int i = 0, size = indexDirList.size(); i < size; i++) {
  215. sb.append(indexDirList.get(i));
  216. if (i < size - 1) {
  217. sb.append(',');
  218. }
  219. }
  220. indexDir = sb.toString();
  221. }
  222. value.setIndexDir(indexDir);
  223. //String packedIndexDir = registry.getString( prefix + "packedIndexDir", value.getPackedIndexDir() );
  224. List<String> packedIndexDirList = registry.getList(prefix + "packedIndexDir");
  225. String packedIndexDir = value.getPackedIndexDir();
  226. if (packedIndexDirList != null && !packedIndexDirList.isEmpty()) {
  227. StringBuilder sb = new StringBuilder();
  228. for (int i = 0, size = packedIndexDirList.size(); i < size; i++) {
  229. sb.append(packedIndexDirList.get(i));
  230. if (i < size - 1) {
  231. sb.append(',');
  232. }
  233. }
  234. packedIndexDir = sb.toString();
  235. }
  236. value.setPackedIndexDir(packedIndexDir);
  237. //String description = registry.getString( prefix + "description", value.getDescription() );
  238. List<String> descriptionList = registry.getList(prefix + "description");
  239. String description = value.getDescription();
  240. if (descriptionList != null && !descriptionList.isEmpty()) {
  241. StringBuilder sb = new StringBuilder();
  242. for (int i = 0, size = descriptionList.size(); i < size; i++) {
  243. sb.append(descriptionList.get(i));
  244. if (i < size - 1) {
  245. sb.append(',');
  246. }
  247. }
  248. description = sb.toString();
  249. }
  250. value.setDescription(description);
  251. return value;
  252. }
  253. private RemoteRepositoryConfiguration readRemoteRepositoryConfiguration(String prefix, Registry registry) {
  254. RemoteRepositoryConfiguration value = new RemoteRepositoryConfiguration();
  255. //String url = registry.getString( prefix + "url", value.getUrl() );
  256. List<String> urlList = registry.getList(prefix + "url");
  257. String url = value.getUrl();
  258. if (urlList != null && !urlList.isEmpty()) {
  259. StringBuilder sb = new StringBuilder();
  260. for (int i = 0, size = urlList.size(); i < size; i++) {
  261. sb.append(urlList.get(i));
  262. if (i < size - 1) {
  263. sb.append(',');
  264. }
  265. }
  266. url = sb.toString();
  267. }
  268. value.setUrl(url);
  269. //String username = registry.getString( prefix + "username", value.getUsername() );
  270. List<String> usernameList = registry.getList(prefix + "username");
  271. String username = value.getUsername();
  272. if (usernameList != null && !usernameList.isEmpty()) {
  273. StringBuilder sb = new StringBuilder();
  274. for (int i = 0, size = usernameList.size(); i < size; i++) {
  275. sb.append(usernameList.get(i));
  276. if (i < size - 1) {
  277. sb.append(',');
  278. }
  279. }
  280. username = sb.toString();
  281. }
  282. value.setUsername(username);
  283. //String password = registry.getString( prefix + "password", value.getPassword() );
  284. List<String> passwordList = registry.getList(prefix + "password");
  285. String password = value.getPassword();
  286. if (passwordList != null && !passwordList.isEmpty()) {
  287. StringBuilder sb = new StringBuilder();
  288. for (int i = 0, size = passwordList.size(); i < size; i++) {
  289. sb.append(passwordList.get(i));
  290. if (i < size - 1) {
  291. sb.append(',');
  292. }
  293. }
  294. password = sb.toString();
  295. }
  296. value.setPassword(password);
  297. int timeout = registry.getInt(prefix + "timeout", value.getTimeout());
  298. value.setTimeout(timeout);
  299. //String refreshCronExpression = registry.getString( prefix + "refreshCronExpression", value.getRefreshCronExpression() );
  300. List<String> refreshCronExpressionList = registry.getList(prefix + "refreshCronExpression");
  301. String refreshCronExpression = value.getRefreshCronExpression();
  302. if (refreshCronExpressionList != null && !refreshCronExpressionList.isEmpty()) {
  303. StringBuilder sb = new StringBuilder();
  304. for (int i = 0, size = refreshCronExpressionList.size(); i < size; i++) {
  305. sb.append(refreshCronExpressionList.get(i));
  306. if (i < size - 1) {
  307. sb.append(',');
  308. }
  309. }
  310. refreshCronExpression = sb.toString();
  311. }
  312. value.setRefreshCronExpression(refreshCronExpression);
  313. boolean downloadRemoteIndex = registry.getBoolean(prefix + "downloadRemoteIndex", value.isDownloadRemoteIndex());
  314. value.setDownloadRemoteIndex(downloadRemoteIndex);
  315. //String remoteIndexUrl = registry.getString( prefix + "remoteIndexUrl", value.getRemoteIndexUrl() );
  316. List<String> remoteIndexUrlList = registry.getList(prefix + "remoteIndexUrl");
  317. String remoteIndexUrl = value.getRemoteIndexUrl();
  318. if (remoteIndexUrlList != null && !remoteIndexUrlList.isEmpty()) {
  319. StringBuilder sb = new StringBuilder();
  320. for (int i = 0, size = remoteIndexUrlList.size(); i < size; i++) {
  321. sb.append(remoteIndexUrlList.get(i));
  322. if (i < size - 1) {
  323. sb.append(',');
  324. }
  325. }
  326. remoteIndexUrl = sb.toString();
  327. }
  328. value.setRemoteIndexUrl(remoteIndexUrl);
  329. //String remoteDownloadNetworkProxyId = registry.getString( prefix + "remoteDownloadNetworkProxyId", value.getRemoteDownloadNetworkProxyId() );
  330. List<String> remoteDownloadNetworkProxyIdList = registry.getList(prefix + "remoteDownloadNetworkProxyId");
  331. String remoteDownloadNetworkProxyId = value.getRemoteDownloadNetworkProxyId();
  332. if (remoteDownloadNetworkProxyIdList != null && !remoteDownloadNetworkProxyIdList.isEmpty()) {
  333. StringBuilder sb = new StringBuilder();
  334. for (int i = 0, size = remoteDownloadNetworkProxyIdList.size(); i < size; i++) {
  335. sb.append(remoteDownloadNetworkProxyIdList.get(i));
  336. if (i < size - 1) {
  337. sb.append(',');
  338. }
  339. }
  340. remoteDownloadNetworkProxyId = sb.toString();
  341. }
  342. value.setRemoteDownloadNetworkProxyId(remoteDownloadNetworkProxyId);
  343. int remoteDownloadTimeout = registry.getInt(prefix + "remoteDownloadTimeout", value.getRemoteDownloadTimeout());
  344. value.setRemoteDownloadTimeout(remoteDownloadTimeout);
  345. boolean downloadRemoteIndexOnStartup = registry.getBoolean(prefix + "downloadRemoteIndexOnStartup", value.isDownloadRemoteIndexOnStartup());
  346. value.setDownloadRemoteIndexOnStartup(downloadRemoteIndexOnStartup);
  347. java.util.Map extraParameters = registry.getProperties(prefix + "extraParameters");
  348. value.setExtraParameters(extraParameters);
  349. java.util.Map extraHeaders = registry.getProperties(prefix + "extraHeaders");
  350. value.setExtraHeaders(extraHeaders);
  351. //String checkPath = registry.getString( prefix + "checkPath", value.getCheckPath() );
  352. List<String> checkPathList = registry.getList(prefix + "checkPath");
  353. String checkPath = value.getCheckPath();
  354. if (checkPathList != null && !checkPathList.isEmpty()) {
  355. StringBuilder sb = new StringBuilder();
  356. for (int i = 0, size = checkPathList.size(); i < size; i++) {
  357. sb.append(checkPathList.get(i));
  358. if (i < size - 1) {
  359. sb.append(',');
  360. }
  361. }
  362. checkPath = sb.toString();
  363. }
  364. value.setCheckPath(checkPath);
  365. //String id = registry.getString( prefix + "id", value.getId() );
  366. List<String> idList = registry.getList(prefix + "id");
  367. String id = value.getId();
  368. if (idList != null && !idList.isEmpty()) {
  369. StringBuilder sb = new StringBuilder();
  370. for (int i = 0, size = idList.size(); i < size; i++) {
  371. sb.append(idList.get(i));
  372. if (i < size - 1) {
  373. sb.append(',');
  374. }
  375. }
  376. id = sb.toString();
  377. }
  378. value.setId(id);
  379. //String type = registry.getString( prefix + "type", value.getType() );
  380. List<String> typeList = registry.getList(prefix + "type");
  381. String type = value.getType();
  382. if (typeList != null && !typeList.isEmpty()) {
  383. StringBuilder sb = new StringBuilder();
  384. for (int i = 0, size = typeList.size(); i < size; i++) {
  385. sb.append(typeList.get(i));
  386. if (i < size - 1) {
  387. sb.append(',');
  388. }
  389. }
  390. type = sb.toString();
  391. }
  392. value.setType(type);
  393. //String name = registry.getString( prefix + "name", value.getName() );
  394. List<String> nameList = registry.getList(prefix + "name");
  395. String name = value.getName();
  396. if (nameList != null && !nameList.isEmpty()) {
  397. StringBuilder sb = new StringBuilder();
  398. for (int i = 0, size = nameList.size(); i < size; i++) {
  399. sb.append(nameList.get(i));
  400. if (i < size - 1) {
  401. sb.append(',');
  402. }
  403. }
  404. name = sb.toString();
  405. }
  406. value.setName(name);
  407. //String layout = registry.getString( prefix + "layout", value.getLayout() );
  408. List<String> layoutList = registry.getList(prefix + "layout");
  409. String layout = value.getLayout();
  410. if (layoutList != null && !layoutList.isEmpty()) {
  411. StringBuilder sb = new StringBuilder();
  412. for (int i = 0, size = layoutList.size(); i < size; i++) {
  413. sb.append(layoutList.get(i));
  414. if (i < size - 1) {
  415. sb.append(',');
  416. }
  417. }
  418. layout = sb.toString();
  419. }
  420. value.setLayout(layout);
  421. //String indexDir = registry.getString( prefix + "indexDir", value.getIndexDir() );
  422. List<String> indexDirList = registry.getList(prefix + "indexDir");
  423. String indexDir = value.getIndexDir();
  424. if (indexDirList != null && !indexDirList.isEmpty()) {
  425. StringBuilder sb = new StringBuilder();
  426. for (int i = 0, size = indexDirList.size(); i < size; i++) {
  427. sb.append(indexDirList.get(i));
  428. if (i < size - 1) {
  429. sb.append(',');
  430. }
  431. }
  432. indexDir = sb.toString();
  433. }
  434. value.setIndexDir(indexDir);
  435. //String packedIndexDir = registry.getString( prefix + "packedIndexDir", value.getPackedIndexDir() );
  436. List<String> packedIndexDirList = registry.getList(prefix + "packedIndexDir");
  437. String packedIndexDir = value.getPackedIndexDir();
  438. if (packedIndexDirList != null && !packedIndexDirList.isEmpty()) {
  439. StringBuilder sb = new StringBuilder();
  440. for (int i = 0, size = packedIndexDirList.size(); i < size; i++) {
  441. sb.append(packedIndexDirList.get(i));
  442. if (i < size - 1) {
  443. sb.append(',');
  444. }
  445. }
  446. packedIndexDir = sb.toString();
  447. }
  448. value.setPackedIndexDir(packedIndexDir);
  449. //String description = registry.getString( prefix + "description", value.getDescription() );
  450. List<String> descriptionList = registry.getList(prefix + "description");
  451. String description = value.getDescription();
  452. if (descriptionList != null && !descriptionList.isEmpty()) {
  453. StringBuilder sb = new StringBuilder();
  454. for (int i = 0, size = descriptionList.size(); i < size; i++) {
  455. sb.append(descriptionList.get(i));
  456. if (i < size - 1) {
  457. sb.append(',');
  458. }
  459. }
  460. description = sb.toString();
  461. }
  462. value.setDescription(description);
  463. return value;
  464. }
  465. private ManagedRepositoryConfiguration readManagedRepositoryConfiguration(String prefix, Registry registry) {
  466. ManagedRepositoryConfiguration value = new ManagedRepositoryConfiguration();
  467. //String location = registry.getString( prefix + "location", value.getLocation() );
  468. List<String> locationList = registry.getList(prefix + "location");
  469. String location = value.getLocation();
  470. if (locationList != null && !locationList.isEmpty()) {
  471. StringBuilder sb = new StringBuilder();
  472. for (int i = 0, size = locationList.size(); i < size; i++) {
  473. sb.append(locationList.get(i));
  474. if (i < size - 1) {
  475. sb.append(',');
  476. }
  477. }
  478. location = sb.toString();
  479. }
  480. value.setLocation(location);
  481. boolean releases = registry.getBoolean(prefix + "releases", value.isReleases());
  482. value.setReleases(releases);
  483. boolean blockRedeployments = registry.getBoolean(prefix + "blockRedeployments", value.isBlockRedeployments());
  484. value.setBlockRedeployments(blockRedeployments);
  485. boolean snapshots = registry.getBoolean(prefix + "snapshots", value.isSnapshots());
  486. value.setSnapshots(snapshots);
  487. boolean scanned = registry.getBoolean(prefix + "scanned", value.isScanned());
  488. value.setScanned(scanned);
  489. //String refreshCronExpression = registry.getString( prefix + "refreshCronExpression", value.getRefreshCronExpression() );
  490. List<String> refreshCronExpressionList = registry.getList(prefix + "refreshCronExpression");
  491. String refreshCronExpression = value.getRefreshCronExpression();
  492. if (refreshCronExpressionList != null && !refreshCronExpressionList.isEmpty()) {
  493. StringBuilder sb = new StringBuilder();
  494. for (int i = 0, size = refreshCronExpressionList.size(); i < size; i++) {
  495. sb.append(refreshCronExpressionList.get(i));
  496. if (i < size - 1) {
  497. sb.append(',');
  498. }
  499. }
  500. refreshCronExpression = sb.toString();
  501. }
  502. value.setRefreshCronExpression(refreshCronExpression);
  503. int retentionCount = registry.getInt(prefix + "retentionCount", value.getRetentionCount());
  504. value.setRetentionCount(retentionCount);
  505. int retentionPeriod = registry.getInt(prefix + "retentionPeriod", value.getRetentionPeriod());
  506. value.setRetentionPeriod(retentionPeriod);
  507. boolean deleteReleasedSnapshots = registry.getBoolean(prefix + "deleteReleasedSnapshots", value.isDeleteReleasedSnapshots());
  508. value.setDeleteReleasedSnapshots(deleteReleasedSnapshots);
  509. boolean skipPackedIndexCreation = registry.getBoolean(prefix + "skipPackedIndexCreation", value.isSkipPackedIndexCreation());
  510. value.setSkipPackedIndexCreation(skipPackedIndexCreation);
  511. boolean stageRepoNeeded = registry.getBoolean(prefix + "stageRepoNeeded", value.isStageRepoNeeded());
  512. value.setStageRepoNeeded(stageRepoNeeded);
  513. //String id = registry.getString( prefix + "id", value.getId() );
  514. List<String> idList = registry.getList(prefix + "id");
  515. String id = value.getId();
  516. if (idList != null && !idList.isEmpty()) {
  517. StringBuilder sb = new StringBuilder();
  518. for (int i = 0, size = idList.size(); i < size; i++) {
  519. sb.append(idList.get(i));
  520. if (i < size - 1) {
  521. sb.append(',');
  522. }
  523. }
  524. id = sb.toString();
  525. }
  526. value.setId(id);
  527. //String type = registry.getString( prefix + "type", value.getType() );
  528. List<String> typeList = registry.getList(prefix + "type");
  529. String type = value.getType();
  530. if (typeList != null && !typeList.isEmpty()) {
  531. StringBuilder sb = new StringBuilder();
  532. for (int i = 0, size = typeList.size(); i < size; i++) {
  533. sb.append(typeList.get(i));
  534. if (i < size - 1) {
  535. sb.append(',');
  536. }
  537. }
  538. type = sb.toString();
  539. }
  540. value.setType(type);
  541. //String name = registry.getString( prefix + "name", value.getName() );
  542. List<String> nameList = registry.getList(prefix + "name");
  543. String name = value.getName();
  544. if (nameList != null && !nameList.isEmpty()) {
  545. StringBuilder sb = new StringBuilder();
  546. for (int i = 0, size = nameList.size(); i < size; i++) {
  547. sb.append(nameList.get(i));
  548. if (i < size - 1) {
  549. sb.append(',');
  550. }
  551. }
  552. name = sb.toString();
  553. }
  554. value.setName(name);
  555. //String layout = registry.getString( prefix + "layout", value.getLayout() );
  556. List<String> layoutList = registry.getList(prefix + "layout");
  557. String layout = value.getLayout();
  558. if (layoutList != null && !layoutList.isEmpty()) {
  559. StringBuilder sb = new StringBuilder();
  560. for (int i = 0, size = layoutList.size(); i < size; i++) {
  561. sb.append(layoutList.get(i));
  562. if (i < size - 1) {
  563. sb.append(',');
  564. }
  565. }
  566. layout = sb.toString();
  567. }
  568. value.setLayout(layout);
  569. //String indexDir = registry.getString( prefix + "indexDir", value.getIndexDir() );
  570. List<String> indexDirList = registry.getList(prefix + "indexDir");
  571. String indexDir = value.getIndexDir();
  572. if (indexDirList != null && !indexDirList.isEmpty()) {
  573. StringBuilder sb = new StringBuilder();
  574. for (int i = 0, size = indexDirList.size(); i < size; i++) {
  575. sb.append(indexDirList.get(i));
  576. if (i < size - 1) {
  577. sb.append(',');
  578. }
  579. }
  580. indexDir = sb.toString();
  581. }
  582. value.setIndexDir(indexDir);
  583. //String packedIndexDir = registry.getString( prefix + "packedIndexDir", value.getPackedIndexDir() );
  584. List<String> packedIndexDirList = registry.getList(prefix + "packedIndexDir");
  585. String packedIndexDir = value.getPackedIndexDir();
  586. if (packedIndexDirList != null && !packedIndexDirList.isEmpty()) {
  587. StringBuilder sb = new StringBuilder();
  588. for (int i = 0, size = packedIndexDirList.size(); i < size; i++) {
  589. sb.append(packedIndexDirList.get(i));
  590. if (i < size - 1) {
  591. sb.append(',');
  592. }
  593. }
  594. packedIndexDir = sb.toString();
  595. }
  596. value.setPackedIndexDir(packedIndexDir);
  597. //String description = registry.getString( prefix + "description", value.getDescription() );
  598. List<String> descriptionList = registry.getList(prefix + "description");
  599. String description = value.getDescription();
  600. if (descriptionList != null && !descriptionList.isEmpty()) {
  601. StringBuilder sb = new StringBuilder();
  602. for (int i = 0, size = descriptionList.size(); i < size; i++) {
  603. sb.append(descriptionList.get(i));
  604. if (i < size - 1) {
  605. sb.append(',');
  606. }
  607. }
  608. description = sb.toString();
  609. }
  610. value.setDescription(description);
  611. return value;
  612. }
  613. private LegacyArtifactPath readLegacyArtifactPath(String prefix, Registry registry) {
  614. LegacyArtifactPath value = new LegacyArtifactPath();
  615. //String path = registry.getString( prefix + "path", value.getPath() );
  616. List<String> pathList = registry.getList(prefix + "path");
  617. String path = value.getPath();
  618. if (pathList != null && !pathList.isEmpty()) {
  619. StringBuilder sb = new StringBuilder();
  620. for (int i = 0, size = pathList.size(); i < size; i++) {
  621. sb.append(pathList.get(i));
  622. if (i < size - 1) {
  623. sb.append(',');
  624. }
  625. }
  626. path = sb.toString();
  627. }
  628. value.setPath(path);
  629. //String artifact = registry.getString( prefix + "artifact", value.getArtifact() );
  630. List<String> artifactList = registry.getList(prefix + "artifact");
  631. String artifact = value.getArtifact();
  632. if (artifactList != null && !artifactList.isEmpty()) {
  633. StringBuilder sb = new StringBuilder();
  634. for (int i = 0, size = artifactList.size(); i < size; i++) {
  635. sb.append(artifactList.get(i));
  636. if (i < size - 1) {
  637. sb.append(',');
  638. }
  639. }
  640. artifact = sb.toString();
  641. }
  642. value.setArtifact(artifact);
  643. return value;
  644. }
  645. private RepositoryGroupConfiguration readRepositoryGroupConfiguration(String prefix, Registry registry) {
  646. RepositoryGroupConfiguration value = new RepositoryGroupConfiguration();
  647. //String id = registry.getString( prefix + "id", value.getId() );
  648. List<String> idList = registry.getList(prefix + "id");
  649. String id = value.getId();
  650. if (idList != null && !idList.isEmpty()) {
  651. StringBuilder sb = new StringBuilder();
  652. for (int i = 0, size = idList.size(); i < size; i++) {
  653. sb.append(idList.get(i));
  654. if (i < size - 1) {
  655. sb.append(',');
  656. }
  657. }
  658. id = sb.toString();
  659. }
  660. value.setId(id);
  661. value.setName(registry.getString(prefix + "name"));
  662. value.setType(registry.getString(prefix + "type"));
  663. //String mergedIndexPath = registry.getString( prefix + "mergedIndexPath", value.getMergedIndexPath() );
  664. List<String> mergedIndexPathList = registry.getList(prefix + "mergedIndexPath");
  665. String mergedIndexPath = value.getMergedIndexPath();
  666. if (mergedIndexPathList != null && !mergedIndexPathList.isEmpty()) {
  667. StringBuilder sb = new StringBuilder();
  668. for (int i = 0, size = mergedIndexPathList.size(); i < size; i++) {
  669. sb.append(mergedIndexPathList.get(i));
  670. if (i < size - 1) {
  671. sb.append(',');
  672. }
  673. }
  674. mergedIndexPath = sb.toString();
  675. }
  676. value.setMergedIndexPath(mergedIndexPath);
  677. int mergedIndexTtl = registry.getInt(prefix + "mergedIndexTtl", value.getMergedIndexTtl());
  678. value.setMergedIndexTtl(mergedIndexTtl);
  679. //String cronExpression = registry.getString( prefix + "cronExpression", value.getCronExpression() );
  680. value.setLocation( registry.getString( prefix + "location" ) );
  681. List<String> cronExpressionList = registry.getList(prefix + "cronExpression");
  682. String cronExpression = value.getCronExpression();
  683. if (cronExpressionList != null && !cronExpressionList.isEmpty()) {
  684. StringBuilder sb = new StringBuilder();
  685. for (int i = 0, size = cronExpressionList.size(); i < size; i++) {
  686. sb.append(cronExpressionList.get(i));
  687. if (i < size - 1) {
  688. sb.append(',');
  689. }
  690. }
  691. cronExpression = sb.toString();
  692. }
  693. value.setCronExpression(cronExpression);
  694. java.util.List repositories = new java.util.ArrayList/*<String>*/();
  695. repositories.addAll(registry.getList(prefix + "repositories.repository"));
  696. value.setRepositories(repositories);
  697. return value;
  698. }
  699. private RepositoryCheckPath readRepositoryCheckPath( String prefix, Registry registry) {
  700. RepositoryCheckPath value = new RepositoryCheckPath();
  701. //String url = registry.getString( prefix + "url", value.getUrl() );
  702. List<String> urlList = registry.getList(prefix + "url");
  703. String url = value.getUrl();
  704. if (urlList != null && !urlList.isEmpty()) {
  705. StringBuilder sb = new StringBuilder();
  706. for (int i = 0, size = urlList.size(); i < size; i++) {
  707. sb.append(urlList.get(i));
  708. if (i < size - 1) {
  709. sb.append(',');
  710. }
  711. }
  712. url = sb.toString();
  713. }
  714. value.setUrl(url);
  715. //String path = registry.getString( prefix + "path", value.getPath() );
  716. List<String> pathList = registry.getList(prefix + "path");
  717. String path = value.getPath();
  718. if (pathList != null && !pathList.isEmpty()) {
  719. StringBuilder sb = new StringBuilder();
  720. for (int i = 0, size = pathList.size(); i < size; i++) {
  721. sb.append(pathList.get(i));
  722. if (i < size - 1) {
  723. sb.append(',');
  724. }
  725. }
  726. path = sb.toString();
  727. }
  728. value.setPath(path);
  729. return value;
  730. }
  731. private AbstractRepositoryConnectorConfiguration readAbstractRepositoryConnectorConfiguration( String prefix, Registry registry) {
  732. AbstractRepositoryConnectorConfiguration value = new AbstractRepositoryConnectorConfiguration();
  733. //String sourceRepoId = registry.getString( prefix + "sourceRepoId", value.getSourceRepoId() );
  734. List<String> sourceRepoIdList = registry.getList(prefix + "sourceRepoId");
  735. String sourceRepoId = value.getSourceRepoId();
  736. if (sourceRepoIdList != null && !sourceRepoIdList.isEmpty()) {
  737. StringBuilder sb = new StringBuilder();
  738. for (int i = 0, size = sourceRepoIdList.size(); i < size; i++) {
  739. sb.append(sourceRepoIdList.get(i));
  740. if (i < size - 1) {
  741. sb.append(',');
  742. }
  743. }
  744. sourceRepoId = sb.toString();
  745. }
  746. value.setSourceRepoId(sourceRepoId);
  747. //String targetRepoId = registry.getString( prefix + "targetRepoId", value.getTargetRepoId() );
  748. List<String> targetRepoIdList = registry.getList(prefix + "targetRepoId");
  749. String targetRepoId = value.getTargetRepoId();
  750. if (targetRepoIdList != null && !targetRepoIdList.isEmpty()) {
  751. StringBuilder sb = new StringBuilder();
  752. for (int i = 0, size = targetRepoIdList.size(); i < size; i++) {
  753. sb.append(targetRepoIdList.get(i));
  754. if (i < size - 1) {
  755. sb.append(',');
  756. }
  757. }
  758. targetRepoId = sb.toString();
  759. }
  760. value.setTargetRepoId(targetRepoId);
  761. //String proxyId = registry.getString( prefix + "proxyId", value.getProxyId() );
  762. List<String> proxyIdList = registry.getList(prefix + "proxyId");
  763. String proxyId = value.getProxyId();
  764. if (proxyIdList != null && !proxyIdList.isEmpty()) {
  765. StringBuilder sb = new StringBuilder();
  766. for (int i = 0, size = proxyIdList.size(); i < size; i++) {
  767. sb.append(proxyIdList.get(i));
  768. if (i < size - 1) {
  769. sb.append(',');
  770. }
  771. }
  772. proxyId = sb.toString();
  773. }
  774. value.setProxyId(proxyId);
  775. java.util.List blackListPatterns = new java.util.ArrayList/*<String>*/();
  776. blackListPatterns.addAll(registry.getList(prefix + "blackListPatterns.blackListPattern"));
  777. value.setBlackListPatterns(blackListPatterns);
  778. java.util.List whiteListPatterns = new java.util.ArrayList/*<String>*/();
  779. whiteListPatterns.addAll(registry.getList(prefix + "whiteListPatterns.whiteListPattern"));
  780. value.setWhiteListPatterns(whiteListPatterns);
  781. java.util.Map policies = registry.getProperties(prefix + "policies");
  782. value.setPolicies(policies);
  783. java.util.Map properties = registry.getProperties(prefix + "properties");
  784. value.setProperties(properties);
  785. boolean disabled = registry.getBoolean(prefix + "disabled", value.isDisabled());
  786. value.setDisabled(disabled);
  787. return value;
  788. }
  789. private ProxyConnectorRuleConfiguration readProxyConnectorRuleConfiguration(String prefix, Registry registry) {
  790. ProxyConnectorRuleConfiguration value = new ProxyConnectorRuleConfiguration();
  791. //String ruleType = registry.getString( prefix + "ruleType", value.getRuleType() );
  792. List<String> ruleTypeList = registry.getList(prefix + "ruleType");
  793. String ruleType = value.getRuleType();
  794. if (ruleTypeList != null && !ruleTypeList.isEmpty()) {
  795. StringBuilder sb = new StringBuilder();
  796. for (int i = 0, size = ruleTypeList.size(); i < size; i++) {
  797. sb.append(ruleTypeList.get(i));
  798. if (i < size - 1) {
  799. sb.append(',');
  800. }
  801. }
  802. ruleType = sb.toString();
  803. }
  804. value.setRuleType(ruleType);
  805. //String pattern = registry.getString( prefix + "pattern", value.getPattern() );
  806. List<String> patternList = registry.getList(prefix + "pattern");
  807. String pattern = value.getPattern();
  808. if (patternList != null && !patternList.isEmpty()) {
  809. StringBuilder sb = new StringBuilder();
  810. for (int i = 0, size = patternList.size(); i < size; i++) {
  811. sb.append(patternList.get(i));
  812. if (i < size - 1) {
  813. sb.append(',');
  814. }
  815. }
  816. pattern = sb.toString();
  817. }
  818. value.setPattern(pattern);
  819. java.util.List proxyConnectors = new java.util.ArrayList/*<ProxyConnectorConfiguration>*/();
  820. List proxyConnectorsSubsets = registry.getSubsetList(prefix + "proxyConnectors.proxyConnector");
  821. for (Iterator i = proxyConnectorsSubsets.iterator(); i.hasNext(); ) {
  822. ProxyConnectorConfiguration v = readProxyConnectorConfiguration("", (Registry) i.next());
  823. proxyConnectors.add(v);
  824. }
  825. value.setProxyConnectors(proxyConnectors);
  826. return value;
  827. }
  828. private ProxyConnectorConfiguration readProxyConnectorConfiguration(String prefix, Registry registry) {
  829. ProxyConnectorConfiguration value = new ProxyConnectorConfiguration();
  830. int order = registry.getInt(prefix + "order", value.getOrder());
  831. value.setOrder(order);
  832. //String sourceRepoId = registry.getString( prefix + "sourceRepoId", value.getSourceRepoId() );
  833. List<String> sourceRepoIdList = registry.getList(prefix + "sourceRepoId");
  834. String sourceRepoId = value.getSourceRepoId();
  835. if (sourceRepoIdList != null && !sourceRepoIdList.isEmpty()) {
  836. StringBuilder sb = new StringBuilder();
  837. for (int i = 0, size = sourceRepoIdList.size(); i < size; i++) {
  838. sb.append(sourceRepoIdList.get(i));
  839. if (i < size - 1) {
  840. sb.append(',');
  841. }
  842. }
  843. sourceRepoId = sb.toString();
  844. }
  845. value.setSourceRepoId(sourceRepoId);
  846. //String targetRepoId = registry.getString( prefix + "targetRepoId", value.getTargetRepoId() );
  847. List<String> targetRepoIdList = registry.getList(prefix + "targetRepoId");
  848. String targetRepoId = value.getTargetRepoId();
  849. if (targetRepoIdList != null && !targetRepoIdList.isEmpty()) {
  850. StringBuilder sb = new StringBuilder();
  851. for (int i = 0, size = targetRepoIdList.size(); i < size; i++) {
  852. sb.append(targetRepoIdList.get(i));
  853. if (i < size - 1) {
  854. sb.append(',');
  855. }
  856. }
  857. targetRepoId = sb.toString();
  858. }
  859. value.setTargetRepoId(targetRepoId);
  860. //String proxyId = registry.getString( prefix + "proxyId", value.getProxyId() );
  861. List<String> proxyIdList = registry.getList(prefix + "proxyId");
  862. String proxyId = value.getProxyId();
  863. if (proxyIdList != null && !proxyIdList.isEmpty()) {
  864. StringBuilder sb = new StringBuilder();
  865. for (int i = 0, size = proxyIdList.size(); i < size; i++) {
  866. sb.append(proxyIdList.get(i));
  867. if (i < size - 1) {
  868. sb.append(',');
  869. }
  870. }
  871. proxyId = sb.toString();
  872. }
  873. value.setProxyId(proxyId);
  874. java.util.List blackListPatterns = new java.util.ArrayList/*<String>*/();
  875. blackListPatterns.addAll(registry.getList(prefix + "blackListPatterns.blackListPattern"));
  876. value.setBlackListPatterns(blackListPatterns);
  877. java.util.List whiteListPatterns = new java.util.ArrayList/*<String>*/();
  878. whiteListPatterns.addAll(registry.getList(prefix + "whiteListPatterns.whiteListPattern"));
  879. value.setWhiteListPatterns(whiteListPatterns);
  880. java.util.Map policies = registry.getProperties(prefix + "policies");
  881. value.setPolicies(policies);
  882. java.util.Map properties = registry.getProperties(prefix + "properties");
  883. value.setProperties(properties);
  884. boolean disabled = registry.getBoolean(prefix + "disabled", value.isDisabled());
  885. value.setDisabled(disabled);
  886. return value;
  887. }
  888. private SyncConnectorConfiguration readSyncConnectorConfiguration( String prefix, Registry registry) {
  889. SyncConnectorConfiguration value = new SyncConnectorConfiguration();
  890. //String cronExpression = registry.getString( prefix + "cronExpression", value.getCronExpression() );
  891. List<String> cronExpressionList = registry.getList(prefix + "cronExpression");
  892. String cronExpression = value.getCronExpression();
  893. if (cronExpressionList != null && !cronExpressionList.isEmpty()) {
  894. StringBuilder sb = new StringBuilder();
  895. for (int i = 0, size = cronExpressionList.size(); i < size; i++) {
  896. sb.append(cronExpressionList.get(i));
  897. if (i < size - 1) {
  898. sb.append(',');
  899. }
  900. }
  901. cronExpression = sb.toString();
  902. }
  903. value.setCronExpression(cronExpression);
  904. //String method = registry.getString( prefix + "method", value.getMethod() );
  905. List<String> methodList = registry.getList(prefix + "method");
  906. String method = value.getMethod();
  907. if (methodList != null && !methodList.isEmpty()) {
  908. StringBuilder sb = new StringBuilder();
  909. for (int i = 0, size = methodList.size(); i < size; i++) {
  910. sb.append(methodList.get(i));
  911. if (i < size - 1) {
  912. sb.append(',');
  913. }
  914. }
  915. method = sb.toString();
  916. }
  917. value.setMethod(method);
  918. //String sourceRepoId = registry.getString( prefix + "sourceRepoId", value.getSourceRepoId() );
  919. List<String> sourceRepoIdList = registry.getList(prefix + "sourceRepoId");
  920. String sourceRepoId = value.getSourceRepoId();
  921. if (sourceRepoIdList != null && !sourceRepoIdList.isEmpty()) {
  922. StringBuilder sb = new StringBuilder();
  923. for (int i = 0, size = sourceRepoIdList.size(); i < size; i++) {
  924. sb.append(sourceRepoIdList.get(i));
  925. if (i < size - 1) {
  926. sb.append(',');
  927. }
  928. }
  929. sourceRepoId = sb.toString();
  930. }
  931. value.setSourceRepoId(sourceRepoId);
  932. //String targetRepoId = registry.getString( prefix + "targetRepoId", value.getTargetRepoId() );
  933. List<String> targetRepoIdList = registry.getList(prefix + "targetRepoId");
  934. String targetRepoId = value.getTargetRepoId();
  935. if (targetRepoIdList != null && !targetRepoIdList.isEmpty()) {
  936. StringBuilder sb = new StringBuilder();
  937. for (int i = 0, size = targetRepoIdList.size(); i < size; i++) {
  938. sb.append(targetRepoIdList.get(i));
  939. if (i < size - 1) {
  940. sb.append(',');
  941. }
  942. }
  943. targetRepoId = sb.toString();
  944. }
  945. value.setTargetRepoId(targetRepoId);
  946. //String proxyId = registry.getString( prefix + "proxyId", value.getProxyId() );
  947. List<String> proxyIdList = registry.getList(prefix + "proxyId");
  948. String proxyId = value.getProxyId();
  949. if (proxyIdList != null && !proxyIdList.isEmpty()) {
  950. StringBuilder sb = new StringBuilder();
  951. for (int i = 0, size = proxyIdList.size(); i < size; i++) {
  952. sb.append(proxyIdList.get(i));
  953. if (i < size - 1) {
  954. sb.append(',');
  955. }
  956. }
  957. proxyId = sb.toString();
  958. }
  959. value.setProxyId(proxyId);
  960. java.util.List blackListPatterns = new java.util.ArrayList/*<String>*/();
  961. blackListPatterns.addAll(registry.getList(prefix + "blackListPatterns.blackListPattern"));
  962. value.setBlackListPatterns(blackListPatterns);
  963. java.util.List whiteListPatterns = new java.util.ArrayList/*<String>*/();
  964. whiteListPatterns.addAll(registry.getList(prefix + "whiteListPatterns.whiteListPattern"));
  965. value.setWhiteListPatterns(whiteListPatterns);
  966. java.util.Map policies = registry.getProperties(prefix + "policies");
  967. value.setPolicies(policies);
  968. java.util.Map properties = registry.getProperties(prefix + "properties");
  969. value.setProperties(properties);
  970. boolean disabled = registry.getBoolean(prefix + "disabled", value.isDisabled());
  971. value.setDisabled(disabled);
  972. return value;
  973. }
  974. private NetworkProxyConfiguration readNetworkProxyConfiguration(String prefix, Registry registry) {
  975. NetworkProxyConfiguration value = new NetworkProxyConfiguration();
  976. //String id = registry.getString( prefix + "id", value.getId() );
  977. List<String> idList = registry.getList(prefix + "id");
  978. String id = value.getId();
  979. if (idList != null && !idList.isEmpty()) {
  980. StringBuilder sb = new StringBuilder();
  981. for (int i = 0, size = idList.size(); i < size; i++) {
  982. sb.append(idList.get(i));
  983. if (i < size - 1) {
  984. sb.append(',');
  985. }
  986. }
  987. id = sb.toString();
  988. }
  989. value.setId(id);
  990. //String protocol = registry.getString( prefix + "protocol", value.getProtocol() );
  991. List<String> protocolList = registry.getList(prefix + "protocol");
  992. String protocol = value.getProtocol();
  993. if (protocolList != null && !protocolList.isEmpty()) {
  994. StringBuilder sb = new StringBuilder();
  995. for (int i = 0, size = protocolList.size(); i < size; i++) {
  996. sb.append(protocolList.get(i));
  997. if (i < size - 1) {
  998. sb.append(',');
  999. }
  1000. }
  1001. protocol = sb.toString();
  1002. }
  1003. value.setProtocol(protocol);
  1004. //String host = registry.getString( prefix + "host", value.getHost() );
  1005. List<String> hostList = registry.getList(prefix + "host");
  1006. String host = value.getHost();
  1007. if (hostList != null && !hostList.isEmpty()) {
  1008. StringBuilder sb = new StringBuilder();
  1009. for (int i = 0, size = hostList.size(); i < size; i++) {
  1010. sb.append(hostList.get(i));
  1011. if (i < size - 1) {
  1012. sb.append(',');
  1013. }
  1014. }
  1015. host = sb.toString();
  1016. }
  1017. value.setHost(host);
  1018. int port = registry.getInt(prefix + "port", value.getPort());
  1019. value.setPort(port);
  1020. //String username = registry.getString( prefix + "username", value.getUsername() );
  1021. List<String> usernameList = registry.getList(prefix + "username");
  1022. String username = value.getUsername();
  1023. if (usernameList != null && !usernameList.isEmpty()) {
  1024. StringBuilder sb = new StringBuilder();
  1025. for (int i = 0, size = usernameList.size(); i < size; i++) {
  1026. sb.append(usernameList.get(i));
  1027. if (i < size - 1) {
  1028. sb.append(',');
  1029. }
  1030. }
  1031. username = sb.toString();
  1032. }
  1033. value.setUsername(username);
  1034. //String password = registry.getString( prefix + "password", value.getPassword() );
  1035. List<String> passwordList = registry.getList(prefix + "password");
  1036. String password = value.getPassword();
  1037. if (passwordList != null && !passwordList.isEmpty()) {
  1038. StringBuilder sb = new StringBuilder();
  1039. for (int i = 0, size = passwordList.size(); i < size; i++) {
  1040. sb.append(passwordList.get(i));
  1041. if (i < size - 1) {
  1042. sb.append(',');
  1043. }
  1044. }
  1045. password = sb.toString();
  1046. }
  1047. value.setPassword(password);
  1048. boolean useNtlm = registry.getBoolean(prefix + "useNtlm", value.isUseNtlm());
  1049. value.setUseNtlm(useNtlm);
  1050. return value;
  1051. }
  1052. private RepositoryScanningConfiguration readRepositoryScanningConfiguration(String prefix, Registry registry) {
  1053. RepositoryScanningConfiguration value = new RepositoryScanningConfiguration();
  1054. java.util.List fileTypes = new java.util.ArrayList/*<FileType>*/();
  1055. List fileTypesSubsets = registry.getSubsetList(prefix + "fileTypes.fileType");
  1056. for (Iterator i = fileTypesSubsets.iterator(); i.hasNext(); ) {
  1057. FileType v = readFileType("", (Registry) i.next());
  1058. fileTypes.add(v);
  1059. }
  1060. value.setFileTypes(fileTypes);
  1061. java.util.List knownContentConsumers = new java.util.ArrayList/*<String>*/();
  1062. knownContentConsumers.addAll(registry.getList(prefix + "knownContentConsumers.knownContentConsumer"));
  1063. value.setKnownContentConsumers(knownContentConsumers);
  1064. java.util.List invalidContentConsumers = new java.util.ArrayList/*<String>*/();
  1065. invalidContentConsumers.addAll(registry.getList(prefix + "invalidContentConsumers.invalidContentConsumer"));
  1066. value.setInvalidContentConsumers(invalidContentConsumers);
  1067. return value;
  1068. }
  1069. private FileType readFileType(String prefix, Registry registry) {
  1070. FileType value = new FileType();
  1071. //String id = registry.getString( prefix + "id", value.getId() );
  1072. List<String> idList = registry.getList(prefix + "id");
  1073. String id = value.getId();
  1074. if (idList != null && !idList.isEmpty()) {
  1075. StringBuilder sb = new StringBuilder();
  1076. for (int i = 0, size = idList.size(); i < size; i++) {
  1077. sb.append(idList.get(i));
  1078. if (i < size - 1) {
  1079. sb.append(',');
  1080. }
  1081. }
  1082. id = sb.toString();
  1083. }
  1084. value.setId(id);
  1085. java.util.List patterns = new java.util.ArrayList/*<String>*/();
  1086. patterns.addAll(registry.getList(prefix + "patterns.pattern"));
  1087. value.setPatterns(patterns);
  1088. return value;
  1089. }
  1090. private OrganisationInformation readOrganisationInformation(String prefix, Registry registry) {
  1091. OrganisationInformation value = new OrganisationInformation();
  1092. //String name = registry.getString( prefix + "name", value.getName() );
  1093. List<String> nameList = registry.getList(prefix + "name");
  1094. String name = value.getName();
  1095. if (nameList != null && !nameList.isEmpty()) {
  1096. StringBuilder sb = new StringBuilder();
  1097. for (int i = 0, size = nameList.size(); i < size; i++) {
  1098. sb.append(nameList.get(i));
  1099. if (i < size - 1) {
  1100. sb.append(',');
  1101. }
  1102. }
  1103. name = sb.toString();
  1104. }
  1105. value.setName(name);
  1106. //String url = registry.getString( prefix + "url", value.getUrl() );
  1107. List<String> urlList = registry.getList(prefix + "url");
  1108. String url = value.getUrl();
  1109. if (urlList != null && !urlList.isEmpty()) {
  1110. StringBuilder sb = new StringBuilder();
  1111. for (int i = 0, size = urlList.size(); i < size; i++) {
  1112. sb.append(urlList.get(i));
  1113. if (i < size - 1) {
  1114. sb.append(',');
  1115. }
  1116. }
  1117. url = sb.toString();
  1118. }
  1119. value.setUrl(url);
  1120. //String logoLocation = registry.getString( prefix + "logoLocation", value.getLogoLocation() );
  1121. List<String> logoLocationList = registry.getList(prefix + "logoLocation");
  1122. String logoLocation = value.getLogoLocation();
  1123. if (logoLocationList != null && !logoLocationList.isEmpty()) {
  1124. StringBuilder sb = new StringBuilder();
  1125. for (int i = 0, size = logoLocationList.size(); i < size; i++) {
  1126. sb.append(logoLocationList.get(i));
  1127. if (i < size - 1) {
  1128. sb.append(',');
  1129. }
  1130. }
  1131. logoLocation = sb.toString();
  1132. }
  1133. value.setLogoLocation(logoLocation);
  1134. return value;
  1135. }
  1136. private WebappConfiguration readWebappConfiguration(String prefix, Registry registry) {
  1137. WebappConfiguration value = new WebappConfiguration();
  1138. UserInterfaceOptions ui = readUserInterfaceOptions(prefix + "ui.", registry);
  1139. value.setUi(ui);
  1140. return value;
  1141. }
  1142. private UserInterfaceOptions readUserInterfaceOptions(String prefix, Registry registry) {
  1143. UserInterfaceOptions value = new UserInterfaceOptions();
  1144. boolean showFindArtifacts = registry.getBoolean(prefix + "showFindArtifacts", value.isShowFindArtifacts());
  1145. value.setShowFindArtifacts(showFindArtifacts);
  1146. boolean appletFindEnabled = registry.getBoolean(prefix + "appletFindEnabled", value.isAppletFindEnabled());
  1147. value.setAppletFindEnabled(appletFindEnabled);
  1148. boolean disableEasterEggs = registry.getBoolean(prefix + "disableEasterEggs", value.isDisableEasterEggs());
  1149. value.setDisableEasterEggs(disableEasterEggs);
  1150. //String applicationUrl = registry.getString( prefix + "applicationUrl", value.getApplicationUrl() );
  1151. List<String> applicationUrlList = registry.getList(prefix + "applicationUrl");
  1152. String applicationUrl = value.getApplicationUrl();
  1153. if (applicationUrlList != null && !applicationUrlList.isEmpty()) {
  1154. StringBuilder sb = new StringBuilder();
  1155. for (int i = 0, size = applicationUrlList.size(); i < size; i++) {
  1156. sb.append(applicationUrlList.get(i));
  1157. if (i < size - 1) {
  1158. sb.append(',');
  1159. }
  1160. }
  1161. applicationUrl = sb.toString();
  1162. }
  1163. value.setApplicationUrl(applicationUrl);
  1164. boolean disableRegistration = registry.getBoolean(prefix + "disableRegistration", value.isDisableRegistration());
  1165. value.setDisableRegistration(disableRegistration);
  1166. return value;
  1167. }
  1168. private NetworkConfiguration readNetworkConfiguration(String prefix, Registry registry) {
  1169. NetworkConfiguration value = new NetworkConfiguration();
  1170. int maxTotal = registry.getInt(prefix + "maxTotal", value.getMaxTotal());
  1171. value.setMaxTotal(maxTotal);
  1172. int maxTotalPerHost = registry.getInt(prefix + "maxTotalPerHost", value.getMaxTotalPerHost());
  1173. value.setMaxTotalPerHost(maxTotalPerHost);
  1174. boolean usePooling = registry.getBoolean(prefix + "usePooling", value.isUsePooling());
  1175. value.setUsePooling(usePooling);
  1176. return value;
  1177. }
  1178. private ArchivaRuntimeConfiguration readArchivaRuntimeConfiguration(String prefix, Registry registry) {
  1179. ArchivaRuntimeConfiguration value = new ArchivaRuntimeConfiguration();
  1180. CacheConfiguration urlFailureCacheConfiguration = readCacheConfiguration(prefix + "urlFailureCacheConfiguration.", registry);
  1181. value.setUrlFailureCacheConfiguration(urlFailureCacheConfiguration);
  1182. FileLockConfiguration fileLockConfiguration = readFileLockConfiguration(prefix + "fileLockConfiguration.", registry);
  1183. value.setFileLockConfiguration(fileLockConfiguration);
  1184. //String dataDirectory = registry.getString( prefix + "dataDirectory", value.getDataDirectory() );
  1185. List<String> dataDirectoryList = registry.getList(prefix + "dataDirectory");
  1186. String dataDirectory = value.getDataDirectory();
  1187. if (dataDirectoryList != null && !dataDirectoryList.isEmpty()) {
  1188. StringBuilder sb = new StringBuilder();
  1189. for (int i = 0, size = dataDirectoryList.size(); i < size; i++) {
  1190. sb.append(dataDirectoryList.get(i));
  1191. if (i < size - 1) {
  1192. sb.append(',');
  1193. }
  1194. }
  1195. dataDirectory = sb.toString();
  1196. }
  1197. value.setDataDirectory(dataDirectory);
  1198. //String repositoryBaseDirectory = registry.getString( prefix + "repositoryBaseDirectory", value.getRepositoryBaseDirectory() );
  1199. List<String> repositoryBaseDirectoryList = registry.getList(prefix + "repositoryBaseDirectory");
  1200. String repositoryBaseDirectory = value.getRepositoryBaseDirectory();
  1201. if (repositoryBaseDirectoryList != null && !repositoryBaseDirectoryList.isEmpty()) {
  1202. StringBuilder sb = new StringBuilder();
  1203. for (int i = 0, size = repositoryBaseDirectoryList.size(); i < size; i++) {
  1204. sb.append(repositoryBaseDirectoryList.get(i));
  1205. if (i < size - 1) {
  1206. sb.append(',');
  1207. }
  1208. }
  1209. repositoryBaseDirectory = sb.toString();
  1210. }
  1211. value.setRepositoryBaseDirectory(repositoryBaseDirectory);
  1212. //String remoteRepositoryBaseDirectory = registry.getString( prefix + "remoteRepositoryBaseDirectory", value.getRemoteRepositoryBaseDirectory() );
  1213. List<String> remoteRepositoryBaseDirectoryList = registry.getList(prefix + "remoteRepositoryBaseDirectory");
  1214. String remoteRepositoryBaseDirectory = value.getRemoteRepositoryBaseDirectory();
  1215. if (remoteRepositoryBaseDirectoryList != null && !remoteRepositoryBaseDirectoryList.isEmpty()) {
  1216. StringBuilder sb = new StringBuilder();
  1217. for (int i = 0, size = remoteRepositoryBaseDirectoryList.size(); i < size; i++) {
  1218. sb.append(remoteRepositoryBaseDirectoryList.get(i));
  1219. if (i < size - 1) {
  1220. sb.append(',');
  1221. }
  1222. }
  1223. remoteRepositoryBaseDirectory = sb.toString();
  1224. }
  1225. value.setRemoteRepositoryBaseDirectory(remoteRepositoryBaseDirectory);
  1226. //String defaultLanguage = registry.getString( prefix + "defaultLanguage", value.getDefaultLanguage() );
  1227. List<String> repositoryGroupBaseDirectoryList = registry.getList(prefix + "repositoryGroupBaseDirectory");
  1228. String repositoryGroupBaseDirectory = value.getRepositoryGroupBaseDirectory();
  1229. if (repositoryGroupBaseDirectoryList != null && !repositoryGroupBaseDirectoryList.isEmpty()) {
  1230. StringBuilder sb = new StringBuilder();
  1231. for (int i = 0, size = repositoryGroupBaseDirectoryList.size(); i < size; i++) {
  1232. sb.append(repositoryGroupBaseDirectoryList.get(i));
  1233. if (i < size - 1) {
  1234. sb.append(',');
  1235. }
  1236. }
  1237. repositoryGroupBaseDirectory = sb.toString();
  1238. }
  1239. value.setRepositoryGroupBaseDirectory(repositoryGroupBaseDirectory);
  1240. List<String> defaultLanguageList = registry.getList(prefix + "defaultLanguage");
  1241. String defaultLanguage = value.getDefaultLanguage();
  1242. if (defaultLanguageList != null && !defaultLanguageList.isEmpty()) {
  1243. StringBuilder sb = new StringBuilder();
  1244. for (int i = 0, size = defaultLanguageList.size(); i < size; i++) {
  1245. sb.append(defaultLanguageList.get(i));
  1246. if (i < size - 1) {
  1247. sb.append(',');
  1248. }
  1249. }
  1250. defaultLanguage = sb.toString();
  1251. }
  1252. value.setDefaultLanguage(defaultLanguage);
  1253. //String languageRange = registry.getString( prefix + "languageRange", value.getLanguageRange() );
  1254. List<String> languageRangeList = registry.getList(prefix + "languageRange");
  1255. String languageRange = value.getLanguageRange();
  1256. if (languageRangeList != null && !languageRangeList.isEmpty()) {
  1257. StringBuilder sb = new StringBuilder();
  1258. for (int i = 0, size = languageRangeList.size(); i < size; i++) {
  1259. sb.append(languageRangeList.get(i));
  1260. if (i < size - 1) {
  1261. sb.append(',');
  1262. }
  1263. }
  1264. languageRange = sb.toString();
  1265. }
  1266. value.setLanguageRange(languageRange);
  1267. List<String> checksumTypeList = registry.getList(prefix + "checksumTypes.type");
  1268. value.setChecksumTypes(checksumTypeList);
  1269. return value;
  1270. }
  1271. private RedbackRuntimeConfiguration readRedbackRuntimeConfiguration(String prefix, Registry registry) {
  1272. RedbackRuntimeConfiguration value = new RedbackRuntimeConfiguration();
  1273. boolean migratedFromRedbackConfiguration = registry.getBoolean(prefix + "migratedFromRedbackConfiguration", value.isMigratedFromRedbackConfiguration());
  1274. value.setMigratedFromRedbackConfiguration(migratedFromRedbackConfiguration);
  1275. java.util.List userManagerImpls = new java.util.ArrayList/*<String>*/();
  1276. userManagerImpls.addAll(registry.getList(prefix + "userManagerImpls.userManagerImpl"));
  1277. value.setUserManagerImpls(userManagerImpls);
  1278. java.util.List rbacManagerImpls = new java.util.ArrayList/*<String>*/();
  1279. rbacManagerImpls.addAll(registry.getList(prefix + "rbacManagerImpls.rbacManagerImpl"));
  1280. value.setRbacManagerImpls(rbacManagerImpls);
  1281. LdapConfiguration ldapConfiguration = readLdapConfiguration(prefix + "ldapConfiguration.", registry);
  1282. value.setLdapConfiguration(ldapConfiguration);
  1283. java.util.List ldapGroupMappings = new java.util.ArrayList/*<LdapGroupMapping>*/();
  1284. List ldapGroupMappingsSubsets = registry.getSubsetList(prefix + "ldapGroupMappings.ldapGroupMapping");
  1285. for (Iterator i = ldapGroupMappingsSubsets.iterator(); i.hasNext(); ) {
  1286. LdapGroupMapping v = readLdapGroupMapping("", (Registry) i.next());
  1287. ldapGroupMappings.add(v);
  1288. }
  1289. value.setLdapGroupMappings(ldapGroupMappings);
  1290. java.util.Map configurationProperties = registry.getProperties(prefix + "configurationProperties");
  1291. value.setConfigurationProperties(configurationProperties);
  1292. boolean useUsersCache = registry.getBoolean(prefix + "useUsersCache", value.isUseUsersCache());
  1293. value.setUseUsersCache(useUsersCache);
  1294. CacheConfiguration usersCacheConfiguration = readCacheConfiguration(prefix + "usersCacheConfiguration.", registry);
  1295. value.setUsersCacheConfiguration(usersCacheConfiguration);
  1296. return value;
  1297. }
  1298. private ArchivaDefaultConfiguration readArchivaDefaultConfiguration(String prefix, Registry registry) {
  1299. ArchivaDefaultConfiguration value = new ArchivaDefaultConfiguration();
  1300. java.util.List defaultCheckPaths = new java.util.ArrayList/*<RepositoryCheckPath>*/();
  1301. List defaultCheckPathsSubsets = registry.getSubsetList(prefix + "defaultCheckPaths.defaultCheckPath");
  1302. for (Iterator i = defaultCheckPathsSubsets.iterator(); i.hasNext(); ) {
  1303. RepositoryCheckPath v = readRepositoryCheckPath("", (Registry) i.next());
  1304. defaultCheckPaths.add(v);
  1305. }
  1306. value.setDefaultCheckPaths(defaultCheckPaths);
  1307. return value;
  1308. }
  1309. private LdapConfiguration readLdapConfiguration(String prefix, Registry registry) {
  1310. LdapConfiguration value = new LdapConfiguration();
  1311. //String hostName = registry.getString( prefix + "hostName", value.getHostName() );
  1312. List<String> hostNameList = registry.getList(prefix + "hostName");
  1313. String hostName = value.getHostName();
  1314. if (hostNameList != null && !hostNameList.isEmpty()) {
  1315. StringBuilder sb = new StringBuilder();
  1316. for (int i = 0, size = hostNameList.size(); i < size; i++) {
  1317. sb.append(hostNameList.get(i));
  1318. if (i < size - 1) {
  1319. sb.append(',');
  1320. }
  1321. }
  1322. hostName = sb.toString();
  1323. }
  1324. value.setHostName(hostName);
  1325. int port = registry.getInt(prefix + "port", value.getPort());
  1326. value.setPort(port);
  1327. boolean ssl = registry.getBoolean(prefix + "ssl", value.isSsl());
  1328. value.setSsl(ssl);
  1329. //String baseDn = registry.getString( prefix + "baseDn", value.getBaseDn() );
  1330. List<String> baseDnList = registry.getList(prefix + "baseDn");
  1331. String baseDn = value.getBaseDn();
  1332. if (baseDnList != null && !baseDnList.isEmpty()) {
  1333. StringBuilder sb = new StringBuilder();
  1334. for (int i = 0, size = baseDnList.size(); i < size; i++) {
  1335. sb.append(baseDnList.get(i));
  1336. if (i < size - 1) {
  1337. sb.append(',');
  1338. }
  1339. }
  1340. baseDn = sb.toString();
  1341. }
  1342. value.setBaseDn(baseDn);
  1343. //String baseGroupsDn = registry.getString( prefix + "baseGroupsDn", value.getBaseGroupsDn() );
  1344. List<String> baseGroupsDnList = registry.getList(prefix + "baseGroupsDn");
  1345. String baseGroupsDn = value.getBaseGroupsDn();
  1346. if (baseGroupsDnList != null && !baseGroupsDnList.isEmpty()) {
  1347. StringBuilder sb = new StringBuilder();
  1348. for (int i = 0, size = baseGroupsDnList.size(); i < size; i++) {
  1349. sb.append(baseGroupsDnList.get(i));
  1350. if (i < size - 1) {
  1351. sb.append(',');
  1352. }
  1353. }
  1354. baseGroupsDn = sb.toString();
  1355. }
  1356. value.setBaseGroupsDn(baseGroupsDn);
  1357. //String contextFactory = registry.getString( prefix + "contextFactory", value.getContextFactory() );
  1358. List<String> contextFactoryList = registry.getList(prefix + "contextFactory");
  1359. String contextFactory = value.getContextFactory();
  1360. if (contextFactoryList != null && !contextFactoryList.isEmpty()) {
  1361. StringBuilder sb = new StringBuilder();
  1362. for (int i = 0, size = contextFactoryList.size(); i < size; i++) {
  1363. sb.append(contextFactoryList.get(i));
  1364. if (i < size - 1) {
  1365. sb.append(',');
  1366. }
  1367. }
  1368. contextFactory = sb.toString();
  1369. }
  1370. value.setContextFactory(contextFactory);
  1371. //String bindDn = registry.getString( prefix + "bindDn", value.getBindDn() );
  1372. List<String> bindDnList = registry.getList(prefix + "bindDn");
  1373. String bindDn = value.getBindDn();
  1374. if (bindDnList != null && !bindDnList.isEmpty()) {
  1375. StringBuilder sb = new StringBuilder();
  1376. for (int i = 0, size = bindDnList.size(); i < size; i++) {
  1377. sb.append(bindDnList.get(i));
  1378. if (i < size - 1) {
  1379. sb.append(',');
  1380. }
  1381. }
  1382. bindDn = sb.toString();
  1383. }
  1384. value.setBindDn(bindDn);
  1385. //String password = registry.getString( prefix + "password", value.getPassword() );
  1386. List<String> passwordList = registry.getList(prefix + "password");
  1387. String password = value.getPassword();
  1388. if (passwordList != null && !passwordList.isEmpty()) {
  1389. StringBuilder sb = new StringBuilder();
  1390. for (int i = 0, size = passwordList.size(); i < size; i++) {
  1391. sb.append(passwordList.get(i));
  1392. if (i < size - 1) {
  1393. sb.append(',');
  1394. }
  1395. }
  1396. password = sb.toString();
  1397. }
  1398. value.setPassword(password);
  1399. //String authenticationMethod = registry.getString( prefix + "authenticationMethod", value.getAuthenticationMethod() );
  1400. List<String> authenticationMethodList = registry.getList(prefix + "authenticationMethod");
  1401. String authenticationMethod = value.getAuthenticationMethod();
  1402. if (authenticationMethodList != null && !authenticationMethodList.isEmpty()) {
  1403. StringBuilder sb = new StringBuilder();
  1404. for (int i = 0, size = authenticationMethodList.size(); i < size; i++) {
  1405. sb.append(authenticationMethodList.get(i));
  1406. if (i < size - 1) {
  1407. sb.append(',');
  1408. }
  1409. }
  1410. authenticationMethod = sb.toString();
  1411. }
  1412. value.setAuthenticationMethod(authenticationMethod);
  1413. boolean bindAuthenticatorEnabled = registry.getBoolean(prefix + "bindAuthenticatorEnabled", value.isBindAuthenticatorEnabled());
  1414. value.setBindAuthenticatorEnabled(bindAuthenticatorEnabled);
  1415. boolean writable = registry.getBoolean(prefix + "writable", value.isWritable());
  1416. value.setWritable(writable);
  1417. boolean useRoleNameAsGroup = registry.getBoolean(prefix + "useRoleNameAsGroup", value.isUseRoleNameAsGroup());
  1418. value.setUseRoleNameAsGroup(useRoleNameAsGroup);
  1419. java.util.Map extraProperties = registry.getProperties(prefix + "extraProperties");
  1420. value.setExtraProperties(extraProperties);
  1421. return value;
  1422. }
  1423. private FileLockConfiguration readFileLockConfiguration(String prefix, Registry registry) {
  1424. FileLockConfiguration value = new FileLockConfiguration();
  1425. boolean skipLocking = registry.getBoolean(prefix + "skipLocking", value.isSkipLocking());
  1426. value.setSkipLocking(skipLocking);
  1427. int lockingTimeout = registry.getInt(prefix + "lockingTimeout", value.getLockingTimeout());
  1428. value.setLockingTimeout(lockingTimeout);
  1429. return value;
  1430. }
  1431. private CacheConfiguration readCacheConfiguration(String prefix, Registry registry) {
  1432. CacheConfiguration value = new CacheConfiguration();
  1433. int timeToIdleSeconds = registry.getInt(prefix + "timeToIdleSeconds", value.getTimeToIdleSeconds());
  1434. value.setTimeToIdleSeconds(timeToIdleSeconds);
  1435. int timeToLiveSeconds = registry.getInt(prefix + "timeToLiveSeconds", value.getTimeToLiveSeconds());
  1436. value.setTimeToLiveSeconds(timeToLiveSeconds);
  1437. int maxElementsInMemory = registry.getInt(prefix + "maxElementsInMemory", value.getMaxElementsInMemory());
  1438. value.setMaxElementsInMemory(maxElementsInMemory);
  1439. int maxElementsOnDisk = registry.getInt(prefix + "maxElementsOnDisk", value.getMaxElementsOnDisk());
  1440. value.setMaxElementsOnDisk(maxElementsOnDisk);
  1441. return value;
  1442. }
  1443. private LdapGroupMapping readLdapGroupMapping(String prefix, Registry registry) {
  1444. LdapGroupMapping value = new LdapGroupMapping();
  1445. //String group = registry.getString( prefix + "group", value.getGroup() );
  1446. List<String> groupList = registry.getList(prefix + "group");
  1447. String group = value.getGroup();
  1448. if (groupList != null && !groupList.isEmpty()) {
  1449. StringBuilder sb = new StringBuilder();
  1450. for (int i = 0, size = groupList.size(); i < size; i++) {
  1451. sb.append(groupList.get(i));
  1452. if (i < size - 1) {
  1453. sb.append(',');
  1454. }
  1455. }
  1456. group = sb.toString();
  1457. }
  1458. value.setGroup(group);
  1459. java.util.List roleNames = new java.util.ArrayList/*<String>*/();
  1460. roleNames.addAll(registry.getList(prefix + "roleNames.roleName"));
  1461. value.setRoleNames(roleNames);
  1462. return value;
  1463. }
  1464. }