Interface ItemService
- All Superinterfaces:
DSpaceObjectLegacySupportService<Item>,DSpaceObjectService<Item>
- All Known Implementing Classes:
ItemServiceImpl
- Author:
- kevinvandevelde at atmire.com
-
Field Summary
Fields inherited from interface org.dspace.content.service.DSpaceObjectService
MD_COPYRIGHT_TEXT, MD_INTRODUCTORY_TEXT, MD_LICENSE, MD_NAME, MD_PROVENANCE_DESCRIPTION, MD_SHORT_DESCRIPTION, MD_SIDEBAR_TEXT, MD_SOURCE, MD_USER_FORMAT_DESCRIPTION -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd an existing bundle to this item.voidadjustBitstreamPolicies(Context context, Item item, Collection collection, Bitstream bitstream) Adjust the Bitstream policies to reflect what have been defined during the submission/workflow.voidadjustBitstreamPolicies(Context context, Item item, Collection collection, Bitstream bitstream, boolean replaceReadRPWithCollectionRP) Adjust the Bitstream policies to reflect what have been defined during the submission/workflow.voidadjustBundleBitstreamPolicies(Context context, Item item, Collection collection) Adjust the Bundle and Bitstream policies to reflect what have been defined during the submission/workflow.voidadjustBundleBitstreamPolicies(Context context, Item item, Collection collection, boolean replaceReadRPWithCollectionRP) Adjust the Bundle and Bitstream policies to reflect what have been defined during the submission/workflow.voidadjustItemPolicies(Context context, Item item, Collection collection) Adjust the Item's policies to reflect what have been defined during the submission/workflow.voidadjustItemPolicies(Context context, Item item, Collection collection, boolean replaceReadRPWithCollectionRP) Adjust the Item's policies to reflect what have been defined during the submission/workflow.booleancanCreateNewVersion(Context context, Item item) return TRUE if context's user can create new version of the item, false otherwise.booleanreturn TRUE if context's user can edit item, false otherwiseintcountAllItems(Context context, Collection collection) counts all items in the given collection including withdrawn itemsintcountAllItems(Context context, Community community) counts all items in the given community including withdrawnintcountArchivedItems(Context context) counts all items in archiveintcountByCollectionMapping(Context context, Collection collection) Count all the archived items mapped to this collection (excludes owning collection).longcountForMetadataQuery(Context context, List<QueryPredicate> queryPredicates, List<UUID> collectionUuids) Returns the total number of items that match the given predicates, within the specified collections, if any.intcountItems(Context context, Collection collection) counts items in the given collectionintcountItems(Context context, Community community) counts items in the given communityintcountItemsWithEdit(Context context) counts all items for which the current user has editing rightsintcountNotArchivedItems(Context context) counts all items not in archiveintcountTotal(Context context) counts all itemsintcountWithdrawnItems(Context context) counts all withdrawn itemscreate(Context context, WorkspaceItem workspaceItem) Create a new item, with a new internal ID.create(Context context, WorkspaceItem workspaceItem, UUID uuid) Create a new item, with a provided ID.createSingleBitstream(Context context, InputStream is, Item item) Convenience method, calls createSingleBitstream() with name "ORIGINAL"createSingleBitstream(Context context, InputStream is, Item item, String name) Create a single bitstream in a new bundle.createTemplateItem(Context context, Collection collection) Create an empty template item for this collection.Get all the items in the archive.Get all the items in the archive.findAllByCollection(Context context, Collection collection) Get all the items (including private and withdrawn) in this collection.findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) Get all the items (including private and withdrawn) in this collection.findAllRegularItems(Context context) Find all items that are: - NOT in the workspace - NOT in the workflow - NOT a template item for e.g. a collection This implies that the result also contains older versions of items and withdrawn items.findAllUnfiltered(Context context) Deprecated.findArchivedByMetadataField(Context context, String metadataField, String value) Returns an iterator of in archive items possessing the passed metadata field, or only those matching the passed value, if value is not Item.ANYfindArchivedByMetadataField(Context context, String schema, String element, String qualifier, String value) Returns an iterator of in archive items possessing the passed metadata field, or only those matching the passed value, if value is not Item.ANYfindByAuthorityValue(Context context, String schema, String element, String qualifier, String value) Find all the items in the archive with a given authority key value in the indicated metadata field.findByCollection(Context context, Collection collection) Get all the archived items in this collection.findByCollection(Context context, Collection collection, Integer limit, Integer offset) Get all the archived items in this collection.findByCollectionMapping(Context context, Collection collection, Integer limit, Integer offset) Get all the archived items mapped to this collection (excludes owning collection).findByLastModifiedSince(Context context, Instant last) Find all Items modified since a Date.Returns an iterator of Items possessing the passed metadata field, or only those matching the passed value, if value is not Item.ANYfindByMetadataFieldAuthority(Context context, String mdString, String authority) findByMetadataQuery(Context context, List<QueryPredicate> queryPredicates, List<UUID> collectionUuids, long offset, int limit) Returns a list of items that match the given predicates, within the specified collections, if any.findBySubmitter(Context context, EPerson eperson) Find all the items in the archive by a given submitter.findBySubmitter(Context context, EPerson eperson, boolean retrieveAllItems) Find all the items by a given submitter.findBySubmitterDateSorted(Context context, EPerson eperson, Integer limit) Retrieve the list of items submitted by eperson, ordered by recently submitted, optionally limitablefindInArchiveOrWithdrawnDiscoverableModifiedSince(Context context, Instant since) Get all Items installed or withdrawn, discoverable, and modified since a Date.findInArchiveOrWithdrawnNonDiscoverableModifiedSince(Context context, Instant since) Get all Items installed or withdrawn, NON-discoverable, and modified since a Date.findItemsWithEdit(Context context, int offset, int limit) finds all items for which the current user has editing rightsgetBundles(Item item, String name) Get the bundles matching a bundle name (name corresponds roughly to type)getCollectionsNotLinked(Context context, Item item) Get the collections this item is not in.getCommunities(Context context, Item item) Get the communities this item is in.getEntityType(Context context, Item item) Retrieve the entity type of the given item.getEntityTypeLabel(Item item) Retrieve the label of the entity type of the given item.getMetadata(Item item, String schema, String element, String qualifier, String lang, boolean enableVirtualMetadata) Get metadata for the DSpace Object in a chosen schema.getNonInternalBitstreams(Context context, Item item) Get all non-internal bitstreams in the item.getThumbnail(Context context, Item item, boolean requireOriginal) booleanhasUploadedFiles(Item item) Check the bundle ORIGINAL to see if there are any uploaded filesvoidinheritCollectionDefaultPolicies(Context context, Item item, Collection collection) Remove all policies on an item and its contents, and replace them with the DEFAULT_ITEM_READ and DEFAULT_BITSTREAM_READ policies belonging to the collection.voidinheritCollectionDefaultPolicies(Context context, Item item, Collection collection, boolean overrideItemReadPolicies) Remove all submission and workflow policies on an item and its contents, and add default collection policies which are not yet already in place.booleanisIn(Item item, Collection collection) See whether this Item is contained by a given Collection.booleanisInProgressSubmission(Context context, Item item) Check if the supplied item is an inprogress submissionbooleanisItemListedForUser(Context context, Item item) Service method for knowing if this Item should be visible in the item list.booleanisLatestVersion(Context context, Item item) Check whether the given item is the latest version.booleanisOwningCollection(Item item, Collection collection) Return true if this Collection 'owns' this itemvoidmove(Context context, Item item, Collection from, Collection to) Moves the item from one collection to another onevoidmove(Context context, Item item, Collection from, Collection to, boolean inheritDefaultPolicies) Moves the item from one collection to another onevoidpopulateWithTemplateItemMetadata(Context context, Collection collection, boolean template, Item item) Populate the given item with all template item specified metadata.voidReinstate a withdrawn itemvoidremoveAllBundles(Context context, Item item) Remove all bundles linked to this item.voidremoveBundle(Context context, Item item, Bundle bundle) Remove a bundle.voidremoveDSpaceLicense(Context context, Item item) Remove just the DSpace license from an item This is useful to update the current DSpace license, in case the user must accept the DSpace license again (either the item was rejected, or resumed after saving)voidremoveGroupPolicies(Context context, Item item, Group group) remove all of the policies for item's bitstreams and bundles that belong to a given GroupvoidremoveLicenses(Context context, Item item) Remove all licenses from an item - it was rejectedvoidreplaceAllBitstreamPolicies(Context context, Item item, List<ResourcePolicy> newpolicies) remove all of the policies for item's bitstreams and bundles and replace them with a new list of policiesvoidreplaceAllItemPolicies(Context context, Item item, List<ResourcePolicy> newpolicies) remove all of the policies for item and replace them with a new list of policiesvoidWithdraw the item from the archive.Methods inherited from interface org.dspace.content.service.DSpaceObjectLegacySupportService
findByIdOrLegacyId, findByLegacyId, getSupportsTypeConstantMethods inherited from interface org.dspace.content.service.DSpaceObjectService
addAndShiftRightMetadata, addMetadata, addMetadata, addMetadata, addMetadata, addMetadata, addMetadata, addMetadata, addMetadata, addMetadata, clearMetadata, delete, find, getAdminObject, getIdentifiers, getMetadata, getMetadata, getMetadata, getMetadata, getMetadataByMetadataString, getMetadataFirstValue, getMetadataFirstValue, getName, getParentObject, getSupportsTypeConstant, getTypeText, moveMetadata, removeMetadataValues, replaceMetadata, setMetadataModified, setMetadataSingleValue, setMetadataSingleValue, update, updateLastModified
-
Method Details
-
getThumbnail
- Throws:
SQLException
-
create
Create a new item, with a new internal ID. Authorization is done inside of this method.- Parameters:
context- DSpace context objectworkspaceItem- in progress workspace item- Returns:
- the newly created item
- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
create
Item create(Context context, WorkspaceItem workspaceItem, UUID uuid) throws SQLException, AuthorizeException Create a new item, with a provided ID. Authorisation is done inside of this method.- Parameters:
context- DSpace context objectworkspaceItem- in progress workspace itemuuid- the pre-determined UUID to assign to the new item- Returns:
- the newly created item
- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
createTemplateItem
Item createTemplateItem(Context context, Collection collection) throws SQLException, AuthorizeException Create an empty template item for this collection. If one already exists, no action is taken. Caution: Make sure you callupdateon the collection after doing this, or the item will have been created but the collection record will not refer to it.- Parameters:
context- DSpace context objectcollection- Collection (parent)- Returns:
- empty template item for this collection
- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
populateWithTemplateItemMetadata
void populateWithTemplateItemMetadata(Context context, Collection collection, boolean template, Item item) throws SQLException Populate the given item with all template item specified metadata.- Parameters:
context- DSpace context objectcollection- Collection (parent)template- iftrue, the item inherits all collection's template item metadataitem- item to populate with template item specified metadata- Throws:
SQLException- if database error
-
findAll
Get all the items in the archive. Only items with the "in archive" flag set are included. The order of the list is indeterminate.- Parameters:
context- DSpace context object- Returns:
- an iterator over the items in the archive.
- Throws:
SQLException- if database error
-
findAll
Get all the items in the archive. Only items with the "in archive" flag set are included. The order of the list is indeterminate.- Parameters:
context- DSpace context objectlimit- limitoffset- offset- Returns:
- an iterator over the items in the archive.
- Throws:
SQLException- if database error
-
findAllUnfiltered
Deprecated.Get all "final" items in the archive, both archived ("in archive" flag) or withdrawn items are included. The order of the list is indeterminate.- Parameters:
context- DSpace context object- Returns:
- an iterator over the items in the archive.
- Throws:
SQLException- if database error
-
findAllRegularItems
Find all items that are: - NOT in the workspace - NOT in the workflow - NOT a template item for e.g. a collection This implies that the result also contains older versions of items and withdrawn items.- Parameters:
context- the DSpace context.- Returns:
- iterator over all regular items.
- Throws:
SQLException- if database error.
-
findBySubmitter
Find all the items in the archive by a given submitter. The order is indeterminate. Only items with the "in archive" flag set are included.- Parameters:
context- DSpace context objecteperson- the submitter- Returns:
- an iterator over the items submitted by eperson
- Throws:
SQLException- if database error
-
findBySubmitter
Iterator<Item> findBySubmitter(Context context, EPerson eperson, boolean retrieveAllItems) throws SQLException Find all the items by a given submitter. The order is indeterminate. All items are included.- Parameters:
context- DSpace context objecteperson- the submitterretrieveAllItems- flag to determine if all items should be returned or only archived items. If true, all items (regardless of status) are returned. If false, only archived items will be returned.- Returns:
- an iterator over the items submitted by eperson
- Throws:
SQLException- if database error
-
findBySubmitterDateSorted
Iterator<Item> findBySubmitterDateSorted(Context context, EPerson eperson, Integer limit) throws SQLException Retrieve the list of items submitted by eperson, ordered by recently submitted, optionally limitable- Parameters:
context- DSpace context objecteperson- the submitterlimit- a positive integer to limit, -1 or null for unlimited- Returns:
- an iterator over the items submitted by eperson
- Throws:
SQLException- if database error
-
findByCollection
Get all the archived items in this collection. The order is indeterminate.- Parameters:
context- DSpace context objectcollection- Collection (parent)- Returns:
- an iterator over the items in the collection.
- Throws:
SQLException- if database error
-
findByCollection
Iterator<Item> findByCollection(Context context, Collection collection, Integer limit, Integer offset) throws SQLException Get all the archived items in this collection. The order is indeterminate.- Parameters:
context- DSpace context objectcollection- Collection (parent)limit- limited number of itemsoffset- offset value- Returns:
- an iterator over the items in the collection.
- Throws:
SQLException- if database error
-
findByCollectionMapping
Iterator<Item> findByCollectionMapping(Context context, Collection collection, Integer limit, Integer offset) throws SQLException Get all the archived items mapped to this collection (excludes owning collection). The order is indeterminate.- Parameters:
context- DSpace context objectcollection- Collection (parent)limit- limited number of itemsoffset- offset value- Returns:
- an iterator over the items in the collection.
- Throws:
SQLException- if database error
-
countByCollectionMapping
Count all the archived items mapped to this collection (excludes owning collection). The order is indeterminate.- Parameters:
context- DSpace context objectcollection- Collection (parent)- Returns:
- an iterator over the items in the collection.
- Throws:
SQLException- if database error
-
findAllByCollection
Iterator<Item> findAllByCollection(Context context, Collection collection, Integer limit, Integer offset) throws SQLException Get all the items (including private and withdrawn) in this collection. The order is indeterminate.- Parameters:
context- DSpace context objectcollection- Collection (parent)limit- limited number of itemsoffset- offset value- Returns:
- an iterator over the items in the collection.
- Throws:
SQLException- if database error
-
findInArchiveOrWithdrawnDiscoverableModifiedSince
Iterator<Item> findInArchiveOrWithdrawnDiscoverableModifiedSince(Context context, Instant since) throws SQLException Get all Items installed or withdrawn, discoverable, and modified since a Date.- Parameters:
context- DSpace context objectsince- earliest interesting last-modified date, or null for no date test.- Returns:
- an iterator over the items in the collection.
- Throws:
SQLException- if database error
-
findInArchiveOrWithdrawnNonDiscoverableModifiedSince
Iterator<Item> findInArchiveOrWithdrawnNonDiscoverableModifiedSince(Context context, Instant since) throws SQLException Get all Items installed or withdrawn, NON-discoverable, and modified since a Date.- Parameters:
context- contextsince- earliest interesting last-modified date, or null for no date test.- Returns:
- an iterator over the items in the collection.
- Throws:
SQLException- if database error
-
findAllByCollection
Get all the items (including private and withdrawn) in this collection. The order is indeterminate.- Parameters:
context- DSpace context objectcollection- Collection (parent)- Returns:
- an iterator over the items in the collection.
- Throws:
SQLException- if database error
-
isIn
See whether this Item is contained by a given Collection.- Parameters:
item- item to checkcollection- Collection (parent- Returns:
- true if
collectioncontains this Item. - Throws:
SQLException- if database error
-
getCommunities
Get the communities this item is in. Returns an unordered array of the communities that house the collections this item is in, including parent communities of the owning collections.- Parameters:
context- DSpace context objectitem- item to check- Returns:
- the communities this item is in.
- Throws:
SQLException- if database error
-
getBundles
Get the bundles matching a bundle name (name corresponds roughly to type)- Parameters:
item- item to checkname- name of bundle (ORIGINAL/TEXT/THUMBNAIL)- Returns:
- the bundles in an unordered array
- Throws:
SQLException- if database error
-
addBundle
Add an existing bundle to this item. This has immediate effect.- Parameters:
context- DSpace context objectitem- item to add the bundle tobundle- the bundle to add- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
removeBundle
void removeBundle(Context context, Item item, Bundle bundle) throws SQLException, AuthorizeException, IOException Remove a bundle. This may result in the bundle being deleted, if the bundle is orphaned.- Parameters:
context- DSpace context objectitem- Itembundle- the bundle to remove- Throws:
SQLException- if database errorAuthorizeException- if authorization errorIOException- if IO error
-
removeAllBundles
void removeAllBundles(Context context, Item item) throws AuthorizeException, SQLException, IOException Remove all bundles linked to this item. This may result in the bundle being deleted, if the bundle is orphaned.- Parameters:
context- DSpace context objectitem- the item from which to remove all bundles- Throws:
SQLException- if database errorAuthorizeException- if authorization errorIOException- if IO error
-
createSingleBitstream
Bitstream createSingleBitstream(Context context, InputStream is, Item item, String name) throws AuthorizeException, IOException, SQLException Create a single bitstream in a new bundle. Provided as a convenience method for the most common use.- Parameters:
context- DSpace context objectitem- item to create bitstream onis- the stream to create the new bitstream fromname- is the name of the bundle (ORIGINAL, TEXT, THUMBNAIL)- Returns:
- Bitstream that is created
- Throws:
AuthorizeException- if authorization errorIOException- if IO errorSQLException- if database error
-
createSingleBitstream
Bitstream createSingleBitstream(Context context, InputStream is, Item item) throws AuthorizeException, IOException, SQLException Convenience method, calls createSingleBitstream() with name "ORIGINAL"- Parameters:
context- DSpace context objectitem- item to create bitstream onis- InputStream- Returns:
- created bitstream
- Throws:
AuthorizeException- if authorization errorIOException- if IO errorSQLException- if database error
-
getNonInternalBitstreams
Get all non-internal bitstreams in the item. This is mainly used for auditing for provenance messages and adding format.* DC values. The order is indeterminate.- Parameters:
context- DSpace context objectitem- item to check- Returns:
- non-internal bitstreams.
- Throws:
SQLException- if database error
-
removeDSpaceLicense
void removeDSpaceLicense(Context context, Item item) throws SQLException, AuthorizeException, IOException Remove just the DSpace license from an item This is useful to update the current DSpace license, in case the user must accept the DSpace license again (either the item was rejected, or resumed after saving)This method is used by the org.dspace.submit.step.LicenseStep class
- Parameters:
context- DSpace context objectitem- item to remove DSpace license from- Throws:
SQLException- if database errorAuthorizeException- if authorization errorIOException- if IO error
-
removeLicenses
void removeLicenses(Context context, Item item) throws SQLException, AuthorizeException, IOException Remove all licenses from an item - it was rejected- Parameters:
context- DSpace context objectitem- item to remove all licenses from- Throws:
SQLException- if database errorAuthorizeException- if authorization errorIOException- if IO error
-
withdraw
Withdraw the item from the archive. It is kept in place, and the content and metadata are not deleted, but it is not publicly accessible.- Parameters:
context- DSpace context objectitem- item to withdraw- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
reinstate
Reinstate a withdrawn item- Parameters:
context- DSpace context objectitem- withdrawn item to reinstate- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
isOwningCollection
Return true if this Collection 'owns' this item- Parameters:
item- item to checkcollection- Collection- Returns:
- true if this Collection owns this item
-
replaceAllItemPolicies
void replaceAllItemPolicies(Context context, Item item, List<ResourcePolicy> newpolicies) throws SQLException, AuthorizeException remove all of the policies for item and replace them with a new list of policies- Parameters:
context- DSpace context objectitem- item to replace policies onnewpolicies- - this will be all of the new policies for the item and its contents- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
replaceAllBitstreamPolicies
void replaceAllBitstreamPolicies(Context context, Item item, List<ResourcePolicy> newpolicies) throws SQLException, AuthorizeException remove all of the policies for item's bitstreams and bundles and replace them with a new list of policies- Parameters:
context- DSpace context objectitem- item to replace policies onnewpolicies- - this will be all of the new policies for the bundle and bitstream contents- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
removeGroupPolicies
void removeGroupPolicies(Context context, Item item, Group group) throws SQLException, AuthorizeException remove all of the policies for item's bitstreams and bundles that belong to a given Group- Parameters:
context- DSpace context objectitem- item to remove group policies fromgroup- Group referenced by policies that needs to be removed- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
inheritCollectionDefaultPolicies
void inheritCollectionDefaultPolicies(Context context, Item item, Collection collection) throws SQLException, AuthorizeException Remove all policies on an item and its contents, and replace them with the DEFAULT_ITEM_READ and DEFAULT_BITSTREAM_READ policies belonging to the collection.- Parameters:
context- DSpace context objectitem- item to reset policies oncollection- Collection- Throws:
SQLException- if database error if an SQL error or if no default policies found. It's a bit draconian, but default policies must be enforced.AuthorizeException- if authorization error
-
inheritCollectionDefaultPolicies
void inheritCollectionDefaultPolicies(Context context, Item item, Collection collection, boolean overrideItemReadPolicies) throws SQLException, AuthorizeException Remove all submission and workflow policies on an item and its contents, and add default collection policies which are not yet already in place. If overrideItemReadPolicies is true, then all read policies on the item are replaced (but only if the collection has a default read policy).- Parameters:
context- DSpace context objectitem- item to reset policies oncollection- CollectionoverrideItemReadPolicies- if true, all read policies on the item are replaced (but only if the collection has a default read policy)- Throws:
SQLException- if database error if an SQL error or if no default policies found. It's a bit draconian, but default policies must be enforced.AuthorizeException- if authorization error
-
adjustBundleBitstreamPolicies
void adjustBundleBitstreamPolicies(Context context, Item item, Collection collection) throws SQLException, AuthorizeException Adjust the Bundle and Bitstream policies to reflect what have been defined during the submission/workflow. The temporary SUBMISSION and WORKFLOW policies are removed and the policies defined at the item and collection level are copied and inherited as appropriate. Custom selected Item policies are copied to the bundle/bitstream only if no explicit custom policies were already applied to the bundle/bitstream. Collection's policies are inherited if there are no other policies defined or if the append mode is defined by the configuration via the core.authorization.installitem.inheritance-read.append-mode property- Parameters:
context- DSpace context objectitem- Item to adjust policies oncollection- Collection- Throws:
SQLException- If database errorAuthorizeException- If authorization error
-
adjustBundleBitstreamPolicies
void adjustBundleBitstreamPolicies(Context context, Item item, Collection collection, boolean replaceReadRPWithCollectionRP) throws SQLException, AuthorizeException Adjust the Bundle and Bitstream policies to reflect what have been defined during the submission/workflow. The temporary SUBMISSION and WORKFLOW policies are removed and the policies defined at the item and collection level are copied and inherited as appropriate. Custom selected Item policies are copied to the bundle/bitstream only if no explicit custom policies were already applied to the bundle/bitstream. Collection's policies are inherited if there are no other policies defined or if the append mode is defined by the configuration via the core.authorization.installitem.inheritance-read.append-mode property- Parameters:
context- DSpace context objectitem- Item to adjust policies oncollection- CollectionreplaceReadRPWithCollectionRP- if true, all read policies on the item are replaced (but only if the collection has a default read policy)- Throws:
SQLException- If database errorAuthorizeException- If authorization error
-
adjustBitstreamPolicies
void adjustBitstreamPolicies(Context context, Item item, Collection collection, Bitstream bitstream) throws SQLException, AuthorizeException Adjust the Bitstream policies to reflect what have been defined during the submission/workflow. The temporary SUBMISSION and WORKFLOW policies are removed and the policies defined at the item and collection level are copied and inherited as appropriate. Custom selected Item policies are copied to the bitstream only if no explicit custom policies were already applied to the bitstream. Collection's policies are inherited if there are no other policies defined or if the append mode is defined by the configuration via the core.authorization.installitem.inheritance-read.append-mode property- Parameters:
context- DSpace context objectitem- Item to adjust policies oncollection- Collectionbitstream- Bitstream to adjust policies on- Throws:
SQLException- If database errorAuthorizeException- If authorization error
-
adjustBitstreamPolicies
void adjustBitstreamPolicies(Context context, Item item, Collection collection, Bitstream bitstream, boolean replaceReadRPWithCollectionRP) throws SQLException, AuthorizeException Adjust the Bitstream policies to reflect what have been defined during the submission/workflow. The temporary SUBMISSION and WORKFLOW policies are removed and the policies defined at the item and collection level are copied and inherited as appropriate. Custom selected Item policies are copied to the bitstream only if no explicit custom policies were already applied to the bitstream. Collection's policies are inherited if there are no other policies defined or if the append mode is defined by the configuration via the core.authorization.installitem.inheritance-read.append-mode property- Parameters:
context- DSpace context objectitem- Item to adjust policies oncollection- Collectionbitstream- Bitstream to adjust policies onreplaceReadRPWithCollectionRP- If true, all read policies on the bitstream are replaced (but only if the collection has a default read policy)- Throws:
SQLException- If database errorAuthorizeException- If authorization error
-
adjustItemPolicies
void adjustItemPolicies(Context context, Item item, Collection collection) throws SQLException, AuthorizeException Adjust the Item's policies to reflect what have been defined during the submission/workflow. The temporary SUBMISSION and WORKFLOW policies are removed and the default policies defined at the collection level are inherited as appropriate. Collection's policies are inherited if there are no other policies defined or if the append mode is defined by the configuration via the core.authorization.installitem.inheritance-read.append-mode property- Parameters:
context- DSpace context objectitem- Item to adjust policies oncollection- Collection- Throws:
SQLException- If database errorAuthorizeException- If authorization error
-
adjustItemPolicies
void adjustItemPolicies(Context context, Item item, Collection collection, boolean replaceReadRPWithCollectionRP) throws SQLException, AuthorizeException Adjust the Item's policies to reflect what have been defined during the submission/workflow. The temporary SUBMISSION and WORKFLOW policies are removed and the default policies defined at the collection level are inherited as appropriate. Collection's policies are inherited if there are no other policies defined or if the append mode is defined by the configuration via the core.authorization.installitem.inheritance-read.append-mode property- Parameters:
context- DSpace context objectitem- Item to adjust policies oncollection- CollectionreplaceReadRPWithCollectionRP- If true, all read policies on the item are replaced (but only if the collection has a default read policy)- Throws:
SQLException- If database errorAuthorizeException- If authorization error
-
move
void move(Context context, Item item, Collection from, Collection to) throws SQLException, AuthorizeException, IOException Moves the item from one collection to another one- Parameters:
context- DSpace context objectitem- item to movefrom- Collection to move fromto- Collection to move to- Throws:
SQLException- if database errorAuthorizeException- if authorization errorIOException- if IO error
-
move
void move(Context context, Item item, Collection from, Collection to, boolean inheritDefaultPolicies) throws SQLException, AuthorizeException, IOException Moves the item from one collection to another one- Parameters:
context- DSpace context objectitem- item to movefrom- Collection to move fromto- Collection to move toinheritDefaultPolicies- whether to inherit policies from new collection- Throws:
SQLException- if database errorAuthorizeException- if authorization errorIOException- if IO error
-
hasUploadedFiles
Check the bundle ORIGINAL to see if there are any uploaded files- Parameters:
item- item to check- Returns:
- true if there is a bundle named ORIGINAL with one or more bitstreams inside
- Throws:
SQLException- if database error
-
getCollectionsNotLinked
Get the collections this item is not in.- Parameters:
context- DSpace context objectitem- item to check- Returns:
- the collections this item is not in, if any.
- Throws:
SQLException- if database error
-
canEdit
return TRUE if context's user can edit item, false otherwise- Parameters:
context- DSpace context objectitem- item to check- Returns:
- boolean true = current user can edit item
- Throws:
SQLException- if database error
-
canCreateNewVersion
return TRUE if context's user can create new version of the item, false otherwise.- Parameters:
context- DSpace context objectitem- item to check- Returns:
- boolean true = current user can create new version of the item
- Throws:
SQLException- if database error
-
findArchivedByMetadataField
Iterator<Item> findArchivedByMetadataField(Context context, String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException Returns an iterator of in archive items possessing the passed metadata field, or only those matching the passed value, if value is not Item.ANY- Parameters:
context- DSpace context objectschema- metadata field schemaelement- metadata field elementqualifier- metadata field qualifiervalue- field value or Item.ANY to match any value- Returns:
- an iterator over the items matching that authority value
- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
findArchivedByMetadataField
Iterator<Item> findArchivedByMetadataField(Context context, String metadataField, String value) throws SQLException, AuthorizeException Returns an iterator of in archive items possessing the passed metadata field, or only those matching the passed value, if value is not Item.ANY- Parameters:
context- DSpace context objectmetadataField- metadatavalue- field value or Item.ANY to match any value- Returns:
- an iterator over the items matching that authority value
- Throws:
SQLException- if database errorAuthorizeException- if authorization error
-
findByMetadataField
Iterator<Item> findByMetadataField(Context context, String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException, IOException Returns an iterator of Items possessing the passed metadata field, or only those matching the passed value, if value is not Item.ANY- Parameters:
context- DSpace context objectschema- metadata field schemaelement- metadata field elementqualifier- metadata field qualifiervalue- field value or Item.ANY to match any value- Returns:
- an iterator over the items matching that authority value
- Throws:
SQLException- if database errorAuthorizeException- if authorization errorIOException- if IO error
-
findByMetadataQuery
List<Item> findByMetadataQuery(Context context, List<QueryPredicate> queryPredicates, List<UUID> collectionUuids, long offset, int limit) throws SQLException Returns a list of items that match the given predicates, within the specified collections, if any. This querying method is used by the Filtered Items report functionality.- Parameters:
context- DSpace context objectqueryPredicates- metadata field predicatescollectionUuids- UUIDs of the collections to searchoffset- position in the list to start returning itemslimit- maximum number of items to return- Returns:
- a list of matching items in the specified collections, or in any collection if no collection UUIDs are provided
- Throws:
SQLException- if a database error occurs
-
countForMetadataQuery
long countForMetadataQuery(Context context, List<QueryPredicate> queryPredicates, List<UUID> collectionUuids) throws SQLException Returns the total number of items that match the given predicates, within the specified collections, if any. This querying method is used for pagination by the Filtered Items report functionality.- Parameters:
context- DSpace context objectqueryPredicates- metadata field predicatescollectionUuids- UUIDs of the collections to search- Returns:
- the total number of matching items in the specified collections, or in any collection if no collection UUIDs are provided
- Throws:
SQLException- if a database error occurs
-
findByAuthorityValue
Iterator<Item> findByAuthorityValue(Context context, String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException Find all the items in the archive with a given authority key value in the indicated metadata field.- Parameters:
context- DSpace context objectschema- metadata field schemaelement- metadata field elementqualifier- metadata field qualifiervalue- the value of authority key to look for- Returns:
- an iterator over the items matching that authority value
- Throws:
SQLException- if database errorAuthorizeException- if authorization errorIOException- if IO error
-
findByMetadataFieldAuthority
Iterator<Item> findByMetadataFieldAuthority(Context context, String mdString, String authority) throws SQLException, AuthorizeException - Throws:
SQLExceptionAuthorizeException
-
isItemListedForUser
Service method for knowing if this Item should be visible in the item list. Items only show up in the "item list" if the user has READ permission and if the Item isn't flagged as unlisted.- Parameters:
context- DSpace context objectitem- item- Returns:
- true or false
-
countItems
counts items in the given collection- Parameters:
context- DSpace context objectcollection- Collection- Returns:
- total items
- Throws:
SQLException- if database error
-
countAllItems
counts all items in the given collection including withdrawn items- Parameters:
context- DSpace context objectcollection- Collection- Returns:
- total items
- Throws:
SQLException- if database error
-
findByLastModifiedSince
Find all Items modified since a Date.- Parameters:
context- DSpace context objectlast- Earliest interesting last-modified date.- Returns:
- iterator over items
- Throws:
SQLException- if database error
-
countItems
counts items in the given community- Parameters:
context- DSpace context objectcommunity- Community- Returns:
- total items
- Throws:
SQLException- if database error
-
countAllItems
counts all items in the given community including withdrawn- Parameters:
context- DSpace context objectcommunity- Community- Returns:
- total items
- Throws:
SQLException- if database error
-
countTotal
counts all items- Parameters:
context- DSpace context object- Returns:
- total items
- Throws:
SQLException- if database error
-
countNotArchivedItems
counts all items not in archive- Parameters:
context- DSpace context object- Returns:
- total items NOT in archive
- Throws:
SQLException- if database error
-
countArchivedItems
counts all items in archive- Parameters:
context- DSpace context object- Returns:
- total items in archive
- Throws:
SQLException- if database error
-
countWithdrawnItems
counts all withdrawn items- Parameters:
context- DSpace context object- Returns:
- total items withdrawn
- Throws:
SQLException- if database error
-
findItemsWithEdit
List<Item> findItemsWithEdit(Context context, int offset, int limit) throws SQLException, SearchServiceException finds all items for which the current user has editing rights- Parameters:
context- DSpace context objectoffset- page offsetlimit- page size limit- Returns:
- list of items for which the current user has editing rights
- Throws:
SQLExceptionSearchServiceException
-
countItemsWithEdit
counts all items for which the current user has editing rights- Parameters:
context- DSpace context object- Returns:
- list of items for which the current user has editing rights
- Throws:
SQLExceptionSearchServiceException
-
isInProgressSubmission
Check if the supplied item is an inprogress submission- Parameters:
context- DSpace context objectitem- item to check- Returns:
trueif the item is linked to a workspaceitem or workflowitem- Throws:
SQLException- if database error
-
getMetadata
List<MetadataValue> getMetadata(Item item, String schema, String element, String qualifier, String lang, boolean enableVirtualMetadata) Get metadata for the DSpace Object in a chosen schema. SeeMetadataSchemafor more information about schemas. Passing in anullvalue forqualifierorlangonly matches metadata fields where that qualifier or languages is actuallynull. Passing inDSpaceObject.ANYretrieves all metadata fields with any value for the qualifier or language, includingnullExamples:
Return values of the unqualified "title" field, in any language. Qualified title fields (e.g. "title.uniform") are NOT returned:
dspaceobject.getMetadataByMetadataString("dc", "title", null, DSpaceObject.ANY );Return all US English values of the "title" element, with any qualifier (including unqualified):
dspaceobject.getMetadataByMetadataString("dc, "title", DSpaceObject.ANY, "en_US" );The ordering of values of a particular element/qualifier/language combination is significant. When retrieving with wildcards, values of a particular element/qualifier/language combinations will be adjacent, but the overall ordering of the combinations is indeterminate. If enableVirtualMetadata is set to false, the virtual metadata will not be included
- Parameters:
item- Itemschema- the schema for the metadata field. Must match thenameof an existing metadata schema.element- the element name.DSpaceObject.ANYmatches any element.nulldoesn't really make sense as all metadata must have an element.qualifier- the qualifier.nullmeans unqualified, andDSpaceObject.ANYmeans any qualifier (including unqualified.)lang- the ISO639 language code, optionally followed by an underscore and the ISO3166 country code.nullmeans only values with no language are returned, andDSpaceObject.ANYmeans values with any country code or no country code are returned.enableVirtualMetadata- Enables virtual metadata calculation and inclusion from the relationships.- Returns:
- metadata fields that match the parameters
-
getEntityTypeLabel
Retrieve the label of the entity type of the given item.- Parameters:
item- the item.- Returns:
- the label of the entity type, taken from the item metadata, or null if not found.
-
getEntityType
Retrieve the entity type of the given item.- Parameters:
context- the DSpace context.item- the item.- Returns:
- the entity type of the given item, or null if not found.
- Throws:
SQLException
-
isLatestVersion
Check whether the given item is the latest version. If the latest item cannot be determined, because either the version history or the latest version is not present, assume the item is latest.- Parameters:
context- the DSpace context.item- the item that should be checked.- Returns:
- true if the item is the latest version, false otherwise.
- Throws:
SQLException
-