mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-22 09:23:08 +00:00
Perform some conventions code and fixed little bugs
This commit is contained in:

committed by
Pascal-Nicolas Becker

parent
404bc1c6bf
commit
7fa57d84ca
@@ -335,7 +335,7 @@ public class DOIIdentifierProvider
|
|||||||
TableRow doiRow = null;
|
TableRow doiRow = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
doiRow = DatabaseManager.findByUnique(context, "Doi", "doi", doi);
|
doiRow = DatabaseManager.findByUnique(context, "Doi", "doi", doi.substring(DOI.SCHEME.length()));
|
||||||
}
|
}
|
||||||
catch (SQLException sqle)
|
catch (SQLException sqle)
|
||||||
{
|
{
|
||||||
@@ -492,7 +492,7 @@ public class DOIIdentifierProvider
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
doiRow = DatabaseManager.findByUnique(context, "Doi", "doi", doi);
|
doiRow = DatabaseManager.findByUnique(context, "Doi", "doi", doi.substring(DOI.SCHEME.length()));
|
||||||
}
|
}
|
||||||
catch (SQLException sqle)
|
catch (SQLException sqle)
|
||||||
{
|
{
|
||||||
|
@@ -92,7 +92,7 @@ public class DOIOrganiser {
|
|||||||
|
|
||||||
Option registerByItemOrHandle = OptionBuilder.withArgName("ItemID or Handle")
|
Option registerByItemOrHandle = OptionBuilder.withArgName("ItemID or Handle")
|
||||||
.hasArgs(1)
|
.hasArgs(1)
|
||||||
.withDescription("Reserve an identifier for a given ItemID or Handle."
|
.withDescription("Register an identifier for a given ItemID or Handle."
|
||||||
+ " An ItemID or a Handle is needed. ").create('t');
|
+ " An ItemID or a Handle is needed. ").create('t');
|
||||||
|
|
||||||
options.addOption(registerByItemOrHandle);
|
options.addOption(registerByItemOrHandle);
|
||||||
@@ -104,15 +104,16 @@ public class DOIOrganiser {
|
|||||||
|
|
||||||
options.addOption(reserveByItemOrHandle);
|
options.addOption(reserveByItemOrHandle);
|
||||||
|
|
||||||
Option udate = OptionBuilder.withArgName("DOI identifier or ItemID or Handle")
|
Option update = OptionBuilder.withArgName("DOI identifier or ItemID or Handle")
|
||||||
.hasArgs(1)
|
.hasArgs(1)
|
||||||
.withDescription("Update online an object for a given DOI identifier"
|
.withDescription("Update online an object for a given DOI identifier"
|
||||||
+ " or ItemID or Handle. A DOI identifier or an ItemID or a Handle is needed. ")
|
+ " or ItemID or Handle. A DOI identifier or an ItemID or a Handle is needed. ")
|
||||||
.create('u');
|
.create('u');
|
||||||
|
|
||||||
options.addOption(udate);
|
options.addOption(update);
|
||||||
|
|
||||||
Context context = null;
|
Context context = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
context = new Context();
|
context = new Context();
|
||||||
}
|
}
|
||||||
@@ -155,44 +156,55 @@ public class DOIOrganiser {
|
|||||||
doiRequest(context, "toBeRegistered");
|
doiRequest(context, "toBeRegistered");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(line.hasOption('g')){
|
if(line.hasOption('g'))
|
||||||
|
{
|
||||||
String identifier = line.getOptionValue('g');
|
String identifier = line.getOptionValue('g');
|
||||||
if(null == identifier){
|
|
||||||
// LOG.info("A DOI identifier is needed");
|
if(null == identifier)
|
||||||
//throw new IllegalArgumentException("Identifier is null.", new NullPointerException());
|
{
|
||||||
}else{
|
printHelp(options);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
doiRequestByDOI(context, identifier,"toBeRegistered");
|
doiRequestByDOI(context, identifier,"toBeRegistered");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(line.hasOption('v')){
|
|
||||||
|
if(line.hasOption('v'))
|
||||||
|
{
|
||||||
String identifier = line.getOptionValue('v');
|
String identifier = line.getOptionValue('v');
|
||||||
if(null == identifier){
|
|
||||||
// LOG.info("A DOI identifier is needed");
|
if(null == identifier)
|
||||||
//throw new IllegalArgumentException("Identifier is null.", new NullPointerException());
|
{
|
||||||
|
printHelp(options);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
doiRequestByDOI(context, identifier,"toBeReserved");
|
doiRequestByDOI(context, identifier,"toBeReserved");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(line.hasOption('t')){
|
|
||||||
|
if(line.hasOption('t'))
|
||||||
|
{
|
||||||
String itemID_Hdl = line.getOptionValue('t');
|
String itemID_Hdl = line.getOptionValue('t');
|
||||||
if(null == itemID_Hdl){
|
|
||||||
|
if(null == itemID_Hdl)
|
||||||
|
{
|
||||||
printHelp(options);
|
printHelp(options);
|
||||||
//LOG.info("A ItemID or a Handle is needed");
|
|
||||||
//throw new IllegalArgumentException("ItemID or Handle is null.", new NullPointerException());
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
doiRequestByItemID_Handle(context, itemID_Hdl,"toBeRegistered");
|
doiRequestByItemID_Handle(context, itemID_Hdl,"toBeRegistered");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(line.hasOption('i')){
|
|
||||||
|
if(line.hasOption('i'))
|
||||||
|
{
|
||||||
String itemID_Hdl = line.getOptionValue('i');
|
String itemID_Hdl = line.getOptionValue('i');
|
||||||
if(null == itemID_Hdl){
|
|
||||||
|
if(null == itemID_Hdl)
|
||||||
|
{
|
||||||
printHelp(options);
|
printHelp(options);
|
||||||
// LOG.info("A ItemID or a Handle is needed");
|
|
||||||
//throw new IllegalArgumentException("ItemID or Handle is null.", new NullPointerException());
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -200,9 +212,12 @@ public class DOIOrganiser {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(line.hasOption('u')){
|
if(line.hasOption('u'))
|
||||||
|
{
|
||||||
String argument = line.getOptionValue('u');
|
String argument = line.getOptionValue('u');
|
||||||
if(null == argument){
|
|
||||||
|
if(null == argument)
|
||||||
|
{
|
||||||
printHelp(options);
|
printHelp(options);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -210,9 +225,11 @@ public class DOIOrganiser {
|
|||||||
updateObject(context, argument);
|
updateObject(context, argument);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try
|
||||||
|
{
|
||||||
context.complete();
|
context.complete();
|
||||||
} catch (SQLException sqle)
|
}
|
||||||
|
catch (SQLException sqle)
|
||||||
{
|
{
|
||||||
System.err.println("Cannot save changes to database: " + sqle.getMessage());
|
System.err.println("Cannot save changes to database: " + sqle.getMessage());
|
||||||
System.exit(-1);
|
System.exit(-1);
|
||||||
@@ -312,27 +329,39 @@ public class DOIOrganiser {
|
|||||||
dso,
|
dso,
|
||||||
doiRow.getStringColumn("doi"));
|
doiRow.getStringColumn("doi"));
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
}
|
||||||
|
catch (SQLException ex)
|
||||||
|
{
|
||||||
LOG.error("Error while trying to get data from database", ex);
|
LOG.error("Error while trying to get data from database", ex);
|
||||||
throw new RuntimeException("Error while trying to get data from database", ex);
|
throw new RuntimeException("Error while trying to get data from database", ex);
|
||||||
} catch (IdentifierException ex) {
|
}
|
||||||
|
catch (IdentifierException ex)
|
||||||
|
{
|
||||||
LOG.error(ex);
|
LOG.error(ex);
|
||||||
} catch (IllegalArgumentException ex) {
|
}
|
||||||
|
catch (IllegalArgumentException ex)
|
||||||
|
{
|
||||||
LOG.error(ex);
|
LOG.error(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void doiRequestByDOI(Context context, String identifier, String status){
|
private static void doiRequestByDOI(Context context, String identifier, String status){
|
||||||
|
|
||||||
try {
|
try
|
||||||
|
{
|
||||||
DOIIdentifierProvider doiIdentifierProvider = new DSpace().getSingletonService(DOIIdentifierProvider.class);
|
DOIIdentifierProvider doiIdentifierProvider = new DSpace().getSingletonService(DOIIdentifierProvider.class);
|
||||||
String doi = DOI.formatIdentifier(identifier);
|
String doi = DOI.formatIdentifier(identifier);
|
||||||
TableRow doiRow = DatabaseManager.findByUnique(context, "Doi", "doi", doi.substring(DOI.SCHEME.length()));
|
TableRow doiRow = DatabaseManager.findByUnique(context, "Doi", "doi", doi.substring(DOI.SCHEME.length()));
|
||||||
|
|
||||||
if(null == doiRow) LOG.error("Identifier: "+ identifier + " is not fund. ");
|
if(null == doiRow) LOG.error("Identifier: "+ identifier + " is not fund. ");
|
||||||
runRequest(context, doiRow, status);
|
runRequest(context, doiRow, status);
|
||||||
} catch (SQLException ex) {
|
}
|
||||||
|
catch (SQLException ex)
|
||||||
|
{
|
||||||
LOG.error("It wasn't possible to connect to the Database",ex);
|
LOG.error("It wasn't possible to connect to the Database",ex);
|
||||||
} catch (IdentifierException ex) {
|
}
|
||||||
|
catch (IdentifierException ex)
|
||||||
|
{
|
||||||
LOG.error(ex);
|
LOG.error(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -370,20 +399,31 @@ public class DOIOrganiser {
|
|||||||
private static void runRequestByItemID_Handle(Context context, Integer resource_type_id, Integer resource_id, String status ){
|
private static void runRequestByItemID_Handle(Context context, Integer resource_type_id, Integer resource_id, String status ){
|
||||||
DSpaceObject dso = null;
|
DSpaceObject dso = null;
|
||||||
DOIIdentifierProvider doiIdentifierProvider = new DSpace().getSingletonService(DOIIdentifierProvider.class);
|
DOIIdentifierProvider doiIdentifierProvider = new DSpace().getSingletonService(DOIIdentifierProvider.class);
|
||||||
try {
|
try
|
||||||
|
{
|
||||||
dso = DSpaceObject.find(context, resource_type_id, resource_id);
|
dso = DSpaceObject.find(context, resource_type_id, resource_id);
|
||||||
if (status.equals("toBeRegistered")) {
|
|
||||||
|
if (status.equals("toBeRegistered"))
|
||||||
|
{
|
||||||
doiIdentifierProvider.register(context, dso);
|
doiIdentifierProvider.register(context, dso);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
String identifier = doiIdentifierProvider.mint(context, dso);
|
String identifier = doiIdentifierProvider.mint(context, dso);
|
||||||
dso.update();
|
dso.update();
|
||||||
doiIdentifierProvider.reserve(context, dso, identifier);
|
doiIdentifierProvider.reserve(context, dso, identifier);
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
}
|
||||||
|
catch (SQLException ex)
|
||||||
|
{
|
||||||
LOG.error("It wasn't possible to connect to the Database", ex);
|
LOG.error("It wasn't possible to connect to the Database", ex);
|
||||||
} catch (IdentifierException ex) {
|
}
|
||||||
|
catch (IdentifierException ex)
|
||||||
|
{
|
||||||
LOG.error("It wasn't possible to reserved or to registered an DOI Identifier for the objact", ex);
|
LOG.error("It wasn't possible to reserved or to registered an DOI Identifier for the objact", ex);
|
||||||
} catch (AuthorizeException ex) {
|
}
|
||||||
|
catch (AuthorizeException ex)
|
||||||
|
{
|
||||||
LOG.error("It wasn't possible to update the dspace object", ex);
|
LOG.error("It wasn't possible to update the dspace object", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -393,58 +433,85 @@ public class DOIOrganiser {
|
|||||||
TableRow doiRow = null;
|
TableRow doiRow = null;
|
||||||
DOIIdentifierProvider doiIdentifierProvider = new DSpace().getSingletonService(DOIIdentifierProvider.class);
|
DOIIdentifierProvider doiIdentifierProvider = new DSpace().getSingletonService(DOIIdentifierProvider.class);
|
||||||
String sql = "Select * From Doi Where resource_type_id = ? and resource_id = ? ";
|
String sql = "Select * From Doi Where resource_type_id = ? and resource_id = ? ";
|
||||||
try {
|
try
|
||||||
if (argument.matches("\\d*")) {
|
{
|
||||||
|
if (argument.matches("\\d*"))
|
||||||
|
{
|
||||||
System.err.println("I'm an Item");
|
System.err.println("I'm an Item");
|
||||||
Integer itemID = Integer.valueOf(argument);
|
Integer itemID = Integer.valueOf(argument);
|
||||||
row = DatabaseManager.findByUnique(context, "Item", "item_id", itemID);
|
row = DatabaseManager.findByUnique(context, "Item", "item_id", itemID);
|
||||||
if (null != row) {
|
|
||||||
|
if (null != row)
|
||||||
|
{
|
||||||
System.err.println("I'm not null");
|
System.err.println("I'm not null");
|
||||||
doiRow = DatabaseManager.querySingleTable(context,
|
doiRow = DatabaseManager.querySingleTable(context,
|
||||||
"Doi", sql, row.getIntColumn("submitter_id"), row.getIntColumn("item_id"));
|
"Doi", sql, row.getIntColumn("submitter_id"), row.getIntColumn("item_id"));
|
||||||
if (null != doiRow) {
|
|
||||||
|
if (null != doiRow)
|
||||||
|
{
|
||||||
DSpaceObject dso = DSpaceObject.find(context,
|
DSpaceObject dso = DSpaceObject.find(context,
|
||||||
doiRow.getIntColumn("resource_type_id"),
|
doiRow.getIntColumn("resource_type_id"),
|
||||||
doiRow.getIntColumn("resource_id"));
|
doiRow.getIntColumn("resource_id"));
|
||||||
doiIdentifierProvider.updateMetadata(context, dso, doiRow.getStringColumn("doi"));
|
doiIdentifierProvider.updateMetadata(context, dso, doiRow.getStringColumn("doi"));
|
||||||
return;
|
return;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
LOG.error("There are no DOI Identifier for this Value : " + argument);
|
LOG.error("There are no DOI Identifier for this Value : " + argument);
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
LOG.error("This Item : " + argument + "doesn't exist");
|
LOG.error("This Item : " + argument + "doesn't exist");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
row = DatabaseManager.findByUnique(context, "Handle", "handle", argument);
|
row = DatabaseManager.findByUnique(context, "Handle", "handle", argument);
|
||||||
if (null != row) {
|
|
||||||
|
if (null != row)
|
||||||
|
{
|
||||||
doiRow = DatabaseManager.querySingleTable(context,
|
doiRow = DatabaseManager.querySingleTable(context,
|
||||||
"Doi", sql, row.getIntColumn("resource_type_id"), row.getIntColumn("resource_id"));
|
"Doi", sql, row.getIntColumn("resource_type_id"), row.getIntColumn("resource_id"));
|
||||||
if (null != doiRow) {
|
|
||||||
|
if (null != doiRow)
|
||||||
|
{
|
||||||
DSpaceObject dso = DSpaceObject.find(context,
|
DSpaceObject dso = DSpaceObject.find(context,
|
||||||
doiRow.getIntColumn("resource_type_id"),
|
doiRow.getIntColumn("resource_type_id"),
|
||||||
doiRow.getIntColumn("resource_id"));
|
doiRow.getIntColumn("resource_id"));
|
||||||
doiIdentifierProvider.updateMetadata(context, dso, doiRow.getStringColumn("doi"));
|
doiIdentifierProvider.updateMetadata(context, dso, doiRow.getStringColumn("doi"));
|
||||||
return;
|
return;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
LOG.error("There are no DOI Identifier for this Value : " + argument);
|
LOG.error("There are no DOI Identifier for this Value : " + argument);
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
LOG.error("This Handle: " + argument + "doesn't exist");
|
LOG.error("This Handle: " + argument + "doesn't exist");
|
||||||
}
|
}
|
||||||
String doi = doiIdentifierProvider.formatIdentifier(argument);
|
|
||||||
|
String doi = DOI.formatIdentifier(argument);
|
||||||
row = DatabaseManager.findByUnique(context, "Doi", "doi", doi.substring(DOI.SCHEME.length()));
|
row = DatabaseManager.findByUnique(context, "Doi", "doi", doi.substring(DOI.SCHEME.length()));
|
||||||
if (null != row) {
|
|
||||||
|
if (null != row)
|
||||||
|
{
|
||||||
DSpaceObject dso = DSpaceObject.find(context,
|
DSpaceObject dso = DSpaceObject.find(context,
|
||||||
row.getIntColumn("resource_type_id"),
|
row.getIntColumn("resource_type_id"),
|
||||||
row.getIntColumn("resource_id"));
|
row.getIntColumn("resource_id"));
|
||||||
doiIdentifierProvider.updateMetadata(context, dso, row.getStringColumn("doi"));
|
doiIdentifierProvider.updateMetadata(context, dso, row.getStringColumn("doi"));
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
LOG.error("This DOI identifier: " + argument + "doesn't exist");
|
LOG.error("This DOI identifier: " + argument + "doesn't exist");
|
||||||
}
|
}
|
||||||
} catch (SQLException ex) {
|
}
|
||||||
|
catch (SQLException ex)
|
||||||
|
{
|
||||||
LOG.error(ex);
|
LOG.error(ex);
|
||||||
} catch (IdentifierException ex) {
|
}
|
||||||
LOG.error("It wasn't possible to format the DOI Identifier", ex);
|
catch (IdentifierException ex)
|
||||||
|
{
|
||||||
|
LOG.error("It wasn't possible to update The object", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -248,14 +248,14 @@
|
|||||||
Adds contributor and contributorType information
|
Adds contributor and contributorType information
|
||||||
-->
|
-->
|
||||||
<xsl:template match="//dspace:field[@mdschema='dc' and @element='contributor'][not(@qualifier='author')]">
|
<xsl:template match="//dspace:field[@mdschema='dc' and @element='contributor'][not(@qualifier='author')]">
|
||||||
<xsl:element name="contributor">
|
<xsl:if test="@qualifier='editor'">
|
||||||
<xsl:if test="@qualifier='editor'">
|
<xsl:element name="contributor">
|
||||||
<xsl:attribute name="contributorType">Editor</xsl:attribute>
|
<xsl:attribute name="contributorType">Editor</xsl:attribute>
|
||||||
</xsl:if>
|
<contributorName>
|
||||||
<contributorName>
|
<xsl:value-of select="." />
|
||||||
<xsl:value-of select="." />
|
</contributorName>
|
||||||
</contributorName>
|
</xsl:element>
|
||||||
</xsl:element>
|
</xsl:if>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
|
@@ -21,39 +21,7 @@
|
|||||||
-- DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST.
|
-- DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST.
|
||||||
--
|
--
|
||||||
|
|
||||||
ALTER TABLE resourcepolicy
|
|
||||||
ADD (
|
|
||||||
rpname VARCHAR2(30),
|
|
||||||
rptype VARCHAR2(30),
|
|
||||||
rpdescription VARCHAR2(100)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
ALTER TABLE item ADD discoverable NUMBER(1);
|
|
||||||
|
|
||||||
CREATE TABLE versionhistory
|
|
||||||
(
|
|
||||||
versionhistory_id INTEGER NOT NULL PRIMARY KEY
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE TABLE versionitem
|
|
||||||
(
|
|
||||||
versionitem_id INTEGER NOT NULL PRIMARY KEY,
|
|
||||||
item_id INTEGER REFERENCES Item(item_id),
|
|
||||||
version_number INTEGER,
|
|
||||||
eperson_id INTEGER REFERENCES EPerson(eperson_id),
|
|
||||||
version_date TIMESTAMP,
|
|
||||||
version_summary VARCHAR2(255),
|
|
||||||
versionhistory_id INTEGER REFERENCES VersionHistory(versionhistory_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
CREATE SEQUENCE versionitem_seq;
|
|
||||||
CREATE SEQUENCE versionhistory_seq;
|
|
||||||
|
|
||||||
|
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
-- New columns and longer hash for salted password hashing DS-861 --
|
-- New columns for Doi Table status --
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
ALTER TABLE EPerson modify( password VARCHAR(128));
|
ALTER TABLE DOI ADD status VARCHAR(20);
|
||||||
ALTER TABLE EPerson ADD salt VARCHAR(32);
|
|
||||||
ALTER TABLE EPerson ADD digest_algorithm VARCHAR(16);
|
|
||||||
|
Reference in New Issue
Block a user