Revision 5436
Added by berkley over 14 years ago
test/test.properties | ||
---|---|---|
1 | 1 |
# Set this to the location of the metacat application context |
2 | 2 |
# directory. The tests will use this to find metacat.properties |
3 |
metacat.contextDir=/Users/berkley/tools/tomcat/webapps/knb
|
|
3 |
metacat.contextDir=/var/lib/tomcat/webapps/knb
|
|
4 | 4 |
#metacat.contextDir=/usr/share/tomcat5.5/webapps/knb |
lib/metacat.properties | ||
---|---|---|
6 | 6 |
|
7 | 7 |
######## Configuration utility section ################ |
8 | 8 |
|
9 |
configutil.propertiesConfigured=false
|
|
10 |
configutil.authConfigured=false
|
|
11 |
configutil.skinsConfigured=false
|
|
12 |
configutil.databaseConfigured=false
|
|
13 |
configutil.geoserverConfigured=false
|
|
9 |
configutil.propertiesConfigured=true
|
|
10 |
configutil.authConfigured=true
|
|
11 |
configutil.skinsConfigured=true
|
|
12 |
configutil.databaseConfigured=true
|
|
13 |
configutil.geoserverConfigured=bypassed
|
|
14 | 14 |
|
15 | 15 |
############### Server Values ################# |
16 | 16 |
|
17 |
server.name=localhost
|
|
17 |
server.name=knb-mn.ecoinformatics.org
|
|
18 | 18 |
server.httpPort=80 |
19 | 19 |
server.httpSSLPort=443 |
20 | 20 |
|
21 | 21 |
############### Application Values ############ |
22 | 22 |
|
23 | 23 |
## one of the few places where we use ANT tokens |
24 |
application.metacatVersion=@metacatVersion@
|
|
24 |
application.metacatVersion=1.10.0
|
|
25 | 25 |
application.metacatReleaseInfo=@metacatReleaseInfo@ |
26 | 26 |
|
27 |
application.deployDir= |
|
27 |
application.deployDir=/var/lib/tomcat/webapps
|
|
28 | 28 |
## This is autodiscovered and populated by the config utility |
29 |
application.context= |
|
29 |
application.context=knb
|
|
30 | 30 |
application.default-style=default |
31 | 31 |
application.knbSiteURL=http://knb.ecoinformatics.org |
32 |
application.backupDir= |
|
32 |
application.backupDir=/var/metacat
|
|
33 | 33 |
application.datafilepath=/var/metacat/data |
34 | 34 |
application.inlinedatafilepath=/var/metacat/inline-data |
35 | 35 |
application.documentfilepath=/var/metacat/documents |
... | ... | |
48 | 48 |
############### Database Values ############### |
49 | 49 |
|
50 | 50 |
database.connectionURI=jdbc:postgresql://localhost/metacat |
51 |
database.user= |
|
52 |
database.password= |
|
53 |
database.type= |
|
54 |
database.driver= |
|
55 |
database.adapter= |
|
51 |
database.user=metacat
|
|
52 |
database.password=metacat
|
|
53 |
database.type=postgres
|
|
54 |
database.driver=org.postgresql.Driver
|
|
55 |
database.adapter=edu.ucsb.nceas.dbadapter.PostgresqlAdapter
|
|
56 | 56 |
database.scriptsuffix.postgres=postgres.sql |
57 | 57 |
database.scriptsuffix.oracle=oracle.sql |
58 | 58 |
database.scriptsuffix.sqlserver=sqlserver.sql |
... | ... | |
143 | 143 |
## auth.class=edu.ucsb.nceas.metacat.AuthStub |
144 | 144 |
auth.timeoutMinutes=180 |
145 | 145 |
# auth.administrators=uid=jones,o=NCEAS,dc=ecoinformatics,dc=org |
146 |
auth.administrators= |
|
146 |
auth.administrators=uid=dataone_cn_metacat,o=DATAONE,dc=ecoinformatics,dc=org
|
|
147 | 147 |
auth.url=ldap://ldap.ecoinformatics.org:389/ |
148 | 148 |
auth.surl=ldap://ldap.ecoinformatics.org:389/ |
149 | 149 |
auth.base=dc=ecoinformatics,dc=org |
... | ... | |
161 | 161 |
ldap.referral=follow |
162 | 162 |
ldap.onlySecureConnection=false |
163 | 163 |
ldap.onlySecureReferalsConnection=false |
164 |
# LDAP templates
|
|
164 |
# LDAP templates |
|
165 | 165 |
ldap.templates.stage=initregister |
166 | 166 |
ldap.templates.header=genericHeader.tmpl |
167 | 167 |
ldap.templates.footer=genericFooter.tmpl |
... | ... | |
231 | 231 |
xml.entitydoctype=-//ecoinformatics.org//eml-entity-2.0.0beta6//EN, -//ecoinformatics.org//eml-entity-2.0.0beta4//EN |
232 | 232 |
xml.packagedoctypeset=BIN,-//ecoinformatics.org//eml-access-2.0.0beta6//EN,-//ecoinformatics.org//eml-access-2.0.0beta4//EN,-//ecoinformatics.org//eml-attribute-2.0.0beta6//EN,-//ecoinformatics.org//eml-attribute-2.0.0beta4//EN,-//ecoinformatics.org//eml-constraint-2.0.0beta6//EN,-//ecoinformatics.org//eml-constraint-2.0.0beta4//EN,-//ecoinformatics.org//eml-coverage-2.0.0beta6//EN,-//ecoinformatics.org//eml-coverage-2.0.0beta4//EN,-//ecoinformatics.org//eml-dataset-2.0.0beta6//EN,-//ecoinformatics.org//eml-dataset-2.0.0beta4//EN,-//ecoinformatics.org//eml-entity-2.0.0beta6//EN,-//ecoinformatics.org//eml-entity-2.0.0beta4//EN,-//ecoinformatics.org//eml-literature-2.0.0beta6//EN,-//ecoinformatics.org//eml-literature-2.0.0beta4//EN,-//ecoinformatics.org//eml-physical-2.0.0beta6//EN,-//ecoinformatics.org//eml-physical-2.0.0beta4//EN,-//ecoinformatics.org//eml-project-2.0.0beta6//EN,-//ecoinformatics.org//eml-project-2.0.0beta4//EN,-//ecoinformatics.org//eml-protocol-2.0.0beta6//EN,-//ecoinformatics.org//eml-protocol-2.0.0beta4//EN,-//ecoinformatics.org//eml-software-2.0.0beta6//EN,-//ecoinformatics.org//eml-software-2.0.0beta4//EN |
233 | 233 |
xml.indexNamespaces=eml://ecoinformatics.org/eml-2.0.0,eml://ecoinformatics.org/eml-2.0.1,eml://ecoinformatics.org/eml-2.1.0 |
234 |
xml.indexPaths= \
|
|
235 |
@packageId, \
|
|
236 |
/reviewHistory/review/packageId, \
|
|
237 |
abstract, \
|
|
238 |
abstract/para, \
|
|
239 |
access/allow/principal, \
|
|
240 |
additionalMetadata/moderatorComment \
|
|
241 |
associatedParty/individualName/surName, \
|
|
242 |
associatedParty/organizationName, \
|
|
243 |
coverage/temporalCoverage/rangeOfDates/beginDate/alternativeTimeScale/timeScaleName, \
|
|
244 |
coverage/temporalCoverage/rangeOfDates/endDate/alternativeTimeScale/timeScaleName, \
|
|
245 |
coverage/temporalCoverage/singleDateTime/alternativeTimeScale/timeScaleName, \
|
|
246 |
creator/individualName/surName, \
|
|
247 |
creator/individualName/givenName, \
|
|
248 |
creator/organizationName, \
|
|
249 |
dataset/access/allow/principal, \
|
|
250 |
dataset/dataTable/physical/distribution/online/url, \
|
|
251 |
dataset/dataTable/physical/distribution/online/url/@function, \
|
|
252 |
dataset/spatialRaster/physical/distribution/online/url, \
|
|
253 |
dataset/spatialRaster/physical/distribution/online/url/@function, \
|
|
254 |
dataset/title, \
|
|
255 |
eastBoundingCoordinate, \
|
|
256 |
eastbc, \
|
|
257 |
EcogridRegEntry/description, \
|
|
258 |
EcogridRegEntry/endPoint, \
|
|
259 |
EcogridRegEntry/serviceName, \
|
|
260 |
entityName, \
|
|
261 |
geographicCoverage/boundingCoordinates/eastBoundingCoordinate, \
|
|
262 |
geographicCoverage/boundingCoordinates/northBoundingCoordinate, \
|
|
263 |
geographicCoverage/boundingCoordinates/southBoundingCoordinate, \
|
|
264 |
geographicCoverage/boundingCoordinates/westBoundingCoordinate, \
|
|
265 |
geographicDescription, \
|
|
266 |
givenName, \
|
|
267 |
idinfo/citation/citeinfo/title, \
|
|
268 |
idinfo/citation/citeinfo/origin, \
|
|
269 |
idinfo/keywords/theme/themekey, \
|
|
270 |
individualName/surName, \
|
|
271 |
keyword, \
|
|
272 |
literalLayout, \
|
|
273 |
northbc, \
|
|
274 |
northBoundingCoordinate, \
|
|
275 |
organizationName, \
|
|
276 |
originator/individualName/surName, \
|
|
277 |
originator/individualName/givenName, \
|
|
278 |
originator/organizationName, \
|
|
279 |
para, \
|
|
280 |
placekey, \
|
|
281 |
southBoundingCoordinate, \
|
|
282 |
southbc, \
|
|
283 |
surName, \
|
|
284 |
taxonomicClassification/taxonRankName, \
|
|
285 |
taxonomicClassification/taxonRankValue, \
|
|
286 |
taxonRankValue, \
|
|
287 |
title, \
|
|
288 |
westBoundingCoordinate, \
|
|
289 |
westbc
|
|
234 |
xml.indexPaths=\ |
|
235 |
@packageId, \ |
|
236 |
/reviewHistory/review/packageId, \ |
|
237 |
abstract, \ |
|
238 |
abstract/para, \ |
|
239 |
access/allow/principal, \ |
|
240 |
additionalMetadata/moderatorComment \ |
|
241 |
associatedParty/individualName/surName, \ |
|
242 |
associatedParty/organizationName, \ |
|
243 |
coverage/temporalCoverage/rangeOfDates/beginDate/alternativeTimeScale/timeScaleName, \ |
|
244 |
coverage/temporalCoverage/rangeOfDates/endDate/alternativeTimeScale/timeScaleName, \ |
|
245 |
coverage/temporalCoverage/singleDateTime/alternativeTimeScale/timeScaleName, \ |
|
246 |
creator/individualName/surName, \ |
|
247 |
creator/individualName/givenName, \ |
|
248 |
creator/organizationName, \ |
|
249 |
dataset/access/allow/principal, \ |
|
250 |
dataset/dataTable/physical/distribution/online/url, \ |
|
251 |
dataset/dataTable/physical/distribution/online/url/@function, \ |
|
252 |
dataset/spatialRaster/physical/distribution/online/url, \ |
|
253 |
dataset/spatialRaster/physical/distribution/online/url/@function, \ |
|
254 |
dataset/title, \ |
|
255 |
eastBoundingCoordinate, \ |
|
256 |
eastbc, \ |
|
257 |
EcogridRegEntry/description, \ |
|
258 |
EcogridRegEntry/endPoint, \ |
|
259 |
EcogridRegEntry/serviceName, \ |
|
260 |
entityName, \ |
|
261 |
geographicCoverage/boundingCoordinates/eastBoundingCoordinate, \ |
|
262 |
geographicCoverage/boundingCoordinates/northBoundingCoordinate, \ |
|
263 |
geographicCoverage/boundingCoordinates/southBoundingCoordinate, \ |
|
264 |
geographicCoverage/boundingCoordinates/westBoundingCoordinate, \ |
|
265 |
geographicDescription, \ |
|
266 |
givenName, \ |
|
267 |
idinfo/citation/citeinfo/title, \ |
|
268 |
idinfo/citation/citeinfo/origin, \ |
|
269 |
idinfo/keywords/theme/themekey, \ |
|
270 |
individualName/surName, \ |
|
271 |
keyword, \ |
|
272 |
literalLayout, \ |
|
273 |
northbc, \ |
|
274 |
northBoundingCoordinate, \ |
|
275 |
organizationName, \ |
|
276 |
originator/individualName/surName, \ |
|
277 |
originator/individualName/givenName, \ |
|
278 |
originator/organizationName, \ |
|
279 |
para, \ |
|
280 |
placekey, \ |
|
281 |
southBoundingCoordinate, \ |
|
282 |
southbc, \ |
|
283 |
surName, \ |
|
284 |
taxonomicClassification/taxonRankName, \ |
|
285 |
taxonomicClassification/taxonRankValue, \ |
|
286 |
taxonRankValue, \ |
|
287 |
title, \ |
|
288 |
westBoundingCoordinate, \ |
|
289 |
westbc |
|
290 | 290 |
|
291 | 291 |
######## Outgoing email ######################################### |
292 | 292 |
|
... | ... | |
297 | 297 |
|
298 | 298 |
######## Replication properties ######################################### |
299 | 299 |
|
300 |
replication.logdir= |
|
300 |
replication.logdir=/var/metacat/logs
|
|
301 | 301 |
## deltaT=60 |
302 | 302 |
## debuglevel=55 |
303 | 303 |
replication.datafileflag=datafile |
... | ... | |
327 | 327 |
|
328 | 328 |
harvester.connectToMetacat=true |
329 | 329 |
harvester.delay=0 |
330 |
harvester.administrator=name@institution.edu
|
|
330 |
harvester.administrator=berkley@nceas.ucsb.edu
|
|
331 | 331 |
harvester.logPeriod=90 |
332 | 332 |
harvester.maxHarvests=0 |
333 |
harvester.period=24
|
|
334 |
harvester.smtpServer=localhost
|
|
333 |
harvester.period=1
|
|
334 |
harvester.smtpServer=mercury.nceas.ucsb.edu
|
|
335 | 335 |
harvester.GetDocError=Error getting EML document from site,Error |
336 | 336 |
harvester.GetDocSuccess=Success getting EML document from site,Debug |
337 | 337 |
harvester.GetHarvestListError=Error getting harvest list from site,Error |
... | ... | |
375 | 375 |
######## Spatial section ######################################### |
376 | 376 |
|
377 | 377 |
spatial.runSpatialOption=true |
378 |
spatial.regenerateCacheOnRestart=true
|
|
378 |
spatial.regenerateCacheOnRestart=false
|
|
379 | 379 |
# Comma-seperated list of schemas containing spatial bounding boxes |
380 | 380 |
# name corresponds to the docname stored in xml_documents table |
381 | 381 |
spatial.spatialDocnameList=eml,fgdc,metadata |
... | ... | |
431 | 431 |
test.metacatUrl=http://indus.msi.ucsb.edu/knb/metacat |
432 | 432 |
test.contextUrl=http://indus.msi.ucsb.edu/knb |
433 | 433 |
test.workflowSchedulerUrl=http://indus.msi.ucsb.edu/workflowscheduler/scheduler |
434 |
test.metacatDeployDir=/usr/local/tomcat/webapps/knb
|
|
434 |
test.metacatDeployDir=/var/lib/tomcat/webapps/knb
|
|
435 | 435 |
test.mcUser=uid=kepler,o=unaffiliated,dc=ecoinformatics,dc=org |
436 | 436 |
test.mcPassword=kepler |
437 | 437 |
test.mcAnotherUser=uid=test,o=NCEAS,dc=ecoinformatics,dc=org |
... | ... | |
444 | 444 |
|
445 | 445 |
######## Developers Section ######################################### |
446 | 446 |
|
447 |
# Set dev.runConfiguration to false to keep the system from walking you
|
|
448 |
# through the configuration utility every time you reinstall metacat.
|
|
449 |
# Instead, the system will use backed up configuration values. If you
|
|
450 |
# haven't ever configured the app (no backup files) the system will take
|
|
447 |
# Set dev.runConfiguration to false to keep the system from walking you |
|
448 |
# through the configuration utility every time you reinstall metacat. |
|
449 |
# Instead, the system will use backed up configuration values. If you |
|
450 |
# haven't ever configured the app (no backup files) the system will take |
|
451 | 451 |
# you through the configuration. |
452 | 452 |
dev.runConfiguration=true |
453 | 453 |
|
src/edu/ucsb/nceas/metacat/restservice/ResourceHandler.java | ||
---|---|---|
630 | 630 |
try { |
631 | 631 |
out = response.getOutputStream(); |
632 | 632 |
if(guid != null) |
633 |
{ //get a specific document |
|
633 |
{ //get a specific document
|
|
634 | 634 |
Identifier id = new Identifier(); |
635 | 635 |
id.setValue(guid); |
636 | 636 |
try |
637 | 637 |
{ |
638 |
if(token == null) |
|
639 |
{ |
|
640 |
token = new AuthToken("Public"); |
|
641 |
} |
|
638 | 642 |
InputStream data = cs.get(token, id); |
639 | 643 |
IOUtils.copyLarge(data, response.getOutputStream()); |
640 | 644 |
} |
src/edu/ucsb/nceas/metacat/dataone/CrudService.java | ||
---|---|---|
198 | 198 |
AuthToken token = new AuthToken(sessionid); |
199 | 199 |
EventLog.getInstance().log(metacatUrl, |
200 | 200 |
username, null, "authenticate"); |
201 |
logCrud.info("authenticate"); |
|
201 | 202 |
return token; |
202 | 203 |
} |
203 | 204 |
catch(Exception e) |
... | ... | |
267 | 268 |
InputStream object, SystemMetadata sysmeta) throws InvalidToken, |
268 | 269 |
ServiceFailure, NotAuthorized, IdentifierNotUnique, UnsupportedType, |
269 | 270 |
InsufficientResources, InvalidSystemMetadata, NotImplemented { |
270 |
|
|
271 |
|
|
271 | 272 |
logMetacat.debug("Starting CrudService.create()..."); |
272 | 273 |
|
273 |
IdentifierManager im = IdentifierManager.getInstance(); |
|
274 |
|
|
275 | 274 |
// authenticate & get user info |
276 | 275 |
SessionData sessionData = getSessionData(token); |
277 | 276 |
String username = "public"; |
... | ... | |
298 | 297 |
|
299 | 298 |
logMetacat.debug("Checking if identifier exists..."); |
300 | 299 |
// Check that the identifier does not already exist |
300 |
IdentifierManager im = IdentifierManager.getInstance(); |
|
301 | 301 |
if (im.identifierExists(guid.getValue())) { |
302 | 302 |
throw new IdentifierNotUnique("1120", |
303 | 303 |
"GUID is already in use by an existing object."); |
... | ... | |
330 | 330 |
} |
331 | 331 |
|
332 | 332 |
// For Metadata and Data, insert the system metadata into the object store too |
333 |
String sysmetaLocalId = insertSystemMetadata(sysmeta, sessionData);
|
|
333 |
insertSystemMetadata(sysmeta, sessionData); |
|
334 | 334 |
logMetacat.debug("Returning from CrudService.create()"); |
335 | 335 |
EventLog.getInstance().log(metacatUrl, |
336 | 336 |
username, localId, "create"); |
337 |
try |
|
338 |
{ |
|
339 |
localId = im.getLocalId(guid.getValue()); |
|
340 |
} |
|
341 |
catch(Exception e) |
|
342 |
{ |
|
343 |
System.out.println("Could not get localId for logging purposes: " + e.getMessage()); |
|
344 |
} |
|
345 |
//logCrud.info("create localId:" + localId + " guid:" + guid.getValue()); |
|
346 |
logCrud.info("create D1GUID:" + guid.getValue() + ":D1SCIMETADATA:" + localId + |
|
347 |
":D1SYSMETA:" + sysmetaLocalId + ":"); |
|
337 |
logCrud.info("create localId:" + localId + " guid:" + guid.getValue()); |
|
348 | 338 |
return guid; |
349 | 339 |
} |
350 | 340 |
|
... | ... | |
373 | 363 |
//change the obsoletes field of the new systemMetadata (sm.new) to point to the id of the old one |
374 | 364 |
sysmeta.addObsolete(obsoletedGuid); |
375 | 365 |
//insert sm.new |
376 |
String sysmetaLocalId = insertSystemMetadata(sysmeta, sessionData);
|
|
366 |
insertSystemMetadata(sysmeta, sessionData); |
|
377 | 367 |
|
378 | 368 |
boolean isScienceMetadata = isScienceMetadata(sysmeta); |
379 | 369 |
if(isScienceMetadata) |
... | ... | |
395 | 385 |
} |
396 | 386 |
EventLog.getInstance().log(metacatUrl, |
397 | 387 |
username, im.getLocalId(guid.getValue()), "update"); |
398 |
logCrud.info("update D1GUID:" + guid.getValue() + ":D1SCIMETADATA:" + im.getLocalId(guid.getValue()) + |
|
399 |
":D1SYSMETA:" + sysmetaLocalId + ":"); |
|
400 |
//logCrud.info("update localId:" + im.getLocalId(guid.getValue()) + " guid:" + guid.getValue()); |
|
388 |
logCrud.info("update localId:" + im.getLocalId(guid.getValue()) + " guid:" + guid.getValue()); |
|
401 | 389 |
return guid; |
402 | 390 |
} |
403 | 391 |
catch(Exception e) |
... | ... | |
772 | 760 |
|
773 | 761 |
// Retrieve the session information from the AuthToken |
774 | 762 |
// If the session is expired, then the user is 'public' |
763 |
if(token == null) |
|
764 |
{ |
|
765 |
token = new AuthToken("Public"); |
|
766 |
} |
|
775 | 767 |
final SessionData sessionData = getSessionData(token); |
776 | 768 |
|
777 | 769 |
// Look up the localId for this global identifier |
... | ... | |
824 | 816 |
|
825 | 817 |
EventLog.getInstance().log(metacatUrl, |
826 | 818 |
username, im.getLocalId(guid.getValue()), "read"); |
827 |
logCrud.info("get D1GUID:" + guid.getValue() + ":D1SCIMETADATA:" + |
|
828 |
localId + ":"); |
|
829 |
//logCrud.info("get localId:" + localId + " guid:" + guid.getValue()); |
|
819 |
logCrud.info("get localId:" + localId + " guid:" + guid.getValue()); |
|
830 | 820 |
return objectStream; |
831 | 821 |
|
832 | 822 |
} catch (McdbDocNotFoundException e) { |
... | ... | |
1061 | 1051 |
} |
1062 | 1052 |
EventLog.getInstance().log(metacatUrl, |
1063 | 1053 |
username, im.getLocalId(guid.getValue()), "read"); |
1064 |
logCrud.info("getSystemMetadata D1GUID:" + guid.getValue() + |
|
1065 |
":D1SYSMETA:" + localId + ":"); |
|
1066 |
//logCrud.info("getSystemMetadata localId: " + localId + " guid:" + guid.getValue()); |
|
1054 |
logCrud.info("getSystemMetadata localId: " + localId + " guid:" + guid.getValue()); |
|
1067 | 1055 |
return sysmeta; |
1068 | 1056 |
|
1069 | 1057 |
} catch (McdbDocNotFoundException e) { |
... | ... | |
1327 | 1315 |
/** |
1328 | 1316 |
* insert a systemMetadata doc |
1329 | 1317 |
*/ |
1330 |
private String insertSystemMetadata(SystemMetadata sysmeta, SessionData sessionData)
|
|
1318 |
private void insertSystemMetadata(SystemMetadata sysmeta, SessionData sessionData)
|
|
1331 | 1319 |
throws ServiceFailure |
1332 | 1320 |
{ |
1333 | 1321 |
logMetacat.debug("Starting to insert SystemMetadata..."); |
... | ... | |
1346 | 1334 |
//link it to the data or metadata document |
1347 | 1335 |
IdentifierManager.getInstance().createSystemMetadataMapping( |
1348 | 1336 |
sysmeta.getIdentifier().getValue(), sysMetaGuid.getValue()); |
1349 |
return localId; |
|
1350 | 1337 |
} |
1351 | 1338 |
|
1352 | 1339 |
/** |
build.properties | ||
---|---|---|
9 | 9 |
|
10 | 10 |
# Tomcat dev deployment directory |
11 | 11 |
# build.tomcat.dir=/usr/local/tomcat |
12 |
build.tomcat.dir=/usr/local/devtools/jakarta-tomcat
|
|
12 |
build.tomcat.dir=/var/lib/tomcat
|
|
13 | 13 |
|
14 | 14 |
# The Maven2 installation directory, for building the dataone-service-api |
15 | 15 |
# Maven is available here: http://maven.apache.org/ |
... | ... | |
18 | 18 |
# install ant target uses this to determine where to drop |
19 | 19 |
# the war file in an installation. Test classes will use |
20 | 20 |
# this value to find metacat.properties |
21 |
app.deploy.dir=/usr/local/devtools/jakarta-tomcat/webapps
|
|
21 |
app.deploy.dir=/var/lib/tomcat/webapps
|
|
22 | 22 |
|
23 | 23 |
# CVS access to retrieve latest EML, seek and utilities |
24 | 24 |
cvsroot=:ext:${env.USER}@cvs.ecoinformatics.org:/cvs |
Also available in: Unified diff
fixing another null auth token bug