[DS-4522] Use more generic IdentifierNotApplicableException where applicable

This commit is contained in:
Kim Shepherd
2021-03-23 16:17:47 +13:00
parent cc1f67734e
commit 3d609faf07
6 changed files with 49 additions and 14 deletions

View File

@@ -891,7 +891,7 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
* DOI is registered for another object already.
*/
protected DOI loadOrCreateDOI(Context context, DSpaceObject dso, String doiIdentifier)
throws SQLException, DOIIdentifierException {
throws SQLException, DOIIdentifierException, IdentifierNotApplicableException {
return loadOrCreateDOI(context, dso, doiIdentifier, false);
}
@@ -911,7 +911,7 @@ public class DOIIdentifierProvider extends FilteredIdentifierProvider {
* @throws DOIIdentifierException
*/
protected DOI loadOrCreateDOI(Context context, DSpaceObject dso, String doiIdentifier, Boolean skipFilter)
throws SQLException, DOIIdentifierException {
throws SQLException, DOIIdentifierException, IdentifierNotApplicableException {
DOI doi = null;

View File

@@ -0,0 +1,34 @@
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.identifier;
/**
*
* Thrown when an identifier should not be applied to an item, eg. when it has been filtered by an item filter
*
*
* @author Kim Shepherd
*/
public class IdentifierNotApplicableException extends IdentifierException {
public IdentifierNotApplicableException() {
super();
}
public IdentifierNotApplicableException(String message) {
super(message);
}
public IdentifierNotApplicableException(String message, Throwable cause) {
super(message, cause);
}
public IdentifierNotApplicableException(Throwable cause) {
super(cause);
}
}

View File

@@ -72,8 +72,8 @@ public class IdentifierServiceImpl implements IdentifierService {
if (!StringUtils.isEmpty(identifier)) {
service.reserve(context, dso, identifier);
}
} catch (DOIIdentifierNotApplicableException e) {
log.warn("DOI Identifier not reserved (inapplicable): " + e.getMessage());
} catch (IdentifierNotApplicableException e) {
log.warn("Identifier not reserved (inapplicable): " + e.getMessage());
}
}
//Update our item
@@ -88,8 +88,8 @@ public class IdentifierServiceImpl implements IdentifierService {
if (service.supports(identifier)) {
try {
service.reserve(context, dso, identifier);
} catch (DOIIdentifierNotApplicableException e) {
log.warn("DOI Identifier not reserved (inapplicable): " + e.getMessage());
} catch (IdentifierNotApplicableException e) {
log.warn("Identifier not reserved (inapplicable): " + e.getMessage());
}
}
}
@@ -105,8 +105,8 @@ public class IdentifierServiceImpl implements IdentifierService {
for (IdentifierProvider service : providers) {
try {
service.register(context, dso);
} catch (DOIIdentifierNotApplicableException e) {
log.warn("DOI Identifier not registered (inapplicable): " + e.getMessage());
} catch (IdentifierNotApplicableException e) {
log.warn("Identifier not registered (inapplicable): " + e.getMessage());
}
}
//Update our item / collection / community
@@ -124,8 +124,8 @@ public class IdentifierServiceImpl implements IdentifierService {
try {
service.register(context, object, identifier);
registered = true;
} catch (DOIIdentifierNotApplicableException e) {
log.warn("DOI Identifier not registered (inapplicable): " + e.getMessage());
} catch (IdentifierNotApplicableException e) {
log.warn("Identifier not registered (inapplicable): " + e.getMessage());
}
}
}

View File

@@ -222,7 +222,7 @@ public class VersionedDOIIdentifierProvider extends DOIIdentifierProvider {
// Should never return null!
protected String makeIdentifierBasedOnHistory(Context context, DSpaceObject dso, VersionHistory history)
throws AuthorizeException, SQLException, DOIIdentifierException {
throws AuthorizeException, SQLException, DOIIdentifierException, IdentifierNotApplicableException {
// Mint foreach new version an identifier like: 12345/100.versionNumber
// use the bare handle (g.e. 12345/100) for the first version.

View File

@@ -7,6 +7,8 @@
*/
package org.dspace.identifier.doi;
import org.dspace.identifier.IdentifierNotApplicableException;
/**
*
* Thrown when an identifier should not be applied to an item, eg. when it has been filtered by an item filter
@@ -14,7 +16,7 @@ package org.dspace.identifier.doi;
*
* @author Kim Shepherd
*/
public class DOIIdentifierNotApplicableException extends DOIIdentifierException {
public class DOIIdentifierNotApplicableException extends IdentifierNotApplicableException {
public DOIIdentifierNotApplicableException() {
super();

View File

@@ -40,6 +40,7 @@ import org.dspace.handle.service.HandleService;
import org.dspace.identifier.DOI;
import org.dspace.identifier.DOIIdentifierProvider;
import org.dspace.identifier.IdentifierException;
import org.dspace.identifier.IdentifierNotApplicableException;
import org.dspace.identifier.factory.IdentifierServiceFactory;
import org.dspace.identifier.service.DOIService;
import org.dspace.services.ConfigurationService;
@@ -243,8 +244,6 @@ public class DOIOrganiser {
} catch (SQLException ex) {
System.err.println("Error in database connection:" + ex.getMessage());
ex.printStackTrace(System.err);
} catch (DOIIdentifierNotApplicableException e) {
System.err.println("DOI not registered: " + e.getMessage());
} catch (DOIIdentifierException ex) {
System.err.println("Error registering DOI identifier:" + ex.getMessage());
}