diff --git oak-http/pom.xml oak-http/pom.xml
index 876eff0..2d37061 100644
--- oak-http/pom.xml
+++ oak-http/pom.xml
@@ -66,11 +66,6 @@
${project.version}
- org.apache.jackrabbit
- oak-segment
- 1.6.0
-
-
org.apache.tika
tika-core
1.1
diff --git oak-http/src/main/java/org/apache/jackrabbit/oak/http/segment/SegmentServlet.java oak-http/src/main/java/org/apache/jackrabbit/oak/http/segment/SegmentServlet.java
deleted file mode 100644
index 5e768ef..0000000
--- oak-http/src/main/java/org/apache/jackrabbit/oak/http/segment/SegmentServlet.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.jackrabbit.oak.http.segment;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.util.UUID;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.jackrabbit.oak.plugins.segment.RecordId;
-import org.apache.jackrabbit.oak.plugins.segment.Segment;
-import org.apache.jackrabbit.oak.plugins.segment.SegmentId;
-import org.apache.jackrabbit.oak.plugins.segment.SegmentNodeState;
-import org.apache.jackrabbit.oak.plugins.segment.SegmentStore;
-
-import com.google.common.io.ByteStreams;
-
-public abstract class SegmentServlet extends HttpServlet {
-
- protected abstract SegmentStore getSegmentStore();
-
- private SegmentId getSegmentId(String info) {
- try {
- UUID uuid = UUID.fromString(info);
- return getSegmentStore().getTracker().getSegmentId(
- uuid.getMostSignificantBits(),
- uuid.getLeastSignificantBits());
- } catch (IllegalArgumentException e) {
- return null;
- }
- }
-
- private RecordId getRecordId(BufferedReader reader) throws IOException {
- try {
- return RecordId.fromString(
- getSegmentStore().getTracker(), reader.readLine());
- } catch (IllegalArgumentException e) {
- return null;
- }
- }
-
- @Override
- protected void doGet(
- HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- String info = request.getPathInfo();
- if (info == null || info.equals("") || info.equals("/")) {
- response.setContentType("text/plain; charset=UTF-8");
- SegmentNodeState head = getSegmentStore().getHead();
- response.getWriter().write(head.getRecordId().toString());
- } else if (info.startsWith("/")) {
- doGetSegment(info.substring(1, info.length()), response);
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
- @Override
- protected void doPut(
- HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- String info = request.getPathInfo();
- if (info == null || info.equals("") || info.equals("/")) {
- RecordId id = getRecordId(request.getReader());
- if (id == null) {
- response.sendError(HttpServletResponse.SC_BAD_REQUEST);
- } else {
- SegmentStore store = getSegmentStore();
- SegmentNodeState head = new SegmentNodeState(id);
- if (store.setHead(store.getHead(), head)) {
- response.setStatus(HttpServletResponse.SC_OK);
- } else {
- response.sendError(HttpServletResponse.SC_CONFLICT);
- }
- }
- } else if (info.startsWith("/")) {
- doPutSegment(info.substring(1, info.length()), request, response);
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- }
-
- private void doGetSegment(
- String info, HttpServletResponse response)
- throws ServletException, IOException {
- SegmentId id = getSegmentId(info);
- if (id == null) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- return;
- }
-
- Segment segment = id.getSegment();
- if (segment == null) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- return;
- }
-
- response.setContentType("application/octet-stream");
- segment.writeTo(response.getOutputStream());
- }
-
- private void doPutSegment(
- String info,
- HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- SegmentId id = getSegmentId(info);
- if (id == null) {
- response.sendError(HttpServletResponse.SC_NOT_FOUND);
- } else if (getSegmentStore().containsSegment(id)) {
- // can't modify an existing segment
- response.sendError(HttpServletResponse.SC_FORBIDDEN);
- } else {
- // TODO: sanity check the segment data?
- byte[] data = ByteStreams.toByteArray(request.getInputStream());
- getSegmentStore().writeSegment(id, data, 0, data.length);
- response.setStatus(HttpServletResponse.SC_OK);
- }
- }
-
-}