diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index c1998a0..6b14742 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -16,16 +16,16 @@ jobs: with: php-version: '8.0' extensions: intl, xsl - tools: composer:2.0.13 + tools: composer:2 - name: Setup Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: adopt java-version: ${{ matrix.java-version }} - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Set up VuFind environment run: | @@ -33,7 +33,7 @@ jobs: echo VUFIND_LOCAL_DIR=$VUFIND_HOME/local >> $GITHUB_ENV - name: Cache VuFind data - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/vufind key: "vufind-${{ github.sha }}" diff --git a/browse-handler/java/org/vufind/solr/handler/BrowseRequestHandler.java b/browse-handler/java/org/vufind/solr/handler/BrowseRequestHandler.java index 0b42384..75ad85f 100644 --- a/browse-handler/java/org/vufind/solr/handler/BrowseRequestHandler.java +++ b/browse-handler/java/org/vufind/solr/handler/BrowseRequestHandler.java @@ -9,6 +9,7 @@ import java.net.URL; import java.util.Arrays; +import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -21,6 +22,7 @@ import org.apache.solr.handler.RequestHandlerBase; import org.apache.solr.request.SolrRequestHandler; import org.apache.solr.search.SolrIndexSearcher; +import org.apache.solr.security.AuthorizationContext; import org.apache.solr.util.RefCounted; import org.vufind.util.NormalizerFactory; @@ -153,6 +155,15 @@ public void handleRequestBody(org.apache.solr.request.SolrQueryRequest req, CoreDescriptor cd = core.getCoreDescriptor(); CoreContainer cc = core.getCoreContainer(); SolrCore authCore = cc.getCore(authCoreName); + if (authCore == null) { + Collection names = cc.getAllCoreNames(); + String name = names.stream().filter(n -> n.startsWith(authCoreName)).findFirst().orElse(null); + if (name == null) + throw new Exception("Could not find a core with a name starting with " + authCoreName); + authCore = cc.getCore(name); + if (authCore == null) + throw new Exception("Could not get the core with the name " + name); + } //Must decrement RefCounted when finished! RefCounted authSearcherRef = authCore.getSearcher(); @@ -230,4 +241,8 @@ public URL[] getDocs() { return null; } + + public Name getPermissionName(AuthorizationContext request) { + return Name.ALL; + } } diff --git a/browse-handler/java/org/vufind/solr/handler/client/solrj/BrowseRequest.java b/browse-handler/java/org/vufind/solr/handler/client/solrj/BrowseRequest.java index 13adfc0..ce40d43 100644 --- a/browse-handler/java/org/vufind/solr/handler/client/solrj/BrowseRequest.java +++ b/browse-handler/java/org/vufind/solr/handler/client/solrj/BrowseRequest.java @@ -42,6 +42,11 @@ public BrowseRequest(METHOD m, String path) // TODO Auto-generated constructor stub } + public String getRequestType() + { + return "VuFindBrowseRequest"; + } + @Override public SolrParams getParams() { diff --git a/build.xml b/build.xml index 568332f..8facbef 100644 --- a/build.xml +++ b/build.xml @@ -10,6 +10,9 @@ + + @@ -22,15 +25,26 @@ + + + + + + + + + + + @@ -181,8 +195,8 @@ - @@ -194,9 +208,10 @@ - + + @@ -227,16 +242,16 @@ - - diff --git a/common/java/org/vufind/util/DeweyCallNormalizer.java b/common/java/org/vufind/util/DeweyCallNormalizer.java index cec39b8..68bbd69 100644 --- a/common/java/org/vufind/util/DeweyCallNormalizer.java +++ b/common/java/org/vufind/util/DeweyCallNormalizer.java @@ -1,6 +1,6 @@ package org.vufind.util; -import org.solrmarc.callnum.DeweyCallNumber; +import org.marc4j.callnum.DeweyCallNumber; import java.util.logging.Logger; public class DeweyCallNormalizer implements Normalizer diff --git a/common/java/org/vufind/util/LCCallNormalizer.java b/common/java/org/vufind/util/LCCallNormalizer.java index e5542dd..9e60376 100644 --- a/common/java/org/vufind/util/LCCallNormalizer.java +++ b/common/java/org/vufind/util/LCCallNormalizer.java @@ -1,6 +1,6 @@ package org.vufind.util; -import org.solrmarc.callnum.LCCallNumber; +import org.marc4j.callnum.LCCallNumber; import java.util.logging.Logger; public class LCCallNormalizer implements Normalizer diff --git a/libs/MarcImporter.jar b/libs/MarcImporter.jar deleted file mode 100644 index eecb4a5..0000000 Binary files a/libs/MarcImporter.jar and /dev/null differ