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.

configuration.mdo 59KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858
  1. <?xml version="1.0" ?>
  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. ~
  13. ~ Unless required by applicable law or agreed to in writing,
  14. ~ software distributed under the License is distributed on an
  15. ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  16. ~ KIND, either express or implied. See the License for the
  17. ~ specific language governing permissions and limitations
  18. ~ under the License.
  19. -->
  20. <model>
  21. <!-- Current configuration version: 3.0.0 -->
  22. <id>configuration</id>
  23. <name>Configuration</name>
  24. <description>
  25. Configuration format for Archiva (Maven Repository Manager).
  26. </description>
  27. <defaults>
  28. <default>
  29. <key>package</key>
  30. <value>org.apache.archiva.configuration</value>
  31. </default>
  32. </defaults>
  33. <versionDefinition>
  34. <type>field</type>
  35. <value>version</value>
  36. </versionDefinition>
  37. <classes>
  38. <class rootElement="true" xml.tagName="configuration">
  39. <name>Configuration</name>
  40. <version>1.0.0+</version>
  41. <fields>
  42. <field>
  43. <name>version</name>
  44. <version>1.0.0+</version>
  45. <type>String</type>
  46. <required>true</required>
  47. <description>This is the version of the configuration format.</description>
  48. </field>
  49. <field>
  50. <name>metadataStore</name>
  51. <version>3.0.0+</version>
  52. <type>String</type>
  53. <required>true</required>
  54. <defaultValue>jcr</defaultValue>
  55. <description>The type of the metadata storage. Allowed values: jcr, file, cassandra.</description>
  56. </field>
  57. <field>
  58. <name>repositoryGroups</name>
  59. <version>1.2.0+</version>
  60. <association>
  61. <type>RepositoryGroupConfiguration</type>
  62. <multiplicity>*</multiplicity>
  63. </association>
  64. <description>The list of repository groups.</description>
  65. </field>
  66. <field>
  67. <name>managedRepositories</name>
  68. <version>1.0.0+</version>
  69. <association>
  70. <type>ManagedRepositoryConfiguration</type>
  71. <multiplicity>*</multiplicity>
  72. </association>
  73. <description>The list of repositories that this archiva instance uses.</description>
  74. </field>
  75. <field>
  76. <name>remoteRepositories</name>
  77. <version>1.0.0+</version>
  78. <association>
  79. <type>RemoteRepositoryConfiguration</type>
  80. <multiplicity>*</multiplicity>
  81. </association>
  82. <description>The list of repositories that this archiva can retrieve from or publish to.</description>
  83. </field>
  84. <field>
  85. <name>proxyConnectors</name>
  86. <version>1.0.0+</version>
  87. <association>
  88. <type>ProxyConnectorConfiguration</type>
  89. <multiplicity>*</multiplicity>
  90. </association>
  91. <description>The list of proxy connectors for this archiva instance.</description>
  92. </field>
  93. <!-- To be introduced later.
  94. <field>
  95. <name>syncConnectors</name>
  96. <version>1.0.0+</version>
  97. <association>
  98. <type>SyncConnectorConfiguration</type>
  99. <multiplicity>*</multiplicity>
  100. </association>
  101. <description>The list of sync connectors for this archiva instance.</description>
  102. </field>
  103. -->
  104. <field>
  105. <name>networkProxies</name>
  106. <version>1.0.0+</version>
  107. <association>
  108. <type>NetworkProxyConfiguration</type>
  109. <multiplicity>*</multiplicity>
  110. </association>
  111. <description>
  112. The list of network proxies to use for outgoing requests.
  113. </description>
  114. </field>
  115. <field>
  116. <name>legacyArtifactPaths</name>
  117. <version>1.1.0+</version>
  118. <association>
  119. <type>LegacyArtifactPath</type>
  120. <multiplicity>*</multiplicity>
  121. </association>
  122. <description>
  123. The list of custom legacy path to artifact.
  124. </description>
  125. </field>
  126. <field>
  127. <name>repositoryScanning</name>
  128. <version>1.0.0+</version>
  129. <association>
  130. <type>RepositoryScanningConfiguration</type>
  131. <multiplicity>1</multiplicity>
  132. </association>
  133. <description>
  134. The repository scanning configuration.
  135. </description>
  136. </field>
  137. <field>
  138. <name>webapp</name>
  139. <version>1.0.0+</version>
  140. <association>
  141. <type>WebappConfiguration</type>
  142. <multiplicity>1</multiplicity>
  143. </association>
  144. <description>
  145. The webapp configuration.
  146. </description>
  147. </field>
  148. <field>
  149. <name>organisationInfo</name>
  150. <version>1.1.0+</version>
  151. <association>
  152. <type>OrganisationInformation</type>
  153. <multiplicity>1</multiplicity>
  154. </association>
  155. <description>
  156. The organisation info.
  157. </description>
  158. </field>
  159. <field>
  160. <name>networkConfiguration</name>
  161. <version>1.4.0+</version>
  162. <association>
  163. <type>NetworkConfiguration</type>
  164. <multiplicity>1</multiplicity>
  165. </association>
  166. <description>
  167. The NetworkConfiguration .
  168. </description>
  169. </field>
  170. <field>
  171. <name>redbackRuntimeConfiguration</name>
  172. <version>1.4.0+</version>
  173. <association>
  174. <type>RedbackRuntimeConfiguration</type>
  175. <multiplicity>1</multiplicity>
  176. </association>
  177. <description>The RedbackRuntimeConfiguration.</description>
  178. </field>
  179. <field>
  180. <name>archivaRuntimeConfiguration</name>
  181. <version>1.4.0+</version>
  182. <association>
  183. <type>ArchivaRuntimeConfiguration</type>
  184. <multiplicity>1</multiplicity>
  185. </association>
  186. <description>The ArchivaRuntimeConfiguration.</description>
  187. </field>
  188. <field>
  189. <name>proxyConnectorRuleConfigurations</name>
  190. <version>1.4.0+</version>
  191. <association>
  192. <type>ProxyConnectorRuleConfiguration</type>
  193. <multiplicity>*</multiplicity>
  194. </association>
  195. <description>
  196. The list of ProxyConnectorRuleConfigurations.
  197. </description>
  198. </field>
  199. <field>
  200. <name>archivaDefaultConfiguration</name>
  201. <version>1.4.2+</version>
  202. <association>
  203. <type>ArchivaDefaultConfiguration</type>
  204. <multiplicity>1</multiplicity>
  205. </association>
  206. <description>Archiva default settings.</description>
  207. </field>
  208. </fields>
  209. <codeSegments>
  210. <codeSegment>
  211. <version>1.2.0+</version>
  212. <code><![CDATA[
  213. private java.util.Map<String, java.util.List<String>> repositoryToGroupMap;
  214. public java.util.Map<String, java.util.List<String>> getRepositoryToGroupMap()
  215. {
  216. if ( repositoryGroups != null )
  217. {
  218. java.util.Map<String, java.util.List<String>> map = new java.util.HashMap<String, java.util.List<String>>();
  219. for ( RepositoryGroupConfiguration group : (java.util.List<RepositoryGroupConfiguration>) repositoryGroups )
  220. {
  221. for ( String repositoryId : (java.util.List<String>) group.getRepositories() )
  222. {
  223. java.util.List<String> groups = map.get( repositoryId );
  224. if ( groups == null )
  225. {
  226. groups = new java.util.ArrayList<String>();
  227. map.put( repositoryId, groups );
  228. }
  229. groups.add( group.getId() );
  230. }
  231. }
  232. repositoryToGroupMap = map;
  233. }
  234. return repositoryToGroupMap;
  235. }
  236. public java.util.Map<String, RepositoryGroupConfiguration> getRepositoryGroupsAsMap()
  237. {
  238. java.util.Map<String, RepositoryGroupConfiguration> map = new java.util.HashMap<String, RepositoryGroupConfiguration>();
  239. if ( repositoryGroups != null )
  240. {
  241. for ( RepositoryGroupConfiguration group : (java.util.List<RepositoryGroupConfiguration>) repositoryGroups )
  242. {
  243. map.put( group.getId(), group );
  244. }
  245. }
  246. return map;
  247. }
  248. public RepositoryGroupConfiguration findRepositoryGroupById( String id )
  249. {
  250. if ( repositoryGroups != null )
  251. {
  252. for ( RepositoryGroupConfiguration group : (java.util.List<RepositoryGroupConfiguration>) repositoryGroups )
  253. {
  254. if ( group.getId().equals( id ) )
  255. {
  256. return group;
  257. }
  258. }
  259. }
  260. return null;
  261. }
  262. private java.util.Map<String, java.util.List<String>> groupToRepositoryMap;
  263. public java.util.Map<String, java.util.List<String>> getGroupToRepositoryMap()
  264. {
  265. if ( repositoryGroups != null && managedRepositories != null )
  266. {
  267. java.util.Map<String, java.util.List<String>> map = new java.util.HashMap<String, java.util.List<String>>();
  268. for ( ManagedRepositoryConfiguration repo : (java.util.List<ManagedRepositoryConfiguration>) managedRepositories )
  269. {
  270. for ( RepositoryGroupConfiguration group : (java.util.List<RepositoryGroupConfiguration>) repositoryGroups )
  271. {
  272. if ( !group.getRepositories().contains( repo.getId() ) )
  273. {
  274. String groupId = group.getId();
  275. java.util.List<String> repos = map.get( groupId );
  276. if ( repos == null )
  277. {
  278. repos = new java.util.ArrayList<String>();
  279. map.put( groupId, repos );
  280. }
  281. repos.add( repo.getId() );
  282. }
  283. }
  284. }
  285. groupToRepositoryMap = map;
  286. }
  287. return groupToRepositoryMap;
  288. }
  289. ]]></code>
  290. </codeSegment>
  291. <codeSegment>
  292. <version>1.0.0+</version>
  293. <code><![CDATA[
  294. public java.util.Map<String, NetworkProxyConfiguration> getNetworkProxiesAsMap()
  295. {
  296. java.util.Map<String, NetworkProxyConfiguration> map = new java.util.HashMap<String, NetworkProxyConfiguration>();
  297. if ( networkProxies != null )
  298. {
  299. for ( java.util.Iterator<NetworkProxyConfiguration> i = networkProxies.iterator(); i.hasNext(); )
  300. {
  301. NetworkProxyConfiguration proxy = i.next();
  302. map.put( proxy.getId(), proxy );
  303. }
  304. }
  305. return map;
  306. }
  307. public java.util.Map<String, java.util.List<ProxyConnectorConfiguration>> getProxyConnectorAsMap()
  308. {
  309. java.util.Map<String, java.util.List<ProxyConnectorConfiguration>> proxyConnectorMap =
  310. new java.util.HashMap<String, java.util.List<ProxyConnectorConfiguration>>();
  311. if( proxyConnectors != null )
  312. {
  313. java.util.Iterator<ProxyConnectorConfiguration> it = proxyConnectors.iterator();
  314. while ( it.hasNext() )
  315. {
  316. ProxyConnectorConfiguration proxyConfig = it.next();
  317. String key = proxyConfig.getSourceRepoId();
  318. java.util.List<ProxyConnectorConfiguration> connectors = proxyConnectorMap.get( key );
  319. if ( connectors == null )
  320. {
  321. connectors = new java.util.ArrayList<ProxyConnectorConfiguration>();
  322. proxyConnectorMap.put( key, connectors );
  323. }
  324. connectors.add( proxyConfig );
  325. java.util.Collections.sort( connectors,
  326. org.apache.archiva.configuration.provider.functors.ProxyConnectorConfigurationOrderComparator.getInstance() );
  327. }
  328. }
  329. return proxyConnectorMap;
  330. }
  331. public java.util.Map<String, RemoteRepositoryConfiguration> getRemoteRepositoriesAsMap()
  332. {
  333. java.util.Map<String, RemoteRepositoryConfiguration> map = new java.util.HashMap<String, RemoteRepositoryConfiguration>();
  334. if ( remoteRepositories != null )
  335. {
  336. for ( java.util.Iterator<RemoteRepositoryConfiguration> i = remoteRepositories.iterator(); i.hasNext(); )
  337. {
  338. RemoteRepositoryConfiguration repo = i.next();
  339. map.put( repo.getId(), repo );
  340. }
  341. }
  342. return map;
  343. }
  344. public RemoteRepositoryConfiguration findRemoteRepositoryById( String id )
  345. {
  346. if ( remoteRepositories != null )
  347. {
  348. for ( java.util.Iterator<RemoteRepositoryConfiguration> i = remoteRepositories.iterator(); i.hasNext(); )
  349. {
  350. RemoteRepositoryConfiguration repo = i.next();
  351. if ( repo.getId().equals( id ) )
  352. {
  353. return repo;
  354. }
  355. }
  356. }
  357. return null;
  358. }
  359. public java.util.Map<String, ManagedRepositoryConfiguration> getManagedRepositoriesAsMap()
  360. {
  361. java.util.Map<String, ManagedRepositoryConfiguration> map = new java.util.HashMap<String, ManagedRepositoryConfiguration>();
  362. if ( managedRepositories != null )
  363. {
  364. for ( java.util.Iterator<ManagedRepositoryConfiguration> i = managedRepositories.iterator(); i.hasNext(); )
  365. {
  366. ManagedRepositoryConfiguration repo = i.next();
  367. map.put( repo.getId(), repo );
  368. }
  369. }
  370. return map;
  371. }
  372. public ManagedRepositoryConfiguration findManagedRepositoryById( String id )
  373. {
  374. if ( managedRepositories != null )
  375. {
  376. for ( java.util.Iterator<ManagedRepositoryConfiguration> i = managedRepositories.iterator(); i.hasNext(); )
  377. {
  378. ManagedRepositoryConfiguration repo = i.next();
  379. if ( repo.getId().equals( id ) )
  380. {
  381. return repo;
  382. }
  383. }
  384. }
  385. return null;
  386. }
  387. ]]></code>
  388. </codeSegment>
  389. </codeSegments>
  390. </class>
  391. <!--
  392. ____ _ _
  393. | _ \ ___ _ __ ___ ___(_) |_ ___ _ __ _ _
  394. | |_) / _ \ '_ \ / _ \/ __| | __/ _ \| '__| | | |
  395. | _ < __/ |_) | (_) \__ \ | || (_) | | | |_| |
  396. |_| \_\___| .__/ \___/|___/_|\__\___/|_| \__, |
  397. |_| |___/
  398. -->
  399. <class>
  400. <name>AbstractRepositoryConfiguration</name>
  401. <version>1.0.0+</version>
  402. <abstract>true</abstract>
  403. <fields>
  404. <field>
  405. <name>id</name>
  406. <version>1.0.0+</version>
  407. <type>String</type>
  408. <required>true</required>
  409. <description>
  410. The repository identifier.
  411. </description>
  412. </field>
  413. <field>
  414. <name>type</name>
  415. <version>3.0.0+</version>
  416. <type>String</type>
  417. <required>true</required>
  418. <defaultValue>MAVEN</defaultValue>
  419. <description>
  420. The repository type. Currently only MAVEN type is known.
  421. </description>
  422. </field>
  423. <field>
  424. <name>name</name>
  425. <version>1.0.0+</version>
  426. <type>String</type>
  427. <required>true</required>
  428. <description>
  429. The descriptive name of the repository.
  430. </description>
  431. </field>
  432. <field>
  433. <name>layout</name>
  434. <version>1.0.0+</version>
  435. <type>String</type>
  436. <required>true</required>
  437. <description>
  438. The layout of the repository. Valid values are "default" and "legacy".
  439. </description>
  440. <!-- TODO: should be able to detect this from the repository (perhaps by metadata at the root) -->
  441. <defaultValue>default</defaultValue>
  442. </field>
  443. <field>
  444. <name>indexDir</name>
  445. <version>1.0.0+</version>
  446. <type>String</type>
  447. <defaultValue></defaultValue>
  448. <description>
  449. The directory for the indexes of this repository.
  450. </description>
  451. </field>
  452. <field>
  453. <name>packedIndexDir</name>
  454. <version>3.0.0+</version>
  455. <type>String</type>
  456. <defaultValue></defaultValue>
  457. <description>
  458. The directory for the packed indexes of this repository.
  459. </description>
  460. </field>
  461. <field>
  462. <name>description</name>
  463. <version>1.0.0+</version>
  464. <type>String</type>
  465. <defaultValue></defaultValue>
  466. <description>
  467. The description of this repository.
  468. </description>
  469. </field>
  470. </fields>
  471. <codeSegments>
  472. <codeSegment>
  473. <version>1.0.0+</version>
  474. <code><![CDATA[
  475. public int hashCode()
  476. {
  477. int result = 17;
  478. result = 37 * result + ( id != null ? id.hashCode() : 0 );
  479. return result;
  480. }
  481. public boolean equals( Object other )
  482. {
  483. if ( this == other )
  484. {
  485. return true;
  486. }
  487. if ( !( other instanceof AbstractRepositoryConfiguration ) )
  488. {
  489. return false;
  490. }
  491. AbstractRepositoryConfiguration that = (AbstractRepositoryConfiguration) other;
  492. boolean result = true;
  493. result = result && ( getId() == null ? that.getId() == null : getId().equals( that.getId() ) );
  494. return result;
  495. }
  496. ]]></code>
  497. </codeSegment>
  498. </codeSegments>
  499. </class>
  500. <class>
  501. <name>RemoteRepositoryConfiguration</name>
  502. <version>1.0.0+</version>
  503. <superClass>AbstractRepositoryConfiguration</superClass>
  504. <fields>
  505. <field>
  506. <name>url</name>
  507. <version>1.0.0+</version>
  508. <type>String</type>
  509. <required>true</required>
  510. <description>
  511. The URL for this repository.
  512. </description>
  513. </field>
  514. <field>
  515. <name>username</name>
  516. <version>1.0.0+</version>
  517. <type>String</type>
  518. <description>
  519. The Username for this repository.
  520. </description>
  521. </field>
  522. <field>
  523. <name>password</name>
  524. <version>1.0.0+</version>
  525. <type>String</type>
  526. <description>
  527. The Password for this repository.
  528. </description>
  529. </field>
  530. <field>
  531. <name>timeout</name>
  532. <version>1.0.1+</version>
  533. <type>int</type>
  534. <description>
  535. Timeout in seconds for connections to this repository
  536. </description>
  537. <defaultValue>60</defaultValue>
  538. </field>
  539. <field>
  540. <name>refreshCronExpression</name>
  541. <version>1.4.0+</version>
  542. <type>String</type>
  543. <description>
  544. When to run the refresh task.
  545. Default is every sunday at 8H00.
  546. </description>
  547. <defaultValue>0 0 08 ? * SUN</defaultValue>
  548. </field>
  549. <field>
  550. <name>downloadRemoteIndex</name>
  551. <version>1.4.0+</version>
  552. <type>boolean</type>
  553. <description>
  554. Activate download of remote index if remoteIndexUrl is set too.
  555. </description>
  556. <defaultValue>false</defaultValue>
  557. </field>
  558. <field>
  559. <name>remoteIndexUrl</name>
  560. <version>1.4.0+</version>
  561. <type>String</type>
  562. <description>
  563. Remote Index Url : if not starting with http will be relative to the remote repository url.
  564. </description>
  565. </field>
  566. <field>
  567. <name>remoteDownloadNetworkProxyId</name>
  568. <version>1.4.0+</version>
  569. <type>String</type>
  570. <description>
  571. Id of the networkProxy to use when downloading remote index.
  572. </description>
  573. </field>
  574. <field>
  575. <name>remoteDownloadTimeout</name>
  576. <version>1.4.0+</version>
  577. <type>int</type>
  578. <description>
  579. Timeout in seconds for download remote index. Default is more long than artifact download.
  580. </description>
  581. <defaultValue>300</defaultValue>
  582. </field>
  583. <field>
  584. <name>downloadRemoteIndexOnStartup</name>
  585. <version>1.4.0+</version>
  586. <type>boolean</type>
  587. <description>
  588. Schedule download of remote index when archiva start
  589. </description>
  590. <defaultValue>false</defaultValue>
  591. </field>
  592. <field>
  593. <name>extraParameters</name>
  594. <version>1.4.0+</version>
  595. <type>Map</type>
  596. <description>Additionnal request parameters to add to url when requesting remote repositories.</description>
  597. <association xml.mapStyle="inline">
  598. <type>String</type>
  599. <multiplicity>*</multiplicity>
  600. </association>
  601. </field>
  602. <field>
  603. <name>extraHeaders</name>
  604. <version>1.4.0+</version>
  605. <type>Map</type>
  606. <description>Additional http headers to add to url when requesting remote repositories.</description>
  607. <association xml.mapStyle="inline">
  608. <type>String</type>
  609. <multiplicity>*</multiplicity>
  610. </association>
  611. </field>
  612. <field>
  613. <name>checkPath</name>
  614. <version>1.4.2+</version>
  615. <type>String</type>
  616. <description>The path to check the repository availability (relative to the repository URL). Some repositories do not allow browsing, so a certain artifact must be checked.</description>
  617. </field>
  618. </fields>
  619. <codeSegments>
  620. <codeSegment>
  621. <version>1.0.0+</version>
  622. <code><![CDATA[
  623. public String toString()
  624. {
  625. return "RemoteRepositoryConfiguration id:'" + getId() + "',name:'" + getName() +"'";
  626. }
  627. ]]></code>
  628. </codeSegment>
  629. </codeSegments>
  630. </class>
  631. <class>
  632. <name>ManagedRepositoryConfiguration</name>
  633. <version>1.0.0+</version>
  634. <superClass>AbstractRepositoryConfiguration</superClass>
  635. <fields>
  636. <field>
  637. <name>location</name>
  638. <version>1.0.0+</version>
  639. <type>String</type>
  640. <required>true</required>
  641. <description>
  642. The file system location for this repository.
  643. </description>
  644. </field>
  645. <field>
  646. <name>releases</name>
  647. <version>1.0.0+</version>
  648. <type>boolean</type>
  649. <description>True if this repository contains release versioned artifacts.</description>
  650. <defaultValue>true</defaultValue>
  651. </field>
  652. <field>
  653. <name>blockRedeployments</name>
  654. <version>1.3.0+</version>
  655. <type>boolean</type>
  656. <description>True if re-deployment of artifacts already in the repository will be blocked.</description>
  657. <defaultValue>false</defaultValue>
  658. </field>
  659. <field>
  660. <name>snapshots</name>
  661. <version>1.0.0+</version>
  662. <type>boolean</type>
  663. <description>True if this repository contains snapshot versioned artifacts.</description>
  664. <defaultValue>false</defaultValue>
  665. </field>
  666. <field>
  667. <name>scanned</name>
  668. <version>1.0.0+</version>
  669. <type>boolean</type>
  670. <description>True if this repository should be scanned and processed.</description>
  671. <defaultValue>true</defaultValue>
  672. </field>
  673. <field>
  674. <name>refreshCronExpression</name>
  675. <version>1.0.0+</version>
  676. <type>String</type>
  677. <description>
  678. When to run the refresh task.
  679. Default is every hour
  680. </description>
  681. <defaultValue>0 0 * * * ?</defaultValue>
  682. </field>
  683. <field>
  684. <name>retentionCount</name>
  685. <version>1.0.0+</version>
  686. <type>int</type>
  687. <description>
  688. The total count of the artifact to be retained for each snapshot.
  689. </description>
  690. <defaultValue>2</defaultValue>
  691. </field>
  692. <field>
  693. <name>retentionPeriod</name>
  694. <version>1.0.0+</version>
  695. <type>int</type>
  696. <description>
  697. The number of days after which snapshots will be removed.
  698. </description>
  699. <defaultValue>100</defaultValue>
  700. </field>
  701. <field>
  702. <name>deleteReleasedSnapshots</name>
  703. <version>1.0.0+</version>
  704. <type>boolean</type>
  705. <description>
  706. True if the released snapshots are to be removed from the repo during repository purge.
  707. </description>
  708. <defaultValue>false</defaultValue>
  709. </field>
  710. <field>
  711. <name>skipPackedIndexCreation</name>
  712. <version>1.0.0+</version>
  713. <type>boolean</type>
  714. <description>
  715. True to not generate packed index (note you won't be able to export your index.
  716. </description>
  717. <defaultValue>false</defaultValue>
  718. </field>
  719. <field>
  720. <name>stageRepoNeeded</name>
  721. <version>1.0.0+</version>
  722. <type>boolean</type>
  723. <description>
  724. Need a staging repository
  725. </description>
  726. <defaultValue>false</defaultValue>
  727. </field>
  728. </fields>
  729. </class>
  730. <class>
  731. <name>LegacyArtifactPath</name>
  732. <version>1.1.0+</version>
  733. <fields>
  734. <field>
  735. <name>path</name>
  736. <version>1.1.0+</version>
  737. <type>String</type>
  738. <required>true</required>
  739. <description>
  740. The legacy path.
  741. </description>
  742. </field>
  743. <field>
  744. <name>artifact</name>
  745. <version>1.1.0+</version>
  746. <type>String</type>
  747. <required>true</required>
  748. <description>
  749. The artifact reference, as " [groupId] : [artifactId] : [version] : [classifier] : [type] ".
  750. </description>
  751. </field>
  752. </fields>
  753. <codeSegments>
  754. <codeSegment>
  755. <version>1.0.0+</version>
  756. <code><![CDATA[
  757. public boolean match( String path )
  758. {
  759. return path.equals( this.path );
  760. }
  761. public String getGroupId()
  762. {
  763. return artifact.split( ":" )[0];
  764. }
  765. public String getArtifactId()
  766. {
  767. return artifact.split( ":" )[1];
  768. }
  769. public String getVersion()
  770. {
  771. return artifact.split( ":" )[2];
  772. }
  773. public String getClassifier()
  774. {
  775. String classifier = artifact.split( ":" )[3];
  776. return classifier.length() > 0 ? classifier : null;
  777. }
  778. public String getType()
  779. {
  780. return artifact.split( ":" )[4];
  781. }
  782. @Override
  783. public boolean equals( Object o )
  784. {
  785. if ( this == o )
  786. {
  787. return true;
  788. }
  789. if ( o == null || getClass() != o.getClass() )
  790. {
  791. return false;
  792. }
  793. LegacyArtifactPath that = (LegacyArtifactPath) o;
  794. if ( path != null ? !path.equals( that.path ) : that.path != null )
  795. {
  796. return false;
  797. }
  798. return true;
  799. }
  800. @Override
  801. public int hashCode()
  802. {
  803. return path != null ? 37 + path.hashCode() : 0;
  804. }
  805. ]]></code>
  806. </codeSegment>
  807. </codeSegments>
  808. </class>
  809. <class>
  810. <name>RepositoryGroupConfiguration</name>
  811. <version>1.2.0+</version>
  812. <fields>
  813. <field>
  814. <name>id</name>
  815. <version>1.2.0+</version>
  816. <type>String</type>
  817. <required>true</required>
  818. <description>The id of the repository group.</description>
  819. </field>
  820. <field>
  821. <name>mergedIndexPath</name>
  822. <version>1.2.0+</version>
  823. <type>String</type>
  824. <required>false</required>
  825. <defaultValue>.indexer</defaultValue>
  826. <description>The path of the merged index.</description>
  827. </field>
  828. <field>
  829. <name>mergedIndexTtl</name>
  830. <version>1.4.0+</version>
  831. <type>int</type>
  832. <required>false</required>
  833. <defaultValue>30</defaultValue>
  834. <description>The time to live of the merged index of the repository group.</description>
  835. </field>
  836. <field>
  837. <name>cronExpression</name>
  838. <version>1.0.0+</version>
  839. <type>String</type>
  840. <description>
  841. When to run the index merging for this group.
  842. No default value.
  843. </description>
  844. <defaultValue></defaultValue>
  845. </field>
  846. <field>
  847. <name>repositories</name>
  848. <version>1.2.0+</version>
  849. <association>
  850. <type>String</type>
  851. <multiplicity>*</multiplicity>
  852. </association>
  853. <description>The list of repository ids under the group.</description>
  854. </field>
  855. </fields>
  856. </class>
  857. <class>
  858. <name>RepositoryCheckPath</name>
  859. <version>1.4.2+</version>
  860. <fields >
  861. <field >
  862. <name>url</name>
  863. <version>1.4.2+</version>
  864. <type>String</type>
  865. <required>true</required>
  866. <description>
  867. The URL for which this path should be used
  868. </description>
  869. </field>
  870. <field>
  871. <name>path</name>
  872. <version>1.4.2+</version>
  873. <type>String</type>
  874. <required>true</required>
  875. <description>
  876. The path to use for checking the repository connection.
  877. </description>
  878. </field>
  879. </fields>
  880. </class>
  881. <!--
  882. ____ _
  883. / ___|___ _ __ _ __ ___ ___| |_ ___ _ __ ___
  884. | | / _ \| '_ \| '_ \ / _ \/ __| __/ _ \| '__/ __|
  885. | |__| (_) | | | | | | | __/ (__| || (_) | | \__ \
  886. \____\___/|_| |_|_| |_|\___|\___|\__\___/|_| |___/
  887. -->
  888. <class>
  889. <name>AbstractRepositoryConnectorConfiguration</name>
  890. <abstract>true</abstract>
  891. <version>1.0.0+</version>
  892. <fields>
  893. <field>
  894. <name>sourceRepoId</name>
  895. <version>1.0.0+</version>
  896. <type>String</type>
  897. <required>true</required>
  898. <description>
  899. The Repository Source for this connector.
  900. </description>
  901. </field>
  902. <field>
  903. <name>targetRepoId</name>
  904. <version>1.0.0+</version>
  905. <type>String</type>
  906. <required>true</required>
  907. <description>
  908. The Repository Target for this connector.
  909. </description>
  910. </field>
  911. <field>
  912. <name>proxyId</name>
  913. <version>1.0.0+</version>
  914. <type>String</type>
  915. <description>
  916. The network proxy ID to use for this connector.
  917. </description>
  918. </field>
  919. <field>
  920. <name>blackListPatterns</name>
  921. <version>1.0.0+</version>
  922. <association>
  923. <type>String</type>
  924. <multiplicity>*</multiplicity>
  925. </association>
  926. <description>
  927. The list of blacklisted patterns for this connector.
  928. </description>
  929. </field>
  930. <field>
  931. <name>whiteListPatterns</name>
  932. <version>1.0.0+</version>
  933. <association>
  934. <type>String</type>
  935. <multiplicity>*</multiplicity>
  936. </association>
  937. <description>
  938. The list of whitelisted patterns for this connector.
  939. </description>
  940. </field>
  941. <field>
  942. <name>policies</name>
  943. <version>1.0.0+</version>
  944. <type>Map</type>
  945. <description>Policy configuration for the connector.</description>
  946. <association xml.mapStyle="inline">
  947. <type>String</type>
  948. <multiplicity>*</multiplicity>
  949. </association>
  950. </field>
  951. <field>
  952. <name>properties</name>
  953. <version>1.0.0+</version>
  954. <type>Map</type>
  955. <description>Configuration for the connector.</description>
  956. <association xml.mapStyle="inline">
  957. <type>String</type>
  958. <multiplicity>*</multiplicity>
  959. </association>
  960. </field>
  961. <field>
  962. <name>disabled</name>
  963. <version>1.2+</version>
  964. <description>
  965. If the the repository proxy connector is disabled or not
  966. </description>
  967. <type>boolean</type>
  968. <defaultValue>false</defaultValue>
  969. </field>
  970. </fields>
  971. <codeSegments>
  972. <codeSegment>
  973. <version>1.0.0+</version>
  974. <code><![CDATA[
  975. /**
  976. * Obtain a specific policy from the underlying connector.
  977. *
  978. * @param policyId the policy id to fetch.
  979. * @param defaultValue the default value for the policy id.
  980. * @return the configured policy value (or default value if not found).
  981. */
  982. public String getPolicy( String policyId, String defaultValue )
  983. {
  984. if ( this.getPolicies() == null )
  985. {
  986. return null;
  987. }
  988. Object value = this.getPolicies().get( policyId );
  989. if ( value == null )
  990. {
  991. return defaultValue;
  992. }
  993. return (String) value;
  994. }
  995. ]]></code>
  996. </codeSegment>
  997. </codeSegments>
  998. </class>
  999. <class>
  1000. <name>ProxyConnectorRuleConfiguration</name>
  1001. <version>1.4.0+</version>
  1002. <fields>
  1003. <field>
  1004. <name>ruleType</name>
  1005. <version>1.4.0+</version>
  1006. <type>String</type>
  1007. <description>
  1008. The type if this rule: whiteList, blackList etc..
  1009. </description>
  1010. </field>
  1011. <field>
  1012. <name>pattern</name>
  1013. <version>1.4.0+</version>
  1014. <type>String</type>
  1015. <description>
  1016. The pattern for this rule: whiteList, blackList etc..
  1017. </description>
  1018. </field>
  1019. <field>
  1020. <name>proxyConnectors</name>
  1021. <version>1.4.0+</version>
  1022. <description>Associated proxyConnectors configuration.</description>
  1023. <association>
  1024. <type>ProxyConnectorConfiguration</type>
  1025. <multiplicity>*</multiplicity>
  1026. </association>
  1027. </field>
  1028. </fields>
  1029. </class>
  1030. <class>
  1031. <superClass>AbstractRepositoryConnectorConfiguration</superClass>
  1032. <name>ProxyConnectorConfiguration</name>
  1033. <version>1.0.0+</version>
  1034. <fields>
  1035. <field>
  1036. <name>order</name>
  1037. <version>1.0.0+</version>
  1038. <description>
  1039. The order of the proxy connectors. (0 means no order specified)
  1040. </description>
  1041. <type>int</type>
  1042. <defaultValue>0</defaultValue>
  1043. </field>
  1044. </fields>
  1045. <codeSegments>
  1046. <codeSegment>
  1047. <version>1.0.0+</version>
  1048. <code><![CDATA[
  1049. /**
  1050. * The order id for UNORDERED
  1051. */
  1052. public static final int UNORDERED = 0;
  1053. /**
  1054. * The policy key {@link #getPolicies()} for error handling.
  1055. * See {@link org.apache.archiva.policies.DownloadErrorPolicy}
  1056. * for details on potential values to this policy key.
  1057. */
  1058. public static final String POLICY_PROPAGATE_ERRORS = "propagate-errors";
  1059. /**
  1060. * The policy key {@link #getPolicies()} for error handling when an artifact is present.
  1061. * See {@link org.apache.archiva.policies.DownloadErrorPolicy}
  1062. * for details on potential values to this policy key.
  1063. */
  1064. public static final String POLICY_PROPAGATE_ERRORS_ON_UPDATE = "propagate-errors-on-update";
  1065. /**
  1066. * The policy key {@link #getPolicies()} for snapshot handling.
  1067. * See {@link org.apache.archiva.policies.SnapshotsPolicy}
  1068. * for details on potential values to this policy key.
  1069. */
  1070. public static final String POLICY_SNAPSHOTS = "snapshots";
  1071. /**
  1072. * The policy key {@link #getPolicies()} for releases handling.
  1073. * See {@link org.apache.archiva.policies.ReleasesPolicy}
  1074. * for details on potential values to this policy key.
  1075. */
  1076. public static final String POLICY_RELEASES = "releases";
  1077. /**
  1078. * The policy key {@link #getPolicies()} for checksum handling.
  1079. * See {@link org.apache.archiva.policies.ChecksumPolicy}
  1080. * for details on potential values to this policy key.
  1081. */
  1082. public static final String POLICY_CHECKSUM = "checksum";
  1083. /**
  1084. * The policy key {@link #getPolicies()} for cache-failures handling.
  1085. * See {@link org.apache.archiva.policies.CachedFailuresPolicy}
  1086. * for details on potential values to this policy key.
  1087. */
  1088. public static final String POLICY_CACHE_FAILURES = "cache-failures";
  1089. ]]></code>
  1090. </codeSegment>
  1091. </codeSegments>
  1092. </class>
  1093. <class>
  1094. <superClass>AbstractRepositoryConnectorConfiguration</superClass>
  1095. <name>SyncConnectorConfiguration</name>
  1096. <abstract>true</abstract>
  1097. <version>1.0.0+</version>
  1098. <fields>
  1099. <field>
  1100. <name>cronExpression</name>
  1101. <version>1.0.0+</version>
  1102. <type>String</type>
  1103. <description>When to run the sync mechanism. Default is every hour on the hour.</description>
  1104. <defaultValue>0 0 * * * ?</defaultValue>
  1105. </field>
  1106. <field>
  1107. <name>method</name>
  1108. <version>1.0.0+</version>
  1109. <type>String</type>
  1110. <description>The type of synchronization to use.</description>
  1111. <defaultValue>rsync</defaultValue>
  1112. </field>
  1113. </fields>
  1114. </class>
  1115. <!--
  1116. ____ _
  1117. | _ \ _ __ _____ _(_) ___ ___
  1118. | |_) | '__/ _ \ \/ / |/ _ \/ __|
  1119. | __/| | | (_) > <| | __/\__ \
  1120. |_| |_| \___/_/\_\_|\___||___/
  1121. -->
  1122. <class>
  1123. <name>NetworkProxyConfiguration</name>
  1124. <version>1.0.0+</version>
  1125. <fields>
  1126. <field>
  1127. <name>id</name>
  1128. <version>1.0.0+</version>
  1129. <type>String</type>
  1130. <description>
  1131. The ID for this proxy.
  1132. </description>
  1133. </field>
  1134. <field>
  1135. <name>protocol</name>
  1136. <version>1.0.0+</version>
  1137. <description>
  1138. The network protocol to use with this proxy: "http", "socks-4"
  1139. </description>
  1140. <type>String</type>
  1141. <required>true</required>
  1142. <defaultValue>http</defaultValue>
  1143. </field>
  1144. <field>
  1145. <name>host</name>
  1146. <version>1.0.0+</version>
  1147. <description>
  1148. The proxy host.
  1149. </description>
  1150. <type>String</type>
  1151. <required>true</required>
  1152. </field>
  1153. <field>
  1154. <name>port</name>
  1155. <version>1.0.0+</version>
  1156. <description>
  1157. The proxy port.
  1158. </description>
  1159. <type>int</type>
  1160. <defaultValue>8080</defaultValue>
  1161. </field>
  1162. <field>
  1163. <name>username</name>
  1164. <version>1.0.0+</version>
  1165. <description>
  1166. The proxy user.
  1167. </description>
  1168. <type>String</type>
  1169. </field>
  1170. <field>
  1171. <name>password</name>
  1172. <version>1.0.0+</version>
  1173. <description>
  1174. The proxy password.
  1175. </description>
  1176. <type>String</type>
  1177. </field>
  1178. <field>
  1179. <name>useNtlm</name>
  1180. <version>1.0.0+</version>
  1181. <description>
  1182. Use ntlm authentification.
  1183. </description>
  1184. <type>boolean</type>
  1185. <defaultValue>false</defaultValue>
  1186. </field>
  1187. </fields>
  1188. <codeSegments>
  1189. <codeSegment>
  1190. <version>1.0.0+</version>
  1191. <code><![CDATA[
  1192. public int hashCode()
  1193. {
  1194. int result = 17;
  1195. result = 37 * result + ( id != null ? id.hashCode() : 0 );
  1196. return result;
  1197. }
  1198. public boolean equals( Object other )
  1199. {
  1200. if ( this == other )
  1201. {
  1202. return true;
  1203. }
  1204. if ( !( other instanceof NetworkProxyConfiguration ) )
  1205. {
  1206. return false;
  1207. }
  1208. NetworkProxyConfiguration that = (NetworkProxyConfiguration) other;
  1209. boolean result = true;
  1210. result = result && ( getId() == null ? that.getId() == null : getId().equals( that.getId() ) );
  1211. return result;
  1212. }
  1213. ]]></code>
  1214. </codeSegment>
  1215. </codeSegments>
  1216. </class>
  1217. <!--
  1218. ____ _
  1219. / ___| ___ __ _ _ __ _ __ (_)_ __ __ _
  1220. \___ \ / __/ _` | '_ \| '_ \| | '_ \ / _` |
  1221. ___) | (_| (_| | | | | | | | | | | | (_| |
  1222. |____/ \___\__,_|_| |_|_| |_|_|_| |_|\__, |
  1223. |___/
  1224. -->
  1225. <class>
  1226. <name>RepositoryScanningConfiguration</name>
  1227. <version>1.0.0+</version>
  1228. <fields>
  1229. <field>
  1230. <name>fileTypes</name>
  1231. <version>1.0.0+</version>
  1232. <required>true</required>
  1233. <association>
  1234. <type>FileType</type>
  1235. <multiplicity>*</multiplicity>
  1236. </association>
  1237. <description>
  1238. The FileTypes for the repository scanning configuration.
  1239. </description>
  1240. </field>
  1241. <field>
  1242. <name>knownContentConsumers</name>
  1243. <version>1.0.0+</version>
  1244. <required>true</required>
  1245. <association>
  1246. <type>String</type>
  1247. <multiplicity>*</multiplicity>
  1248. </association>
  1249. <description>
  1250. The list of active consumers IDs for known content.
  1251. </description>
  1252. </field>
  1253. <field>
  1254. <name>invalidContentConsumers</name>
  1255. <version>1.0.0+</version>
  1256. <required>true</required>
  1257. <association>
  1258. <type>String</type>
  1259. <multiplicity>*</multiplicity>
  1260. </association>
  1261. <description>
  1262. The list of active consumer IDs for invalid content.
  1263. </description>
  1264. </field>
  1265. </fields>
  1266. </class>
  1267. <class>
  1268. <name>FileType</name>
  1269. <version>1.0.0+</version>
  1270. <description>The FileType object</description>
  1271. <fields>
  1272. <field>
  1273. <name>id</name>
  1274. <version>1.0.0+</version>
  1275. <required>true</required>
  1276. <type>String</type>
  1277. </field>
  1278. <field>
  1279. <name>patterns</name>
  1280. <version>1.0.0+</version>
  1281. <required>true</required>
  1282. <association>
  1283. <type>String</type>
  1284. <multiplicity>*</multiplicity>
  1285. </association>
  1286. </field>
  1287. </fields>
  1288. <codeSegments>
  1289. <codeSegment>
  1290. <version>1.0.0+</version>
  1291. <code><![CDATA[
  1292. @Override
  1293. public boolean equals( Object o )
  1294. {
  1295. if ( this == o )
  1296. {
  1297. return true;
  1298. }
  1299. if ( o == null || getClass() != o.getClass() )
  1300. {
  1301. return false;
  1302. }
  1303. FileType fileType = (FileType) o;
  1304. if ( id != null ? !id.equals( fileType.id ) : fileType.id != null )
  1305. {
  1306. return false;
  1307. }
  1308. return true;
  1309. }
  1310. @Override
  1311. public int hashCode()
  1312. {
  1313. return id != null ? 37 + id.hashCode() : 0;
  1314. }
  1315. ]]></code>
  1316. </codeSegment>
  1317. </codeSegments>
  1318. </class>
  1319. <!--
  1320. __ _______ ____ _ ____ ____
  1321. \ \ / / ____| __ ) / \ | _ \| _ \
  1322. \ \ /\ / /| _| | _ \ / _ \ | |_) | |_) |
  1323. \ V V / | |___| |_) / ___ \| __/| __/
  1324. \_/\_/ |_____|____/_/ \_\_| |_|
  1325. -->
  1326. <class>
  1327. <name>OrganisationInformation</name>
  1328. <version>1.1.0+</version>
  1329. <description>
  1330. The organisation information settings.
  1331. </description>
  1332. <fields>
  1333. <field>
  1334. <name>name</name>
  1335. <description>name of the organisation</description>
  1336. <version>1.1.0+</version>
  1337. <association>
  1338. <type>String</type>
  1339. </association>
  1340. </field>
  1341. <field>
  1342. <name>url</name>
  1343. <description>name of the organisation</description>
  1344. <version>1.1.0+</version>
  1345. <association>
  1346. <type>String</type>
  1347. </association>
  1348. </field>
  1349. <field>
  1350. <name>logoLocation</name>
  1351. <description>name of the organisation</description>
  1352. <version>1.1.0+</version>
  1353. <association>
  1354. <type>String</type>
  1355. </association>
  1356. </field>
  1357. </fields>
  1358. </class>
  1359. <class>
  1360. <name>WebappConfiguration</name>
  1361. <version>1.0.0+</version>
  1362. <description>
  1363. The webapp configuration settings.
  1364. </description>
  1365. <fields>
  1366. <field>
  1367. <name>ui</name>
  1368. <description>options for altering the ui presentation</description>
  1369. <version>1.0.0+</version>
  1370. <association>
  1371. <type>UserInterfaceOptions</type>
  1372. </association>
  1373. </field>
  1374. </fields>
  1375. </class>
  1376. <class>
  1377. <name>UserInterfaceOptions</name>
  1378. <version>1.0.0+</version>
  1379. <description>
  1380. The user interface configuration settings.
  1381. </description>
  1382. <fields>
  1383. <field>
  1384. <name>showFindArtifacts</name>
  1385. <description>true if find artifacts should be enabled</description>
  1386. <version>1.0.0+</version>
  1387. <type>boolean</type>
  1388. <defaultValue>true</defaultValue>
  1389. </field>
  1390. <field>
  1391. <name>appletFindEnabled</name>
  1392. <description>true if applet behavior for find artifacts should be enabled</description>
  1393. <version>1.0.0+</version>
  1394. <type>boolean</type>
  1395. <defaultValue>true</defaultValue>
  1396. </field>
  1397. <field>
  1398. <name>disableEasterEggs</name>
  1399. <version>1.3.0+</version>
  1400. <type>boolean</type>
  1401. <defaultValue>false</defaultValue>
  1402. </field>
  1403. <field>
  1404. <name>applicationUrl</name>
  1405. <version>1.4.0+</version>
  1406. <type>String</type>
  1407. </field>
  1408. <field>
  1409. <name>disableRegistration</name>
  1410. <version>1.4.0+</version>
  1411. <type>boolean</type>
  1412. <defaultValue>false</defaultValue>
  1413. </field>
  1414. </fields>
  1415. </class>
  1416. <class>
  1417. <name>NetworkConfiguration</name>
  1418. <version>1.4.0+</version>
  1419. <description>
  1420. The network configuration for external http request to repositories.
  1421. </description>
  1422. <fields>
  1423. <field>
  1424. <name>maxTotal</name>
  1425. <description>maximum total external http connections.</description>
  1426. <version>1.4.0+</version>
  1427. <type>int</type>
  1428. <defaultValue>30</defaultValue>
  1429. </field>
  1430. <field>
  1431. <name>maxTotalPerHost</name>
  1432. <description>maximum total external http connections per host</description>
  1433. <version>1.4.0+</version>
  1434. <type>int</type>
  1435. <defaultValue>30</defaultValue>
  1436. </field>
  1437. <field>
  1438. <name>usePooling</name>
  1439. <description>use or not http connection pooling default true</description>
  1440. <version>1.4.0+</version>
  1441. <type>boolean</type>
  1442. <defaultValue>true</defaultValue>
  1443. </field>
  1444. </fields>
  1445. </class>
  1446. <class>
  1447. <name>ArchivaRuntimeConfiguration</name>
  1448. <version>1.4.0+</version>
  1449. <description>
  1450. The runtime configuration.
  1451. </description>
  1452. <fields>
  1453. <field>
  1454. <name>urlFailureCacheConfiguration</name>
  1455. <description>the url failure cache configuration</description>
  1456. <version>1.4.0+</version>
  1457. <association>
  1458. <type>CacheConfiguration</type>
  1459. </association>
  1460. </field>
  1461. <field>
  1462. <name>fileLockConfiguration</name>
  1463. <description>the FileLocking configuration</description>
  1464. <version>1.4.0+</version>
  1465. <association>
  1466. <type>FileLockConfiguration</type>
  1467. </association>
  1468. </field>
  1469. <field>
  1470. <name>dataDirectory</name>
  1471. <version>3.0.0+</version>
  1472. <description>The base directory where the archiva data is stored. If not set, the appserver.base is used.</description>
  1473. <type>String</type>
  1474. <required>false</required>
  1475. </field>
  1476. <field>
  1477. <name>repositoryBaseDirectory</name>
  1478. <version>3.0.0+</version>
  1479. <description>The base directory for local storage of repository data. If not set, it's ${dataDirectory}/repositories.</description>
  1480. <type>String</type>
  1481. <required>false</required>
  1482. </field>
  1483. <field>
  1484. <name>remoteRepositoryBaseDirectory</name>
  1485. <version>3.0.0+</version>
  1486. <description>The base directory for local storage of remote repository data. If not set, it's ${dataDirectory}/remotes.</description>
  1487. <type>String</type>
  1488. <required>false</required>
  1489. </field>
  1490. <field>
  1491. <name>defaultLanguage</name>
  1492. <type>String</type>
  1493. <version>3.0.0+</version>
  1494. <defaultValue>en-US</defaultValue>
  1495. <description>The default language used for setting internationalized strings.</description>
  1496. </field>
  1497. <field>
  1498. <name>languageRange</name>
  1499. <type>String</type>
  1500. <version>3.0.0+</version>
  1501. <defaultValue>en,fr,de</defaultValue>
  1502. <description>Comma separated list of language patterns. Sorted by priority descending. Used for display of internationalized strings.</description>
  1503. </field>
  1504. </fields>
  1505. </class>
  1506. <class>
  1507. <name>RedbackRuntimeConfiguration</name>
  1508. <version>1.4.0+</version>
  1509. <description>
  1510. The redback runtime configuration.
  1511. </description>
  1512. <fields>
  1513. <field>
  1514. <name>migratedFromRedbackConfiguration</name>
  1515. <description>flag to know if redback configuration has been checked/migrated.</description>
  1516. <version>1.4.0+</version>
  1517. <type>boolean</type>
  1518. <defaultValue>false</defaultValue>
  1519. </field>
  1520. <field>
  1521. <name>userManagerImpls</name>
  1522. <description>The user manager impls to use.</description>
  1523. <version>1.4.0+</version>
  1524. <association>
  1525. <type>String</type>
  1526. <multiplicity>*</multiplicity>
  1527. </association>
  1528. </field>
  1529. <field>
  1530. <name>rbacManagerImpls</name>
  1531. <description>The RBAC Manager impls to use.</description>
  1532. <version>1.4.0+</version>
  1533. <association>
  1534. <type>String</type>
  1535. <multiplicity>*</multiplicity>
  1536. </association>
  1537. </field>
  1538. <field>
  1539. <name>ldapConfiguration</name>
  1540. <description>the ldap configuration</description>
  1541. <version>1.4.0+</version>
  1542. <association>
  1543. <type>LdapConfiguration</type>
  1544. </association>
  1545. </field>
  1546. <field>
  1547. <name>ldapGroupMappings</name>
  1548. <description>LdapGroupMappings</description>
  1549. <version>1.4.0+</version>
  1550. <association>
  1551. <type>LdapGroupMapping</type>
  1552. <multiplicity>*</multiplicity>
  1553. </association>
  1554. </field>
  1555. <field>
  1556. <name>configurationProperties</name>
  1557. <description>extra properties for redback configuration. String/String</description>
  1558. <version>1.4.0+</version>
  1559. <type>Map</type>
  1560. <association xml.mapStyle="inline">
  1561. <type>String</type>
  1562. <multiplicity>*</multiplicity>
  1563. </association>
  1564. </field>
  1565. <field>
  1566. <name>useUsersCache</name>
  1567. <description>flag to know if redback will use a cache to prevent searching users already found.</description>
  1568. <version>1.4.0+</version>
  1569. <type>boolean</type>
  1570. <defaultValue>true</defaultValue>
  1571. </field>
  1572. <field>
  1573. <name>usersCacheConfiguration</name>
  1574. <description>the users cache configuration</description>
  1575. <version>1.4.0+</version>
  1576. <association>
  1577. <type>CacheConfiguration</type>
  1578. </association>
  1579. </field>
  1580. </fields>
  1581. </class>
  1582. <class>
  1583. <name>ArchivaDefaultConfiguration</name>
  1584. <version>1.4.2+</version>
  1585. <description>
  1586. Archiva default settings.
  1587. </description>
  1588. <fields>
  1589. <field>
  1590. <name>defaultCheckPaths</name>
  1591. <description>The default check paths for certain remote repositories</description>
  1592. <version>1.4.2+</version>
  1593. <association>
  1594. <type>RepositoryCheckPath</type>
  1595. <multiplicity>*</multiplicity>
  1596. </association>
  1597. </field>
  1598. </fields>
  1599. </class>
  1600. <class>
  1601. <name>LdapConfiguration</name>
  1602. <version>1.4.0+</version>
  1603. <description>
  1604. The LDAP configuration.
  1605. </description>
  1606. <fields>
  1607. <field>
  1608. <name>hostName</name>
  1609. <description>The LDAP host.</description>
  1610. <version>1.4.0+</version>
  1611. <type>String</type>
  1612. </field>
  1613. <field>
  1614. <name>port</name>
  1615. <description>The LDAP port.</description>
  1616. <version>1.4.0+</version>
  1617. <type>int</type>
  1618. </field>
  1619. <field>
  1620. <name>ssl</name>
  1621. <description>ssl LDAP connection.</description>
  1622. <version>1.4.0+</version>
  1623. <type>boolean</type>
  1624. <defaultValue>false</defaultValue>
  1625. </field>
  1626. <field>
  1627. <name>baseDn</name>
  1628. <description>The LDAP base dn.</description>
  1629. <version>1.4.0+</version>
  1630. <type>String</type>
  1631. </field>
  1632. <field>
  1633. <name>baseGroupsDn</name>
  1634. <description>The LDAP base dn for groups (if empty baseDn is used).</description>
  1635. <version>1.4.0+</version>
  1636. <type>String</type>
  1637. </field>
  1638. <field>
  1639. <name>contextFactory</name>
  1640. <description>contextFactory to use.</description>
  1641. <version>1.4.0+</version>
  1642. <type>String</type>
  1643. </field>
  1644. <field>
  1645. <name>bindDn</name>
  1646. <description>The LDAP bind dn.</description>
  1647. <version>1.4.0+</version>
  1648. <type>String</type>
  1649. </field>
  1650. <field>
  1651. <name>password</name>
  1652. <description>The LDAP password.</description>
  1653. <version>1.4.0+</version>
  1654. <type>String</type>
  1655. </field>
  1656. <field>
  1657. <name>authenticationMethod</name>
  1658. <description>The LDAP authenticationMethod.</description>
  1659. <version>1.4.0+</version>
  1660. <type>String</type>
  1661. </field>
  1662. <field>
  1663. <name>bindAuthenticatorEnabled</name>
  1664. <description>The LDAP authenticator enabled.</description>
  1665. <version>1.4.0+</version>
  1666. <type>boolean</type>
  1667. <defaultValue>false</defaultValue>
  1668. </field>
  1669. <field>
  1670. <name>writable</name>
  1671. <description>LDAP writable.</description>
  1672. <version>1.4.0+</version>
  1673. <type>boolean</type>
  1674. <defaultValue>false</defaultValue>
  1675. </field>
  1676. <field>
  1677. <name>useRoleNameAsGroup</name>
  1678. <description>Will use role name as LDAP group.</description>
  1679. <version>1.4.0+</version>
  1680. <type>boolean</type>
  1681. <defaultValue>false</defaultValue>
  1682. </field>
  1683. <field>
  1684. <name>extraProperties</name>
  1685. <version>1.4.0+</version>
  1686. <type>Map</type>
  1687. <description>Additional properties to use for ldap connection.</description>
  1688. <association xml.mapStyle="inline">
  1689. <type>String</type>
  1690. <multiplicity>*</multiplicity>
  1691. </association>
  1692. </field>
  1693. </fields>
  1694. </class>
  1695. <class>
  1696. <name>FileLockConfiguration</name>
  1697. <version>1.4.0+</version>
  1698. <description>File Locking configuration.</description>
  1699. <fields>
  1700. <field>
  1701. <name>skipLocking</name>
  1702. <description>skipping the locking mechanism</description>
  1703. <version>1.4.0+</version>
  1704. <type>boolean</type>
  1705. <defaultValue>true</defaultValue>
  1706. </field>
  1707. <field>
  1708. <name>lockingTimeout</name>
  1709. <description>maximum time to wait to get the file lock (0 infinite)</description>
  1710. <version>1.4.0+</version>
  1711. <type>int</type>
  1712. <defaultValue>0</defaultValue>
  1713. </field>
  1714. </fields>
  1715. </class>
  1716. <class>
  1717. <name>CacheConfiguration</name>
  1718. <version>1.4.0+</version>
  1719. <description>Cache configuration.</description>
  1720. <fields>
  1721. <field>
  1722. <name>timeToIdleSeconds</name>
  1723. <description>TimeToIdleSeconds</description>
  1724. <version>1.4.0+</version>
  1725. <type>int</type>
  1726. <defaultValue>-1</defaultValue>
  1727. </field>
  1728. <field>
  1729. <name>timeToLiveSeconds</name>
  1730. <description>TimeToLiveSeconds</description>
  1731. <version>1.4.0+</version>
  1732. <type>int</type>
  1733. <defaultValue>-1</defaultValue>
  1734. </field>
  1735. <field>
  1736. <name>maxElementsInMemory</name>
  1737. <description>max elements in memory</description>
  1738. <version>1.4.0+</version>
  1739. <type>int</type>
  1740. <defaultValue>-1</defaultValue>
  1741. </field>
  1742. <field>
  1743. <name>maxElementsOnDisk</name>
  1744. <description>max elements on disk</description>
  1745. <version>1.4.0+</version>
  1746. <type>int</type>
  1747. <defaultValue>-1</defaultValue>
  1748. </field>
  1749. </fields>
  1750. </class>
  1751. <class>
  1752. <name>LdapGroupMapping</name>
  1753. <version>1.4.0+</version>
  1754. <description>configuration of a LDAP group to Archiva roles</description>
  1755. <fields>
  1756. <field>
  1757. <name>group</name>
  1758. <description>LDAP Group</description>
  1759. <version>1.4.0+</version>
  1760. <type>String</type>
  1761. </field>
  1762. <field>
  1763. <name>roleNames</name>
  1764. <version>1.4.0+</version>
  1765. <description>Archiva roles.</description>
  1766. <association>
  1767. <type>String</type>
  1768. <multiplicity>*</multiplicity>
  1769. </association>
  1770. </field>
  1771. </fields>
  1772. </class>
  1773. </classes>
  1774. </model>