diff options
Diffstat (limited to 'branches/sca-java-1.3/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util')
3 files changed, 0 insertions, 306 deletions
diff --git a/branches/sca-java-1.3/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java b/branches/sca-java-1.3/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java deleted file mode 100644 index daac727cb6..0000000000 --- a/branches/sca-java-1.3/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/IOUtils.java +++ /dev/null @@ -1,176 +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.tuscany.sca.binding.notification.util;
-
-import java.io.ByteArrayOutputStream;
-import java.io.EOFException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @version $Rev$ $Date$
- */
-public class IOUtils {
-
- // FIXME: For some reason, tomcat converts the header names to be lower case, see TUSCANY-1791
- public static final String Notification_Source = "notification-source";
- public static final String Notification_Target = "notification-target";
- public static final String Notification_Operation = "notification-operation";
-
- public static final int DEF_BLOCK_SIZE = 512;
-
- public static Object sendHttpRequest(URL targetURL,
- String opName,
- Writeable wbody,
- ReadableContinuation rcont) throws Exception {
- if (opName == null) {
- opName = "";
- }
- Map<String, String> headers = new HashMap<String, String>();
- headers.put(Notification_Operation, opName);
- return sendHttpRequest(targetURL, headers, wbody, rcont);
- }
-
- public static Object sendHttpRequest(URL targetURL,
- Map<String, String> headers,
- Writeable wbody,
- ReadableContinuation rcont) throws Exception {
-
- String targetUri = targetURL.toString();
- String sourceUri = "";
-
- final HttpURLConnection con = (HttpURLConnection) targetURL.openConnection();
- con.setRequestMethod("POST");
- //con.setRequestProperty("Content-Length", Integer.toString(sbody.getBytes().length));
- con.setAllowUserInteraction(false);
- con.setInstanceFollowRedirects(false);
- if (targetUri != null) {
- con.setRequestProperty(Notification_Target, targetUri);
- }
-
- if (sourceUri != null) {
- con.setRequestProperty(Notification_Source, sourceUri);
- }
-
- for (String key : headers.keySet()) {
- con.setRequestProperty(key, headers.get(key));
- }
- con.setDoOutput(true);
- con.setDoInput(true);
- con.connect();
- Object response = null;
- try {
- if (wbody != null) {
- OutputStream ost = con.getOutputStream();
- wbody.write(ost);
- } else {
- throw new IOUtilsException("Missing writeable body");
- }
- final int rc = con.getResponseCode();
- switch (rc) {
- case HttpURLConnection.HTTP_OK:
- if (rcont != null) {
- InputStream ist = con.getInputStream();
- response = rcont.read(ist);
- }
- break;
- case HttpURLConnection.HTTP_NO_CONTENT:
- break;
- default:
- throw new RuntimeException("Unexpected response code: " + rc);
- }
- } finally {
- con.disconnect();
- }
- return response;
- }
-
- public interface Writeable {
- void write(OutputStream os) throws IOUtilsException;
- }
-
- public interface ReadableContinuation {
- Object read(InputStream is) throws IOUtilsException;
- }
-
- @SuppressWarnings("serial")
- public static class IOUtilsException extends Exception {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
-
- public IOUtilsException(String message) {
- super(message);
- }
-
- public IOUtilsException(Throwable cause) {
- super(cause);
- }
- }
-
- public static byte [] readFully(final InputStream ist, int len) throws IOException {
- ByteArrayOutputStream baost = new ByteArrayOutputStream();
- copyStream(ist,baost,len);
- return baost.toByteArray();
- }
-
- public static int copyStream(final InputStream ist, final OutputStream ost) throws IOException {
- return copyStream(ist, ost, -1, 0);
- }
-
- public static int copyStream(final InputStream ist, final OutputStream ost, int length) throws IOException {
- return copyStream(ist, ost, length, 0);
- }
-
- public static int copyStream(final InputStream ist, final OutputStream ost, final int length, int blockSize) throws IOException {
-
- int cbCopied = 0;
- if (blockSize <= 0) {
- blockSize = DEF_BLOCK_SIZE;
- }
-
- final byte[] block = new byte[blockSize];
- boolean done = length == 0;
- while (!done) {
- try {
- // determine how many bytes to read
- final int cbToRead = length == -1 ? block.length : (Math.min(length - cbCopied, block.length));
- final int cbRead = ist.read(block, 0, cbToRead);
- if (cbRead == -1) {
- done = true;
- } else {
- ost.write(block, 0, cbRead);
- cbCopied += cbRead;
- done = cbCopied == length;
- }
- } catch (final EOFException e) {
- done = true;
- }
- }
- ost.flush();
- return cbCopied;
- }
-}
diff --git a/branches/sca-java-1.3/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java b/branches/sca-java-1.3/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java deleted file mode 100644 index f780514eda..0000000000 --- a/branches/sca-java-1.3/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/NotificationServlet.java +++ /dev/null @@ -1,89 +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.tuscany.sca.binding.notification.util;
-
-import java.io.IOException;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-
-/**
- * Receives notification in HTTP request and dispatches it down the wire
- *
- * @version $Rev$ $Date$
- */
-@SuppressWarnings("serial")
-public class NotificationServlet extends HttpServlet {
-
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private NotificationServletHandler handler;
- private NotificationServletStreamHandler servletStreamHandler;
-
- public NotificationServlet(NotificationServletHandler handler) {
- this.handler = handler;
- this.servletStreamHandler = null;
- }
-
- public NotificationServlet(NotificationServletStreamHandler servletStreamHandler) {
- this.handler = null;
- this.servletStreamHandler = servletStreamHandler;
- }
-
- @Override
- public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
- HashMap<String, String> headers = new HashMap<String, String>();
- Enumeration headerNames = request.getHeaderNames();
- while (headerNames.hasMoreElements()) {
- String headerName = (String)headerNames.nextElement();
- headers.put(headerName, request.getHeader(headerName));
- }
- if (handler != null) {
- byte[] requestBody = IOUtils.readFully(request.getInputStream(), request.getContentLength());
- byte[] handlersResponse = handler.handle(headers, requestBody);
- if (handlersResponse != null) {
- response.getOutputStream().write(handlersResponse);
- response.getOutputStream().flush();
- }
- } else {
- try {
- servletStreamHandler.handle(headers, request.getInputStream(), request.getContentLength(), response.getOutputStream());
- } catch(RuntimeException e) {
- e.printStackTrace();
- }
- }
- }
-
- public interface NotificationServletHandler {
- byte[] handle(Map<String, String> headers, byte[] payload);
- }
-
- public interface NotificationServletStreamHandler {
- void handle(Map<String, String> headers, ServletInputStream istream, int contentLength, ServletOutputStream ostream);
- }
-}
diff --git a/branches/sca-java-1.3/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java b/branches/sca-java-1.3/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java deleted file mode 100644 index 42ccd5cdac..0000000000 --- a/branches/sca-java-1.3/modules/binding-notification/src/main/java/org/apache/tuscany/sca/binding/notification/util/URIUtil.java +++ /dev/null @@ -1,41 +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.tuscany.sca.binding.notification.util;
-
-import java.net.URI;
-
-/**
- * @version $Rev$ $Date$
- */
-public class URIUtil {
-
- public static String getPath(URI uri) {
- String path = null;
-
- if (uri.isOpaque()) {
- path = "/" + uri.getSchemeSpecificPart();
- } else if (uri.isAbsolute()) {
- path = uri.getPath();
- } else {
- path = "/" + uri.getPath();
- }
-
- return path;
- }
-}
|