Revision 8304
Added by Matt Jones about 11 years ago
test/edu/ucsb/nceas/metacat/dataone/RegisterDOITest.java | ||
---|---|---|
35 | 35 |
import junit.framework.Test; |
36 | 36 |
import junit.framework.TestSuite; |
37 | 37 |
|
38 |
import org.apache.commons.io.IOUtils; |
|
38 | 39 |
import org.dataone.client.ObjectFormatCache; |
39 | 40 |
import org.dataone.configuration.Settings; |
40 | 41 |
import org.dataone.service.types.v1.Identifier; |
... | ... | |
144 | 145 |
String emlFile = "test/tao.14563.1.xml"; |
145 | 146 |
InputStream content = null; |
146 | 147 |
try { |
147 |
content = new FileInputStream(emlFile); |
|
148 |
content = new FileInputStream(emlFile); |
|
149 |
testMintAndCreateDOI(content); |
|
150 |
content.close(); |
|
148 | 151 |
} catch (FileNotFoundException e) { |
149 | 152 |
e.printStackTrace(); |
150 | 153 |
fail(e.getMessage()); |
154 |
} finally { |
|
155 |
IOUtils.closeQuietly(content); |
|
151 | 156 |
} |
152 |
testMintAndCreateDOI(content); |
|
153 | 157 |
} |
154 | 158 |
|
155 | 159 |
/** |
... | ... | |
267 | 271 |
InputStream content = null; |
268 | 272 |
try { |
269 | 273 |
content = new FileInputStream(emlFile); |
274 |
|
|
275 |
// create the initial version without DOI |
|
276 |
SystemMetadata sysmeta = createSystemMetadata(guid, session.getSubject(), null); |
|
277 |
sysmeta.setFormatId(ObjectFormatCache.getInstance().getFormat("eml://ecoinformatics.org/eml-2.1.0").getFormatId()); |
|
278 |
Identifier pid = MNodeService.getInstance(request).create(session, guid, content, sysmeta); |
|
279 |
assertEquals(guid.getValue(), pid.getValue()); |
|
280 |
|
|
281 |
// now publish it |
|
282 |
Identifier publishedIdentifier = MNodeService.getInstance(request).publish(session, pid); |
|
283 |
|
|
284 |
// check for the metadata explicitly, using ezid service |
|
285 |
EZIDService ezid = new EZIDService(ezidServiceBaseUrl); |
|
286 |
ezid.login(ezidUsername, ezidPassword); |
|
287 |
HashMap<String, String> metadata = ezid.getMetadata(publishedIdentifier.getValue()); |
|
288 |
assertNotNull(metadata); |
|
289 |
assertTrue(metadata.containsKey(DataCiteProfile.TITLE.toString())); |
|
290 |
content.close(); |
|
270 | 291 |
} catch (FileNotFoundException e) { |
271 | 292 |
e.printStackTrace(); |
272 | 293 |
fail(e.getMessage()); |
294 |
} finally { |
|
295 |
IOUtils.closeQuietly(content); |
|
273 | 296 |
} |
274 |
|
|
275 |
// create the initial version without DOI |
|
276 |
SystemMetadata sysmeta = createSystemMetadata(guid, session.getSubject(), null); |
|
277 |
sysmeta.setFormatId(ObjectFormatCache.getInstance().getFormat("eml://ecoinformatics.org/eml-2.1.0").getFormatId()); |
|
278 |
Identifier pid = MNodeService.getInstance(request).create(session, guid, content, sysmeta); |
|
279 |
assertEquals(guid.getValue(), pid.getValue()); |
|
280 | 297 |
|
281 |
// now publish it |
|
282 |
Identifier publishedIdentifier = MNodeService.getInstance(request).publish(session, pid); |
|
283 | 298 |
|
284 |
// check for the metadata explicitly, using ezid service |
|
285 |
EZIDService ezid = new EZIDService(ezidServiceBaseUrl); |
|
286 |
ezid.login(ezidUsername, ezidPassword); |
|
287 |
HashMap<String, String> metadata = ezid.getMetadata(publishedIdentifier.getValue()); |
|
288 |
assertNotNull(metadata); |
|
289 |
assertTrue(metadata.containsKey(DataCiteProfile.TITLE.toString())); |
|
290 |
|
|
291 | 299 |
} catch (Exception e) { |
292 | 300 |
e.printStackTrace(); |
293 | 301 |
fail("Unexpected error: " + e.getMessage()); |
test/edu/ucsb/nceas/metacattest/client/MetacatClientTest.java | ||
---|---|---|
113 | 113 |
*/ |
114 | 114 |
public void setUp() |
115 | 115 |
{ |
116 |
FileInputStream fis = null; |
|
116 | 117 |
try { |
117 |
FileInputStream fis = new FileInputStream(testfile);
|
|
118 |
fis = new FileInputStream(testfile); |
|
118 | 119 |
testdocument = IOUtils.toString(fis); |
120 |
fis.close(); |
|
119 | 121 |
} catch (IOException ioe) { |
120 | 122 |
fail("Can't read test data to run the test: " + testfile); |
123 |
} finally { |
|
124 |
IOUtils.closeQuietly(fis); |
|
121 | 125 |
} |
122 | 126 |
|
123 | 127 |
try { |
... | ... | |
390 | 394 |
* Test to get access control part of a document |
391 | 395 |
*/ |
392 | 396 |
public void getAccessControl() { |
393 |
try { |
|
394 |
FileInputStream fis = new FileInputStream(testEMLWithAccess); |
|
395 |
String document = IOUtils.toString(fis); |
|
396 |
String identifier = newdocid + ".1"; |
|
397 |
m.login(username, password); |
|
398 |
String response = m.insert(identifier, |
|
399 |
new StringReader(document), null); |
|
400 |
assertTrue(response.indexOf("<success>") != -1); |
|
401 |
assertTrue(response.indexOf(identifier) != -1); |
|
402 |
response = m.getAccessControl(identifier); |
|
403 |
//System.out.println("reponse is "+reponse); |
|
404 |
assertTrue(response.indexOf("<permission>read</permission>") != -1); |
|
405 |
assertTrue(response.indexOf("<principal>public</principal>") != -1); |
|
406 |
} catch (MetacatAuthException mae) { |
|
407 |
fail("Authorization failed:\n" + mae.getMessage()); |
|
408 |
} catch (MetacatInaccessibleException mie) { |
|
409 |
fail("Metacat Inaccessible:\n" + mie.getMessage()); |
|
410 |
} catch (InsufficientKarmaException ike) { |
|
411 |
assertTrue(1 == 1); |
|
412 |
fail("Insufficient karma:\n" + ike.getMessage()); |
|
413 |
} catch (MetacatException me) { |
|
414 |
fail("Metacat Error:\n" + me.getMessage()); |
|
415 |
} catch (Exception e) { |
|
416 |
fail("General exception:\n" + e.getMessage()); |
|
397 |
FileInputStream fis = null; |
|
398 |
try { |
|
399 |
fis = new FileInputStream(testEMLWithAccess); |
|
400 |
String document = IOUtils.toString(fis); |
|
401 |
String identifier = newdocid + ".1"; |
|
402 |
m.login(username, password); |
|
403 |
String response = m.insert(identifier, new StringReader(document), null); |
|
404 |
assertTrue(response.indexOf("<success>") != -1); |
|
405 |
assertTrue(response.indexOf(identifier) != -1); |
|
406 |
response = m.getAccessControl(identifier); |
|
407 |
//System.out.println("reponse is "+reponse); |
|
408 |
assertTrue(response.indexOf("<permission>read</permission>") != -1); |
|
409 |
assertTrue(response.indexOf("<principal>public</principal>") != -1); |
|
410 |
fis.close(); |
|
411 |
} catch (MetacatAuthException mae) { |
|
412 |
fail("Authorization failed:\n" + mae.getMessage()); |
|
413 |
} catch (MetacatInaccessibleException mie) { |
|
414 |
fail("Metacat Inaccessible:\n" + mie.getMessage()); |
|
415 |
} catch (InsufficientKarmaException ike) { |
|
416 |
assertTrue(1 == 1); |
|
417 |
fail("Insufficient karma:\n" + ike.getMessage()); |
|
418 |
} catch (MetacatException me) { |
|
419 |
fail("Metacat Error:\n" + me.getMessage()); |
|
420 |
} catch (Exception e) { |
|
421 |
fail("General exception:\n" + e.getMessage()); |
|
422 |
} finally { |
|
423 |
IOUtils.closeQuietly(fis); |
|
424 |
} |
|
417 | 425 |
} |
418 |
|
|
419 |
} |
|
420 | 426 |
|
421 | 427 |
/** |
422 | 428 |
* Test to get access control part of a document |
lib/style/skins/kepler/keplerAuthNameSpace.jsp | ||
---|---|---|
83 | 83 |
ObjectOutputStream oos = new ObjectOutputStream(os); |
84 | 84 |
oos.writeObject( inc ); |
85 | 85 |
oos.flush(); |
86 |
oos.close(); |
|
86 | 87 |
|
87 | 88 |
/* |
88 | 89 |
* Print out the incremented Integer as the namespace output |
src/edu/ucsb/nceas/metacat/MetacatHandler.java | ||
---|---|---|
65 | 65 |
import javax.servlet.http.HttpServletResponse; |
66 | 66 |
import javax.servlet.http.HttpSession; |
67 | 67 |
|
68 |
import org.apache.commons.io.IOUtils; |
|
68 | 69 |
import org.apache.commons.io.input.XmlStreamReader; |
69 | 70 |
import org.apache.log4j.Logger; |
70 | 71 |
import org.dataone.service.types.v1.Identifier; |
... | ... | |
1279 | 1280 |
out.write(buf, 0, b); |
1280 | 1281 |
b = fin.read(buf); |
1281 | 1282 |
} |
1283 |
fin.close(); |
|
1282 | 1284 |
} finally { |
1283 |
if (fin != null) fin.close();
|
|
1285 |
IOUtils.closeQuietly(fin);
|
|
1284 | 1286 |
} |
1285 | 1287 |
|
1286 | 1288 |
} else { |
... | ... | |
1549 | 1551 |
zout.write(buf, 0, b); |
1550 | 1552 |
b = fin.read(buf); |
1551 | 1553 |
} |
1554 |
fin.close(); |
|
1552 | 1555 |
} finally { |
1553 |
if (fin != null) fin.close();
|
|
1556 |
IOUtils.closeQuietly(fin);
|
|
1554 | 1557 |
} |
1555 | 1558 |
zout.closeEntry(); |
1556 | 1559 |
|
src/edu/ucsb/nceas/metacat/util/ResponseUtil.java | ||
---|---|---|
37 | 37 |
import javax.servlet.http.HttpServletRequest; |
38 | 38 |
import javax.servlet.http.HttpServletResponse; |
39 | 39 |
|
40 |
import org.apache.commons.io.IOUtils; |
|
40 | 41 |
import org.apache.log4j.Logger; |
41 | 42 |
|
42 | 43 |
import edu.ucsb.nceas.metacat.shared.BaseException; |
... | ... | |
113 | 114 |
public static void writeFileToOutput(HttpServletResponse response, String fileDir, String fileName, int bufferSize) |
114 | 115 |
throws MetacatUtilException { |
115 | 116 |
String filePath = ""; |
117 |
InputStream inputStream = null; |
|
118 |
OutputStream outputStream = null; |
|
116 | 119 |
try { |
117 | 120 |
filePath = fileDir + FileUtil.getFS() + fileName; |
118 | 121 |
|
... | ... | |
120 | 123 |
String shortFileName = fileName.substring(lastFileSep + 1, fileName.length()); |
121 | 124 |
response.setHeader("Content-Disposition", "attachment; filename=\"" + shortFileName + "\""); |
122 | 125 |
|
123 |
InputStream inputStream = new FileInputStream(filePath);
|
|
124 |
OutputStream outputStream = response.getOutputStream();
|
|
126 |
inputStream = new FileInputStream(filePath); |
|
127 |
outputStream = response.getOutputStream(); |
|
125 | 128 |
|
126 | 129 |
byte[] byteBuffer = new byte[bufferSize]; |
127 | 130 |
|
128 | 131 |
int b = 0; |
129 | 132 |
while ((b = inputStream.read(byteBuffer)) != -1) { |
130 | 133 |
outputStream.write(byteBuffer, 0, b); |
131 |
} |
|
134 |
} |
|
135 |
outputStream.close(); |
|
136 |
inputStream.close(); |
|
132 | 137 |
|
133 | 138 |
} catch (FileNotFoundException fnfe) { |
134 | 139 |
throw new MetacatUtilException("Error finding file: " + filePath |
... | ... | |
136 | 141 |
} catch (IOException ioe) { |
137 | 142 |
throw new MetacatUtilException("I/O Error when writing: " + filePath |
138 | 143 |
+ " to output"); |
144 |
} finally { |
|
145 |
IOUtils.closeQuietly(inputStream); |
|
146 |
IOUtils.closeQuietly(outputStream); |
|
139 | 147 |
} |
140 | 148 |
} |
141 | 149 |
|
src/edu/ucsb/nceas/metacat/DBQuery.java | ||
---|---|---|
60 | 60 |
import javax.servlet.ServletOutputStream; |
61 | 61 |
import javax.servlet.http.HttpServletResponse; |
62 | 62 |
|
63 |
import org.apache.commons.io.IOUtils; |
|
63 | 64 |
import org.apache.commons.lang.StringEscapeUtils; |
64 | 65 |
import org.apache.log4j.Logger; |
65 | 66 |
import org.dataone.service.exceptions.NotImplemented; |
... | ... | |
2326 | 2327 |
while (b != -1) { |
2327 | 2328 |
zipOut.write(buf, 0, b); |
2328 | 2329 |
b = fin.read(buf); |
2329 |
}//while |
|
2330 |
} |
|
2331 |
fin.close(); |
|
2330 | 2332 |
zipOut.closeEntry(); |
2331 | 2333 |
}//try |
2332 | 2334 |
catch (IOException ioe) { |
2333 | 2335 |
logMetacat.error("DBQuery.addDataFileToZipOutputStream - I/O error: " |
2334 | 2336 |
+ ioe.getMessage()); |
2335 |
}//catch |
|
2337 |
} finally { |
|
2338 |
IOUtils.closeQuietly(fin); |
|
2339 |
} |
|
2336 | 2340 |
}//addDataFileToZipOutputStream() |
2337 | 2341 |
|
2338 | 2342 |
/** |
src/edu/ucsb/nceas/metacat/oaipmh/provider/server/OAIHandler.java | ||
---|---|---|
36 | 36 |
import javax.xml.transform.TransformerFactory; |
37 | 37 |
import javax.xml.transform.stream.StreamSource; |
38 | 38 |
|
39 |
import org.apache.commons.io.IOUtils; |
|
39 | 40 |
import org.apache.log4j.Logger; |
40 | 41 |
import org.apache.log4j.PropertyConfigurator; |
41 | 42 |
|
... | ... | |
358 | 359 |
TransformerFactory tFactory = TransformerFactory.newInstance(); |
359 | 360 |
Transformer transformer = tFactory.newTransformer(xslSource); |
360 | 361 |
attributes.put("OAIHandler.transformer", transformer); |
362 |
is.close(); |
|
361 | 363 |
} |
362 | 364 |
|
363 | 365 |
return attributes; |
... | ... | |
524 | 526 |
* there was a problem with initialization |
525 | 527 |
*/ |
526 | 528 |
//public void init_debug(ServletConfig config) throws ServletException { |
527 |
public void init(ServletConfig config) throws ServletException { |
|
528 |
super.init(config); |
|
529 |
public void init(ServletConfig config) throws ServletException {
|
|
530 |
super.init(config);
|
|
529 | 531 |
|
530 |
if (isIntegratedWithMetacat()) { |
|
531 |
try { |
|
532 |
PropertyService.getInstance(); |
|
533 |
} |
|
534 |
catch (ServiceException se) { |
|
535 |
System.err.println("Error in loading properties: " + se.getMessage()); |
|
536 |
} |
|
537 |
} |
|
538 |
|
|
539 |
ServletContext servletContext = config.getServletContext(); |
|
540 |
String configDirPath = servletContext.getRealPath(CONFIG_DIR); |
|
541 |
String configPath = configDirPath + "/" + CONFIG_NAME; |
|
532 |
if (isIntegratedWithMetacat()) { |
|
533 |
try { |
|
534 |
PropertyService.getInstance(); |
|
535 |
} catch (ServiceException se) { |
|
536 |
System.err.println("Error in loading properties: " + se.getMessage()); |
|
537 |
} |
|
538 |
} |
|
542 | 539 |
|
543 |
// Initialize the properties file for log4j |
|
544 |
String log4jPath = configDirPath + "/" + LOG4J_NAME; |
|
545 |
PropertyConfigurator.configureAndWatch(log4jPath); |
|
546 |
|
|
547 |
// Initialize the directory path to the crosswalk XSLT files |
|
548 |
String xsltDirPath = servletContext.getRealPath(XSLT_DIR); |
|
549 |
Eml2oai_dc.setDirPath(xsltDirPath); |
|
540 |
ServletContext servletContext = config.getServletContext(); |
|
541 |
String configDirPath = servletContext.getRealPath(CONFIG_DIR); |
|
542 |
String configPath = configDirPath + "/" + CONFIG_NAME; |
|
550 | 543 |
|
551 |
try { |
|
552 |
HashMap attributes = null; |
|
553 |
Properties properties = null; |
|
554 |
InputStream in; |
|
544 |
// Initialize the properties file for log4j |
|
545 |
String log4jPath = configDirPath + "/" + LOG4J_NAME; |
|
546 |
PropertyConfigurator.configureAndWatch(log4jPath); |
|
555 | 547 |
|
556 |
try { |
|
557 |
log.debug("configPath=" + configPath); |
|
558 |
in = new FileInputStream(configPath); |
|
559 |
} |
|
560 |
catch (FileNotFoundException e) { |
|
561 |
log.debug("configPath not found. Try the classpath: " + configPath); |
|
562 |
Thread thread = Thread.currentThread(); |
|
563 |
ClassLoader classLoader = thread.getContextClassLoader(); |
|
564 |
in = classLoader.getResourceAsStream(configPath); |
|
565 |
} |
|
548 |
// Initialize the directory path to the crosswalk XSLT files |
|
549 |
String xsltDirPath = servletContext.getRealPath(XSLT_DIR); |
|
550 |
Eml2oai_dc.setDirPath(xsltDirPath); |
|
551 |
InputStream in = null; |
|
566 | 552 |
|
567 |
if (in != null) { |
|
568 |
log.debug("configPath '" + configPath + "' found. Loading properties"); |
|
569 |
properties = new Properties(); |
|
570 |
properties.load(in); |
|
571 |
attributes = getAttributes(properties); |
|
572 |
} |
|
553 |
try { |
|
554 |
HashMap attributes = null; |
|
555 |
Properties properties = null; |
|
556 |
|
|
557 |
try { |
|
558 |
log.debug("configPath=" + configPath); |
|
559 |
in = new FileInputStream(configPath); |
|
560 |
} catch (FileNotFoundException e) { |
|
561 |
log.debug("configPath not found. Try the classpath: " + configPath); |
|
562 |
Thread thread = Thread.currentThread(); |
|
563 |
ClassLoader classLoader = thread.getContextClassLoader(); |
|
564 |
in = classLoader.getResourceAsStream(configPath); |
|
565 |
} |
|
573 | 566 |
|
574 |
attributesMap.put("global", attributes); |
|
567 |
if (in != null) { |
|
568 |
log.debug("configPath '" + configPath + "' found. Loading properties"); |
|
569 |
properties = new Properties(); |
|
570 |
properties.load(in); |
|
571 |
attributes = getAttributes(properties); |
|
572 |
} |
|
573 |
|
|
574 |
attributesMap.put("global", attributes); |
|
575 |
in.close(); |
|
576 |
} catch (FileNotFoundException e) { |
|
577 |
e.printStackTrace(); |
|
578 |
throw new ServletException(e.getMessage()); |
|
579 |
} catch (ClassNotFoundException e) { |
|
580 |
e.printStackTrace(); |
|
581 |
throw new ServletException(e.getMessage()); |
|
582 |
} catch (IllegalArgumentException e) { |
|
583 |
e.printStackTrace(); |
|
584 |
throw new ServletException(e.getMessage()); |
|
585 |
} catch (IOException e) { |
|
586 |
e.printStackTrace(); |
|
587 |
throw new ServletException(e.getMessage()); |
|
588 |
} catch (Throwable e) { |
|
589 |
e.printStackTrace(); |
|
590 |
throw new ServletException(e.getMessage()); |
|
591 |
} finally { |
|
592 |
IOUtils.closeQuietly(in); |
|
593 |
} |
|
575 | 594 |
} |
576 |
catch (FileNotFoundException e) { |
|
577 |
e.printStackTrace(); |
|
578 |
throw new ServletException(e.getMessage()); |
|
579 |
} |
|
580 |
catch (ClassNotFoundException e) { |
|
581 |
e.printStackTrace(); |
|
582 |
throw new ServletException(e.getMessage()); |
|
583 |
} |
|
584 |
catch (IllegalArgumentException e) { |
|
585 |
e.printStackTrace(); |
|
586 |
throw new ServletException(e.getMessage()); |
|
587 |
} |
|
588 |
catch (IOException e) { |
|
589 |
e.printStackTrace(); |
|
590 |
throw new ServletException(e.getMessage()); |
|
591 |
} |
|
592 |
catch (Throwable e) { |
|
593 |
e.printStackTrace(); |
|
594 |
throw new ServletException(e.getMessage()); |
|
595 |
} |
|
596 |
} |
|
597 | 595 |
|
598 | 596 |
|
599 | 597 |
/** |
src/edu/ucsb/nceas/metacat/oaipmh/provider/server/crosswalk/Eml2oai_dc.java | ||
---|---|---|
21 | 21 |
import javax.xml.transform.stream.StreamResult; |
22 | 22 |
import javax.xml.transform.stream.StreamSource; |
23 | 23 |
|
24 |
import org.apache.commons.io.IOUtils; |
|
25 |
|
|
24 | 26 |
import ORG.oclc.oai.server.crosswalk.Crosswalk; |
25 | 27 |
import ORG.oclc.oai.server.verb.CannotDisseminateFormatException; |
26 | 28 |
import ORG.oclc.oai.server.verb.OAIInternalServerError; |
... | ... | |
69 | 71 |
String xsltPath200 = dirPath + "/" + XSLT_NAME_200; |
70 | 72 |
String xsltPath201 = dirPath + "/" + XSLT_NAME_201; |
71 | 73 |
String xsltPath210 = dirPath + "/" + XSLT_NAME_210; |
74 |
FileInputStream fileInputStream200 = null; |
|
75 |
FileInputStream fileInputStream201 = null; |
|
76 |
FileInputStream fileInputStream210 = null; |
|
72 | 77 |
|
73 | 78 |
try { |
74 | 79 |
TransformerFactory tFactory200 = TransformerFactory.newInstance(); |
75 |
FileInputStream fileInputStream200 = new FileInputStream(xsltPath200);
|
|
80 |
fileInputStream200 = new FileInputStream(xsltPath200); |
|
76 | 81 |
StreamSource xslSource200 = new StreamSource(fileInputStream200); |
77 | 82 |
this.transformer200 = tFactory200.newTransformer(xslSource200); |
78 |
|
|
83 |
fileInputStream200.close(); |
|
84 |
|
|
79 | 85 |
TransformerFactory tFactory201 = TransformerFactory.newInstance(); |
80 |
FileInputStream fileInputStream201 = new FileInputStream(xsltPath201);
|
|
86 |
fileInputStream201 = new FileInputStream(xsltPath201); |
|
81 | 87 |
StreamSource xslSource201 = new StreamSource(fileInputStream201); |
82 | 88 |
this.transformer201 = tFactory201.newTransformer(xslSource201); |
83 |
|
|
89 |
fileInputStream201.close(); |
|
90 |
|
|
84 | 91 |
TransformerFactory tFactory210 = TransformerFactory.newInstance(); |
85 |
FileInputStream fileInputStream210 = new FileInputStream(xsltPath210);
|
|
92 |
fileInputStream210 = new FileInputStream(xsltPath210); |
|
86 | 93 |
StreamSource xslSource210 = new StreamSource(fileInputStream210); |
87 | 94 |
this.transformer210 = tFactory210.newTransformer(xslSource210); |
95 |
fileInputStream210.close(); |
|
88 | 96 |
|
89 | 97 |
} |
90 | 98 |
catch (Exception e) { |
91 | 99 |
e.printStackTrace(); |
92 | 100 |
throw new OAIInternalServerError(e.getMessage()); |
101 |
} finally { |
|
102 |
IOUtils.closeQuietly(fileInputStream200); |
|
103 |
IOUtils.closeQuietly(fileInputStream201); |
|
104 |
IOUtils.closeQuietly(fileInputStream210); |
|
93 | 105 |
} |
94 | 106 |
} |
95 | 107 |
|
src/edu/ucsb/nceas/metacat/admin/DBAdmin.java | ||
---|---|---|
65 | 65 |
import edu.ucsb.nceas.utilities.GeneralPropertyException; |
66 | 66 |
import edu.ucsb.nceas.utilities.PropertyNotFoundException; |
67 | 67 |
|
68 |
import org.apache.commons.io.IOUtils; |
|
68 | 69 |
import org.apache.log4j.Logger; |
69 | 70 |
|
70 | 71 |
/** |
... | ... | |
976 | 977 |
} while ((fileLine = reader.readLine()) != null); |
977 | 978 |
} |
978 | 979 |
} |
980 |
fin.close(); |
|
979 | 981 |
} finally { |
980 |
// Close our input stream |
|
981 |
fin.close(); |
|
982 |
IOUtils.closeQuietly(fin); |
|
982 | 983 |
} |
983 | 984 |
|
984 | 985 |
return sqlCommands; |
src/edu/ucsb/nceas/metacat/replication/ReplicationService.java | ||
---|---|---|
1258 | 1258 |
// close file input stream |
1259 | 1259 |
fin.close(); |
1260 | 1260 |
|
1261 |
}//try |
|
1262 |
catch (Exception e) { |
|
1261 |
} catch (Exception e) { |
|
1263 | 1262 |
logMetacat.error("ReplicationService.handleGetDataFileRequest - " + ReplicationService.METACAT_REPL_ERROR_MSG); |
1264 | 1263 |
logReplication.error("ReplicationService.handleGetDataFileRequest - error getting data file from MetacatReplication." |
1265 | 1264 |
+ "handlGetDataFileRequest " + e.getMessage()); |
1266 | 1265 |
e.printStackTrace(System.out); |
1267 |
}//catch |
|
1266 |
} finally { |
|
1267 |
IOUtils.closeQuietly(fin); |
|
1268 |
} |
|
1268 | 1269 |
|
1269 | 1270 |
} |
1270 | 1271 |
|
Also available in: Unified diff
Reviewed code for all uses of FileInputStream, checking to see if the method should be closing the stream, and if so, closing it in the method as well as in the finally clause to ensure we don't leak file descriptors.