diff --git a/src/main/java/de/urmel_dl/dbt/rc/persistency/SlotManager.java b/src/main/java/de/urmel_dl/dbt/rc/persistency/SlotManager.java index 97404844..4cc14e12 100644 --- a/src/main/java/de/urmel_dl/dbt/rc/persistency/SlotManager.java +++ b/src/main/java/de/urmel_dl/dbt/rc/persistency/SlotManager.java @@ -38,6 +38,7 @@ import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocumentList; +import org.jdom2.Element; import org.jdom2.JDOMException; import org.mycore.access.MCRAccessException; import org.mycore.access.MCRAccessManager; @@ -48,6 +49,7 @@ import org.mycore.common.MCRUserInformation; import org.mycore.common.content.MCRContent; import org.mycore.datamodel.classifications2.MCRCategoryID; +import org.mycore.datamodel.classifications2.impl.MCRCategoryDAOImpl; import org.mycore.datamodel.common.MCRAbstractMetadataVersion; import org.mycore.datamodel.common.MCRActiveLinkException; import org.mycore.datamodel.common.MCRCreatorCache; @@ -76,6 +78,7 @@ import de.urmel_dl.dbt.rc.datamodel.slot.SlotList; import de.urmel_dl.dbt.rc.datamodel.slot.entries.FileEntry; import de.urmel_dl.dbt.rc.utils.SlotWrapper; +import de.urmel_dl.dbt.utils.EntityFactory; import jakarta.persistence.EntityManager; import jakarta.persistence.TypedQuery; import jakarta.persistence.criteria.CriteriaBuilder; @@ -242,6 +245,55 @@ public static void setOwner(final String objId, final MCRUserInformation user) MCRCreatorCache.invalidate(objId); } + /** + * Checks if given access key was previously used on slot. + *
+ * Called from XEditor via
+ * Called from XEditor via xed:call-java (content/rc/slot-includes.xed).
+ *
+ * @param nodes the slot element
+ * @return true if key is matching
+ */
+ @SuppressWarnings("deprecation")
+ public static boolean isMatchPreviousAccessKeys(Listxed:call-java (content/rc/slot-includes.xed).
+ *
+ * @param nodes the location element
+ * @return true if slot number is free
+ */
+ public static boolean isFreeId(List