mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-17 23:13:10 +00:00

git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@5575 9c30dcfa-912a-0410-8fc2-9e0234be79fd
155 lines
4.6 KiB
Java
155 lines
4.6 KiB
Java
/*
|
|
* Copyright (c) 2002-2009, The DSpace Foundation. All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions are
|
|
* met:
|
|
*
|
|
* - Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
*
|
|
* - Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* - Neither the name of the DSpace Foundation nor the names of its
|
|
* contributors may be used to endorse or promote products derived from
|
|
* this software without specific prior written permission.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
|
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
|
* DAMAGE.
|
|
*/
|
|
package org.dspace.checker;
|
|
|
|
import java.sql.Connection;
|
|
import java.sql.PreparedStatement;
|
|
import java.sql.ResultSet;
|
|
import java.sql.SQLException;
|
|
import java.sql.Statement;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
import org.apache.log4j.Logger;
|
|
import org.dspace.storage.rdbms.DatabaseManager;
|
|
|
|
/**
|
|
* <p>
|
|
* Database Access for the checksum results information.
|
|
* </p>
|
|
*
|
|
* @author Jim Downing
|
|
* @author Grace Carpenter
|
|
* @author Nathan Sarr
|
|
*
|
|
*/
|
|
public final class ChecksumResultDAO extends DAOSupport
|
|
{
|
|
/**
|
|
* Find a specified description.
|
|
*/
|
|
private static final String FIND_CHECK_STRING = "select result_description "
|
|
+ "from checksum_results where result_code = ?";
|
|
|
|
/**
|
|
* Usual Log4J Logger.
|
|
*/
|
|
private static final Logger LOG = Logger.getLogger(ChecksumResultDAO.class);
|
|
|
|
/**
|
|
* Default constructor
|
|
*/
|
|
public ChecksumResultDAO()
|
|
{
|
|
}
|
|
|
|
/**
|
|
* Get the result description for the given result code
|
|
*
|
|
* @param code
|
|
* to get the description for.
|
|
* @return the found description.
|
|
*/
|
|
public String getChecksumCheckStr(String code)
|
|
{
|
|
String description = null;
|
|
Connection conn = null;
|
|
PreparedStatement stmt = null;
|
|
ResultSet rs = null;
|
|
|
|
try
|
|
{
|
|
conn = DatabaseManager.getConnection();
|
|
stmt = conn.prepareStatement(FIND_CHECK_STRING);
|
|
stmt.setString(1, code);
|
|
|
|
rs = stmt.executeQuery();
|
|
|
|
if (rs.next())
|
|
{
|
|
description = rs.getString(1);
|
|
}
|
|
}
|
|
catch (SQLException e)
|
|
{
|
|
LOG.error("Problem selecting checker result description. "
|
|
+ e.getMessage(), e);
|
|
throw new RuntimeException("selecting checker result description. "
|
|
+ e.getMessage(), e);
|
|
}
|
|
finally
|
|
{
|
|
cleanup(stmt, conn, rs);
|
|
}
|
|
|
|
return description;
|
|
}
|
|
|
|
/**
|
|
* Get a list of all the possible result codes.
|
|
*
|
|
* @return a list of all the result codes
|
|
*/
|
|
public List listAllCodes()
|
|
{
|
|
Connection conn = null;
|
|
Statement stmt = null;
|
|
ResultSet rs = null;
|
|
List codes = new ArrayList();
|
|
try
|
|
{
|
|
conn = DatabaseManager.getConnection();
|
|
stmt = conn.createStatement();
|
|
|
|
rs = stmt.executeQuery("SELECT result_code FROM checksum_results");
|
|
while (rs.next())
|
|
{
|
|
String code = rs.getString("result_code");
|
|
codes.add(code);
|
|
}
|
|
return codes;
|
|
}
|
|
catch (SQLException e)
|
|
{
|
|
LOG.error("Problem listing checksum results codes: "
|
|
+ e.getMessage(), e);
|
|
throw new RuntimeException(
|
|
"Problem listing checksum results codes: " + e.getMessage(),
|
|
e);
|
|
}
|
|
finally
|
|
{
|
|
cleanup(stmt, conn, rs);
|
|
}
|
|
}
|
|
}
|