From f4f5d7c4cee7484462b8e5fd1c5b24372dd78779 Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Tue, 3 Jun 2014 08:26:31 +0200 Subject: [PATCH 001/200] Initial commit --- connect/.gitignore | 12 +++ connect/LICENSE | 201 +++++++++++++++++++++++++++++++++++++++++++++ connect/README.md | 4 + 3 files changed, 217 insertions(+) create mode 100644 connect/.gitignore create mode 100644 connect/LICENSE create mode 100644 connect/README.md diff --git a/connect/.gitignore b/connect/.gitignore new file mode 100644 index 00000000000..32858aad3c3 --- /dev/null +++ b/connect/.gitignore @@ -0,0 +1,12 @@ +*.class + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.ear + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* diff --git a/connect/LICENSE b/connect/LICENSE new file mode 100644 index 00000000000..ad410e11302 --- /dev/null +++ b/connect/LICENSE @@ -0,0 +1,201 @@ +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed 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. \ No newline at end of file diff --git a/connect/README.md b/connect/README.md new file mode 100644 index 00000000000..da4bb48e7f7 --- /dev/null +++ b/connect/README.md @@ -0,0 +1,4 @@ +camunda-connect +=============== + +Simple API for connecting HTTP Services and other things From d3c44a561a3225974659070a3ce1017b9aae904d Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Wed, 4 Jun 2014 16:03:45 +0200 Subject: [PATCH 002/200] wip --- connect/.gitignore | 20 ++ connect/README.md | 65 ++++++ connect/core/pom.xml | 39 ++++ .../connect/CloseableConnectorResponse.java | 28 +++ .../org/camunda/bpm/connect/Connector.java | 68 ++++++ .../bpm/connect/ConnectorException.java | 23 ++ .../camunda/bpm/connect/ConnectorRequest.java | 89 ++++++++ .../bpm/connect/ConnectorResponse.java | 40 ++++ .../AbstractCloseableConnectorResponse.java | 51 +++++ .../bpm/connect/impl/AbstractConnector.java | 54 +++++ .../impl/AbstractConnectorRequest.java | 80 +++++++ .../impl/AbstractConnectorResponse.java | 47 ++++ .../impl/AbstractRequestInvocation.java | 67 ++++++ .../bpm/connect/impl/ConnectCoreLogger.java | 35 +++ .../bpm/connect/impl/ConnectLogger.java | 27 +++ .../interceptor/ConnectorInvocation.java | 55 +++++ .../interceptor/RequestInterceptor.java | 66 ++++++ connect/pom.xml | 213 ++++++++++++++++++ connect/soap-httpclient/pom.xml | 80 +++++++ .../httpclient/HttpRequestInvocation.java | 46 ++++ .../soap/httpclient/SoapHttpConnector.java | 91 ++++++++ .../soap/httpclient/SoapHttpRequest.java | 81 +++++++ .../soap/httpclient/SoapHttpResponse.java | 64 ++++++ .../src/main/resources/log4j.properties | 7 + .../src/main/resources/loginRequest.xml | 13 ++ .../src/main/resources/soap.httpclient.json | 77 +++++++ .../soap/httpclient/SoapHttpClientTest.java | 27 +++ 27 files changed, 1553 insertions(+) create mode 100644 connect/.gitignore create mode 100644 connect/README.md create mode 100644 connect/core/pom.xml create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/CloseableConnectorResponse.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/Connector.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/ConnectorRequest.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/ConnectorResponse.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractCloseableConnectorResponse.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnector.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorRequest.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorResponse.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractRequestInvocation.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectLogger.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/interceptor/ConnectorInvocation.java create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/interceptor/RequestInterceptor.java create mode 100644 connect/pom.xml create mode 100644 connect/soap-httpclient/pom.xml create mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/HttpRequestInvocation.java create mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java create mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java create mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java create mode 100644 connect/soap-httpclient/src/main/resources/log4j.properties create mode 100644 connect/soap-httpclient/src/main/resources/loginRequest.xml create mode 100644 connect/soap-httpclient/src/main/resources/soap.httpclient.json create mode 100644 connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java diff --git a/connect/.gitignore b/connect/.gitignore new file mode 100644 index 00000000000..d4e8132a12f --- /dev/null +++ b/connect/.gitignore @@ -0,0 +1,20 @@ +.idea +target +.classpath +.project +.settings +build.properties +bin +.metadata +transaction.log +nbactions*.xml +nb-configuration.xml +/webapps/fox-platform-tasklist/server-work +dependency-reduced-pom.xml +faces-config.NavData +dependency-reduced-pom.xml +*.iml +*.sublime-project +*.sublime-workspace +*.swp + diff --git a/connect/README.md b/connect/README.md new file mode 100644 index 00000000000..5ae3f52d3b9 --- /dev/null +++ b/connect/README.md @@ -0,0 +1,65 @@ +camunda-connect +=============== + +

+ Home | + Documentation | + Forum | + Issues | + License | + Contribute +

+ +Simple API for connecting HTTP Services and other things. + +# List of connectors + +* SOAP Http Connector + +# Using a Connector + +camunda Connect API aims at two usage scenarios, usage in a generic system such as camunda BPM +process engine and standalone usage via API. + +## Standalone: Programmer friendly fluent API +For standalone usage in Java or Scripting Languages, the connectors expose a fluent API: + +```java +SoapHttpConnector soapConnector = new SoapHttpConnector(); + +SoapHttpResponse response = soapConnector.createRequest() + .endpointUrl("https://examaple.com/api/soap/21.0/") + .soapAction("Login") + .soapEnvelope(requestMessage) + .execute(); +``` + +## Embedded: Generic API +For usage in a generic system such as camunda BPM process engine, the connectors expose a generic, +property-based API: + +```java +SoapHttpConnector soapConnector = new SoapHttpConnector(); + +// create the request +SoapHttpRequest request = soapConnector.createRequest(); + +// configure the request +request.setRequestParameter(PARAM_NAME_ENDPOINT_URL, "https://examaple.com/api/soap/21.0/"); +HashMap headers = new HashMap(); +headers.put("SOAPAction", "Login"); +request.setRequestParameter(PARAM_NAME_HEADERS, headers); +request.setRequestParameter(PARAM_NAME_SOAP_ENVELOPE, requestMessage); + +// execure the request +SoapHttpResponse response = request.execute(); +``` + +# Documentation + +The sources of the documentation are located in the [docs folder](docs/index.md) of this repository. + +# Contributing + +camunda Connect is licensed under the Apache 2.0 License. Check [CONTRIBUTING.md](CONTRIBUTING.md) +for guidelines about how to contribute. diff --git a/connect/core/pom.xml b/connect/core/pom.xml new file mode 100644 index 00000000000..9fd407a9a62 --- /dev/null +++ b/connect/core/pom.xml @@ -0,0 +1,39 @@ + + 4.0.0 + + + org.camunda.connect + camunda-connect-root + 7.2.0-SNAPSHOT + + + camunda-connect-core + camunda BPM - connect - core + + + + + org.camunda.commons + camunda-commons-logging + + + + + + + + org.apache.felix + maven-bundle-plugin + + + bundle-manifest + process-classes + + manifest + + + + + + + diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/CloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/bpm/connect/CloseableConnectorResponse.java new file mode 100644 index 00000000000..c0590be8ec6 --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/CloseableConnectorResponse.java @@ -0,0 +1,28 @@ +/* Licensed 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.camunda.bpm.connect; + +/** + *

A connector response which represents an open resource (link to open resource) + * which must be closed. Consumers of this API are responsible to close the request. + * A generic connector consumer (such as the camunda process engine) should check + * whether

+ * + * @author Daniel Meyer + * + */ +public interface CloseableConnectorResponse extends ConnectorResponse { + + public void close(); + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/Connector.java b/connect/core/src/main/java/org/camunda/bpm/connect/Connector.java new file mode 100644 index 00000000000..a15a78f3bb0 --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/Connector.java @@ -0,0 +1,68 @@ +/* Licensed 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.camunda.bpm.connect; + +import java.util.List; + +import org.camunda.bpm.connect.interceptor.RequestInterceptor; + +/** + *

A connector represents a way to interact with some system, library or technology. + * Examples of connectors are connectors for HTTP interaction, a connector to a + * third-party library like a rules engine or file system abstraction.

+ * + *

Once an instance of a connector is created, it is thread-safe, meaning that single + * connector instance my be used by multiple threads concurrently. Each thread will create + * new {@link ConnectorRequest Requests} which are not threadsafe and must not be shared + * among multiple threads.

+ * + *

Connectors support interceptors. Interceptors may be used for customizing connector + * behavior or for adding management aspects such as logging to a connector.

+ * + * @author Daniel Meyer + * + */ +public interface Connector> { + + /** + * The unique Id for the connector. + * + * @return the unique connector id + */ + String getId(); + + /** + * Create a request on the connector. + * + * @return the connector-specific request object. + */ + T createRequest(); + + /** + * Adds a {@link RequestInterceptor} to this connector. The interceptor is added + * at the end of the interceptor chain. The interceptor is invoked for all requests + * created by the connector. + */ + void addRequestInterceptor(RequestInterceptor interceptor); + + /** + * Returns the {@link RequestInterceptor} chain for this connector. + * The implementation will return the actual list, modifications on the list will + * be reflected in the internal connector state. This means that you can use the + * returned list to modify the connector's {@link RequestInterceptor} chain. + * + * @return the list of interceptors. + */ + List getRequestInterceptors(); + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java b/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java new file mode 100644 index 00000000000..917f2b35921 --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java @@ -0,0 +1,23 @@ +/* Licensed 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.camunda.bpm.connect; + +/** + * Base class for all connector exceptions + * + * @author Daniel Meyer + * + */ +public class ConnectorException extends RuntimeException { + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorRequest.java b/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorRequest.java new file mode 100644 index 00000000000..8bcf453ce4b --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorRequest.java @@ -0,0 +1,89 @@ +/* Licensed 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.camunda.bpm.connect; + +import java.util.Map; + +/** + *

A connector request. The request opens an interaction with the connector. + * Because a request represents a single interaction, the request is not threadsafe. + * Request objects should not be shared between multiple threads.

+ * + *

The parameters of a request can be provided using the generic map of input + * parameters. See ({@link #setRequestParameters(Map)}): + *

+ *  SomeConnectorRequest req = connector.createRequest();
+ *  req.setRequestParameter("endpointUrl", "http://mysystem.loc/foo");
+ *  req.setRequestParameter("payload", "some important payload");
+ *  req.execute();
+ * 
+ * This makes it possible to use the connector in a generic / configurable system like + * the camunda process engine. + *

+ * + *

Optionally, a connector may also extend the request interface and provide + * dedicated (typesafe) methods for configuring a request, preferably in a + * fluent API fashion: + *

+ *  conntector.createRequest()
+ *    .endpointUrl("http://mysystem.loc/foo")
+ *    .payload("some important payload")
+ *    .execute();
+ * 
+ * This makes it easy to use the connector in a standalone way. + *

+ * + *

The request may return a value representing the output of the connector + * invocation. Requests not returning a value should be of type {@link Void}.

+ * + * @author Daniel Meyer + * + */ +public interface ConnectorRequest { + + /** + * Provides the named input parameters of the request. + * + * @param the named input parameters of the request. + */ + void setRequestParameters(Map params); + + /** + * Provides a named input parameters to the request. + * @param name the name of the parameter + * @param value the value of the parameter + */ + void setRequestParameter(String name, Object value); + + /** + * Returns the map of request parameters + * @return the map of request parameters + */ + Map getRequestParameters(); + + /** + * Returns the value of a request parameter + * @param the name of the request parameter + * @return the value of the request parameter of 'null' if the parameter is not set. + */ + V getRequestParameter(String name); + + /** + * Execute the request. Once a request is configured with all input + * parameters, it can be executed. + * + * @return the return value of the request. + */ + T execute(); + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorResponse.java b/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorResponse.java new file mode 100644 index 00000000000..a5b0e0eefad --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorResponse.java @@ -0,0 +1,40 @@ +/* Licensed 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.camunda.bpm.connect; + +import java.util.Map; + +/** + * A connector response representing the result of a connector invocation. + * + * @author Daniel Meyer + * + */ +public interface ConnectorResponse { + + /** + * Retrieves the map of output parameters from the response. + * @return the map of output parameters. + */ + Map getResponseParameters(); + + /** + * Returns the value of a response parameter or 'null' if no such + * parameter is set. + * + * @param name the name of the response parameter + * @return the value of the response parameter of null. + */ + V getResponseParameter(String name); + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractCloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractCloseableConnectorResponse.java new file mode 100644 index 00000000000..f8bf7aa3ff9 --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractCloseableConnectorResponse.java @@ -0,0 +1,51 @@ +/* Licensed 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.camunda.bpm.connect.impl; + +import java.io.Closeable; +import java.io.IOException; + +import org.camunda.bpm.connect.CloseableConnectorResponse; + +/** + * This class is a baseclass for implementing closeable connector responses + * based on {@link Closeable}. + * + * @author Daniel Meyer + * + */ +public abstract class AbstractCloseableConnectorResponse extends AbstractConnectorResponse implements CloseableConnectorResponse { + + private final static ConnectCoreLogger LOG = ConnectLogger.CORE_LOGGER; + + /** + * Implements the default close behavior + */ + public void close() { + Closeable closable = getClosable(); + try { + LOG.closingResponse(this); + closable.close(); + LOG.successfullyClosedResponse(this); + } catch (IOException e) { + throw LOG.exceptionWhileClosingResponse(e); + } + } + + /** + * Allows subclasses to provide the closeable resource. + * @return the {@link Closeable} resource + */ + protected abstract Closeable getClosable(); + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnector.java b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnector.java new file mode 100644 index 00000000000..0979f8aa57e --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnector.java @@ -0,0 +1,54 @@ +/* Licensed 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.camunda.bpm.connect.impl; + +import java.util.LinkedList; +import java.util.List; + +import org.camunda.bpm.connect.Connector; +import org.camunda.bpm.connect.ConnectorRequest; +import org.camunda.bpm.connect.ConnectorResponse; +import org.camunda.bpm.connect.interceptor.RequestInterceptor; + +/** + * Abstract implementation of the connector interface. + * + * This implementation provides a linked list of interceptors and related methods for + * handling interceptor invocation. + * + * @author Daniel Meyer + * + */ +public abstract class AbstractConnector, R extends ConnectorResponse> implements Connector { + + /** + * The {@link RequestInterceptor} chain + */ + protected List requestInterceptors = new LinkedList(); + + public List getRequestInterceptors() { + return requestInterceptors; + } + + public void addRequestInterceptor(RequestInterceptor interceptor) { + requestInterceptors.add(interceptor); + } + + /** + * Execute the request on the connector. + * @param request the request + * @return the result. + */ + public abstract R execute(T request); + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorRequest.java b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorRequest.java new file mode 100644 index 00000000000..a02c2f08932 --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorRequest.java @@ -0,0 +1,80 @@ +/* Licensed 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.camunda.bpm.connect.impl; + +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; + +import org.camunda.bpm.connect.ConnectorRequest; +import org.camunda.bpm.connect.ConnectorResponse; + +/** + * @author Daniel Meyer + * + */ +public abstract class AbstractConnectorRequest implements ConnectorRequest { + + protected AbstractConnector,R> connector; + + protected Map requestParameters = new HashMap(); + + @SuppressWarnings({ "rawtypes", "unchecked" }) + public AbstractConnectorRequest(AbstractConnector connector) { + this.connector = connector; + } + + public R execute() { + if(!isRequestValid()) { + throw new RuntimeException(); + } + return connector.execute(this); + } + + /** + * Allows subclasses to provide custom validation logic of the + * request parameters. + * @return true if the request parameters are valid. + */ + protected boolean isRequestValid() { + return true; + } + + public void setRequestParameters(Map params) { + for (Entry param : params.entrySet()) { + setRequestParameter(param.getKey(), param.getValue()); + } + } + + /** + * Sets a request parameter on the request + * @param name the name of the parameter + * @param value the value of the parameter + */ + public void setRequestParameter(String name, Object value) { + requestParameters.put(name, value); + } + + /** + * @return the parameters as handed in to the request. + */ + public Map getRequestParameters() { + return requestParameters; + } + + @SuppressWarnings("unchecked") + public V getRequestParameter(String name) { + return (V) requestParameters.get(name); + } + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorResponse.java b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorResponse.java new file mode 100644 index 00000000000..a12fc439002 --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorResponse.java @@ -0,0 +1,47 @@ +/* Licensed 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.camunda.bpm.connect.impl; + +import java.util.HashMap; +import java.util.Map; + +import org.camunda.bpm.connect.ConnectorResponse; + +/** + * @author Daniel Meyer + * + */ +public abstract class AbstractConnectorResponse implements ConnectorResponse { + + protected Map responseParameters; + + public Map getResponseParameters() { + if(responseParameters == null) { + responseParameters = new HashMap(); + collectResponseParameters(responseParameters); + } + return responseParameters; + } + + @SuppressWarnings("unchecked") + public V getResponseParameter(String name) { + return (V) getResponseParameters().get(name); + } + + /** + * To be implemented by subclasses for collecting the generic response parameters of a response. + * @param responseParameters + */ + protected abstract void collectResponseParameters(Map responseParameters); + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractRequestInvocation.java b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractRequestInvocation.java new file mode 100644 index 00000000000..aacc47df1be --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractRequestInvocation.java @@ -0,0 +1,67 @@ +/* Licensed 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.camunda.bpm.connect.impl; + +import java.util.List; + +import org.camunda.bpm.connect.ConnectorRequest; +import org.camunda.bpm.connect.interceptor.ConnectorInvocation; +import org.camunda.bpm.connect.interceptor.RequestInterceptor; + +/** + * A simple invocation implementation routing a request through a chain of interceptors. + * Implementors must implement the {@link #invokeTarget()} method in order to implement + * the actual request execution / target invocation. + * + * @author Daniel Meyer + * + */ +public abstract class AbstractRequestInvocation implements ConnectorInvocation { + + protected T target; + + protected int currentIndex; + + protected List interceptorChain; + + protected ConnectorRequest request; + + public AbstractRequestInvocation(T target, ConnectorRequest request, List interceptorChain) { + this.target = target; + this.request = request; + this.interceptorChain = interceptorChain; + currentIndex = -1; + } + + public T getTarget() { + return target; + } + + public ConnectorRequest getRequest() { + return request; + } + + public Object proceed() throws Exception { + currentIndex++; + if(interceptorChain.size() > currentIndex) { + return interceptorChain.get(currentIndex).handleInvocation(this); + + } else { + return invokeTarget(); + + } + } + + public abstract Object invokeTarget() throws Exception; + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java b/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java new file mode 100644 index 00000000000..11e2cbe6e95 --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java @@ -0,0 +1,35 @@ +/* Licensed 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.camunda.bpm.connect.impl; + +import java.io.IOException; + +/** + * @author Daniel Meyer + * + */ +public class ConnectCoreLogger extends ConnectLogger { + + public void closingResponse(AbstractCloseableConnectorResponse response) { + logDebug("001", "Closing closeable connector response '{}'", response); + } + + public void successfullyClosedResponse(AbstractCloseableConnectorResponse response) { + logDebug("001", "Successfully closed closeable connector response '{}'", response); + } + + public Exception exceptionWhileClosingResponse(IOException e) { + return + } + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectLogger.java b/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectLogger.java new file mode 100644 index 00000000000..267ba1a120f --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectLogger.java @@ -0,0 +1,27 @@ +/* Licensed 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.camunda.bpm.connect.impl; + +import org.camunda.commons.logging.BaseLogger; + +/** + * @author Daniel Meyer + * + */ +public abstract class ConnectLogger extends BaseLogger { + + public static final String PROJECT_CODE = "CNCT"; + + public static ConnectCoreLogger CORE_LOGGER = createLogger(ConnectCoreLogger.class, PROJECT_CODE, "org.camunda.bpm.connect", "01"); + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/interceptor/ConnectorInvocation.java b/connect/core/src/main/java/org/camunda/bpm/connect/interceptor/ConnectorInvocation.java new file mode 100644 index 00000000000..3c00af2943a --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/interceptor/ConnectorInvocation.java @@ -0,0 +1,55 @@ +/* Licensed 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.camunda.bpm.connect.interceptor; + +import org.camunda.bpm.connect.ConnectorRequest; + +/** + * Represents a request invocation / request execution. + * + * @see RequestInterceptor#handleInvocation(ConnectorInvocation) + * + * @author Daniel Meyer + * + */ +public interface ConnectorInvocation { + + /** + * The underlying raw request. + * @return the raw request as executed by the connector + */ + public Object getTarget(); + + /** + *

The connector request as created through the API. Accessing the request from an + * interceptor may be useful for setting additional properties on the raw request + * (returned by {@link #getTarget()}) that are not supported by the connector.

+ * + *

NOTE: setting parameters on the request (via) {@link ConnectorRequest#setRequestParameter(String, Object)} + * will not have any effects once the request is executed.

+ * + * @return the connector request + */ + public ConnectorRequest getRequest(); + + /** + * Makes the request proceed through the interceptor chain. + * {@link RequestInterceptor} implementations are responsible for + * calling {@link #proceed()} on the invocation. + * + * @return the result of the invocation. + * @throws Exception + */ + public Object proceed() throws Exception; + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/interceptor/RequestInterceptor.java b/connect/core/src/main/java/org/camunda/bpm/connect/interceptor/RequestInterceptor.java new file mode 100644 index 00000000000..53afc06467c --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/interceptor/RequestInterceptor.java @@ -0,0 +1,66 @@ +/* Licensed 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.camunda.bpm.connect.interceptor; + +/** + *

A request interceptor. An interceptor allows intercepting the request created by a connector. + * See {@link #handleInvocation(ConnectorInvocation)} for more details and usage patters.

+ * + *

The interceptor is invoked for every request created by a connector. As such, an + * interceptor implementation must be threadsafe.

+ * + * @author Daniel Meyer + * + */ +public interface RequestInterceptor { + + /** + *

Intercept and handle the actual invocation. An implementation of this method *must* + * call invocation.proceed(); and return the result:

+ * + *
+   *  public Object handleInvocation(ConnectorInvocation invocation) throws Exception {
+   *    // do something before the request
+   *    try {
+   *      Object result = invocation.proceed();
+   *      // do something after a successful request
+   *      return result;
+   *    } catch(Exception e) {
+   *      // do something after a failed request
+   *      throw e;
+   *    }
+   *  }
+   * 
+ * + *

This may be useful for "management" usecases such as logging, failure tracking etc... and + * modifying the Thread context of the request thread (Security Context, Transactions, ...).

+ * + *

It is also possible for an implementation to access and modify the low level "raw" request + * object before it is executed by the connector:

+ *
+   *  public Object handleInvocation(ConnectorInvocation invocation) throws Exception {
+   *    Object rawRequest = invocation.getTarget();
+   *    // cast rawRequest to the low-level connector implementation obejct and work with it.
+   *
+   *    // finally
+   *    return invocation.proceed();
+   *  }
+   * 
+ * + * @param invocation the invocation + * @return the result of the invocation + * @throws Exception + */ + public Object handleInvocation(ConnectorInvocation invocation) throws Exception; + +} diff --git a/connect/pom.xml b/connect/pom.xml new file mode 100644 index 00000000000..19a6f37a531 --- /dev/null +++ b/connect/pom.xml @@ -0,0 +1,213 @@ + + 4.0.0 + + + + org.sonatype.oss + oss-parent + 7 + + + org.camunda.connect + camunda-connect-root + 7.2.0-SNAPSHOT + camunda BPM - connect - parent + pom + + + UTF-8 + 1.6 + + + + core + soap-httpclient + + + + + + org.camunda.commons + camunda-commons-bom + 1.0.0-SNAPSHOT + import + pom + + + org.apache.httpcomponents + httpclient + 4.3.3 + + + junit + junit + 4.11 + + + org.assertj + assertj-core + 1.5.0 + + + org.slf4j + slf4j-api + 1.7.7 + + + ch.qos.logback + logback-core + 1.1.2 + + + ch.qos.logback + logback-classic + 1.1.2 + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + ${version.java} + ${version.java} + + + + org.apache.felix + maven-bundle-plugin + 2.3.7 + true + + + org.camunda.bpm* + + + + + org.apache.maven.plugins + maven-jar-plugin + 2.4 + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + + + + sonatype-oss-release + + + + org.apache.maven.plugins + maven-source-plugin + 2.2.1 + + + attach-sources + package + + jar-no-fork + + + + attach-test-sources + package + + test-jar-no-fork + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.7 + + true + + + + attach-javadocs + + jar + + + + + + org.apache.maven.plugins + maven-gpg-plugin + 1.1 + + + sign-artifacts + verify + + sign + + + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.4.4 + + + + + + + + + The Apache Software License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + + + + + camunda services GmbH + http://www.camunda.com + + + http://www.camunda.org + + + + camunda.org + camunda BPM Community + camunda.org + http://camunda.org + + + + + https://github.com/camunda/camunda-bpm-connect + scm:git:git@github.com:camunda/camunda-bpm-connect.git + scm:git:git@github.com:camunda/camunda-bpm-connect.git + HEAD + + + + Jira + https://app.camunda.com/jira/browse/CAM/ + + diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml new file mode 100644 index 00000000000..f82c7442532 --- /dev/null +++ b/connect/soap-httpclient/pom.xml @@ -0,0 +1,80 @@ + + 4.0.0 + + + org.camunda.connect + camunda-connect-root + 7.2.0-SNAPSHOT + + + camunda-connect-soap-httpclient + camunda BPM - connect - soap httpclient + + + + + org.camunda.commons + camunda-commons-logging + + + + org.camunda.connect + camunda-connect-core + ${project.version} + + + + org.apache.httpcomponents + httpclient + + + + junit + junit + provided + + + + org.assertj + assertj-core + test + + + + ch.qos.logback + logback-core + test + + + + ch.qos.logback + logback-classic + test + + + + org.camunda.spin + camunda-spin-core + 1.0.0-SNAPSHOT + + + + + + + + org.apache.felix + maven-bundle-plugin + + + bundle-manifest + process-classes + + manifest + + + + + + + diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/HttpRequestInvocation.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/HttpRequestInvocation.java new file mode 100644 index 00000000000..a4119e3540f --- /dev/null +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/HttpRequestInvocation.java @@ -0,0 +1,46 @@ +/* Licensed 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.camunda.bpm.connect.soap.httpclient; + +import java.util.List; + +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.HttpPost; +import org.camunda.bpm.connect.ConnectorRequest; +import org.camunda.bpm.connect.impl.AbstractRequestInvocation; +import org.camunda.bpm.connect.interceptor.RequestInterceptor; + +/** + * @author Daniel Meyer + * + */ +public class HttpRequestInvocation extends AbstractRequestInvocation { + + protected HttpClient client; + + /** + * @param target the HttpPostRequest + * @param interceptorChain the intceptor chain + * @param client the HttpClient to execute the request on + */ + public HttpRequestInvocation(HttpPost target, ConnectorRequest request, List interceptorChain, HttpClient client) { + super(target, request, interceptorChain); + this.client = client; + } + + public Object invokeTarget() throws Exception { + // execute the request + return client.execute(target); + } + +} diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java new file mode 100644 index 00000000000..53eab048141 --- /dev/null +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java @@ -0,0 +1,91 @@ +/* Licensed 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.camunda.bpm.connect.soap.httpclient; + +import java.util.Map.Entry; + +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.InputStreamEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.camunda.bpm.connect.impl.AbstractConnector; + +/** + * @author Daniel Meyer + * + */ +public class SoapHttpConnector extends AbstractConnector { + + public static final String ID = "soap-http-connector"; + + protected CloseableHttpClient httpClient; + + public SoapHttpConnector() { + httpClient = createClient(); + } + + public String getId() { + return ID; + } + + // lifecycle and configuration ////////////////////////////// + + protected CloseableHttpClient createClient() { + return HttpClients.createDefault(); + } + + // request handling //////////////////////////////////////// + + public SoapHttpRequest createRequest() { + return new SoapHttpRequest(this); + } + + public SoapHttpResponse execute(SoapHttpRequest soapHttpRequest) { + + // create the http post + HttpPost httpPost = createHttpPost(soapHttpRequest); + + try { + + HttpRequestInvocation invocation = new HttpRequestInvocation(httpPost, soapHttpRequest, requestInterceptors, httpClient); + + // route request through interceptor chain + return new SoapHttpResponse((CloseableHttpResponse) invocation.proceed()); + + } catch (Exception e) { + e.printStackTrace(); + } + + return null; + } + + /** + * Transforms the {@link SoapHttpRequest} into a {@link HttpPost} object which can be executed by the HttpClient. + * + * @param soapHttpRequest the request object to transform + * @return the HttpPost object + */ + protected HttpPost createHttpPost(SoapHttpRequest soapHttpRequest) { + HttpPost httpPost = new HttpPost(soapHttpRequest.getEndpointUrl()); + + for (Entry entry : soapHttpRequest.getHeaders().entrySet()) { + httpPost.setHeader(entry.getKey(), entry.getValue()); + } + + httpPost.setEntity(new InputStreamEntity(soapHttpRequest.getSoapEnvelope())); + + return httpPost; + } + +} diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java new file mode 100644 index 00000000000..84127e5223c --- /dev/null +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java @@ -0,0 +1,81 @@ +/* Licensed 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.camunda.bpm.connect.soap.httpclient; + +import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; + +import org.camunda.bpm.connect.impl.AbstractConnectorRequest; + +/** + * Defines a soap http request. + * + * @author Daniel Meyer + * + */ +public class SoapHttpRequest extends AbstractConnectorRequest { + + public static final String PARAM_NAME_ENDPOINT_URL = "endpointUrl"; + public static final String PARAM_NAME_SOAP_ENVELOPE = "soapEnvelope"; + public static final String PARAM_NAME_HEADERS = "headers"; + + public SoapHttpRequest(SoapHttpConnector connector) { + super(connector); + } + + // fluent configuration /////////////////////// + + public SoapHttpRequest endpointUrl(String endpointUrl) { + setRequestParameter(PARAM_NAME_ENDPOINT_URL, endpointUrl); + return this; + } + + public SoapHttpRequest soapEnvelope(InputStream messageStream) { + setRequestParameter(PARAM_NAME_SOAP_ENVELOPE, messageStream); + return this; + } + + public SoapHttpRequest header(String name, String value) { + Map headers = getRequestParameter(PARAM_NAME_HEADERS); + // ensure headers are initialized + if(headers == null) { + headers = new HashMap(); + setRequestParameter(PARAM_NAME_HEADERS, headers); + } + headers.put(name, value); + return this; + } + + public SoapHttpRequest soapAction(String value) { + return header("SOAPAction", value); + } + + public SoapHttpRequest contentType(String value) { + return header("content-type", value); + } + + // getters /////////////////////////////////// + + public Map getHeaders() { + return getRequestParameter(PARAM_NAME_HEADERS); + } + + public String getEndpointUrl() { + return getRequestParameter(PARAM_NAME_ENDPOINT_URL); + } + + public InputStream getSoapEnvelope() { + return getRequestParameter(PARAM_NAME_SOAP_ENVELOPE); + } +} diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java new file mode 100644 index 00000000000..e4e8635c4a7 --- /dev/null +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java @@ -0,0 +1,64 @@ +/* Licensed 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.camunda.bpm.connect.soap.httpclient; + +import java.io.Closeable; +import java.io.IOException; +import java.io.InputStream; +import java.util.Map; + +import org.apache.http.client.methods.CloseableHttpResponse; +import org.camunda.bpm.connect.impl.AbstractCloseableConnectorResponse; + +/** + * @author Daniel Meyer + * + */ +public class SoapHttpResponse extends AbstractCloseableConnectorResponse { + + public static final String PARAM_NAME_STATUS_CODE = "statusCode"; + + protected CloseableHttpResponse httpResponse; + + public SoapHttpResponse(CloseableHttpResponse httpResponse) { + this.httpResponse = httpResponse; + } + + public boolean isSuccessful() { + // TODO: do other status codes also indicate success in SOAP? + return getStatusCode() == 200; + } + + public int getStatusCode() { + return httpResponse.getStatusLine().getStatusCode(); + } + + public InputStream getInputStream() { + try { + return httpResponse.getEntity().getContent(); + } catch (IllegalStateException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + protected void collectResponseParameters(Map responseParameters) { + responseParameters.put(PARAM_NAME_STATUS_CODE, getStatusCode()); + } + + protected Closeable getClosable() { + return httpResponse; + } + +} diff --git a/connect/soap-httpclient/src/main/resources/log4j.properties b/connect/soap-httpclient/src/main/resources/log4j.properties new file mode 100644 index 00000000000..c39fc93db44 --- /dev/null +++ b/connect/soap-httpclient/src/main/resources/log4j.properties @@ -0,0 +1,7 @@ +log4j.rootLogger=INFO, stdout + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n + +log4j.logger.org.apache.http=DEBUG diff --git a/connect/soap-httpclient/src/main/resources/loginRequest.xml b/connect/soap-httpclient/src/main/resources/loginRequest.xml new file mode 100644 index 00000000000..1abe54d0aca --- /dev/null +++ b/connect/soap-httpclient/src/main/resources/loginRequest.xml @@ -0,0 +1,13 @@ + + + + + + + + + daniel.meyer@camunda.com + cam12345678!Ap1IY7Efm5aM8kVnk29N3zqp + + + \ No newline at end of file diff --git a/connect/soap-httpclient/src/main/resources/soap.httpclient.json b/connect/soap-httpclient/src/main/resources/soap.httpclient.json new file mode 100644 index 00000000000..85ab31c6931 --- /dev/null +++ b/connect/soap-httpclient/src/main/resources/soap.httpclient.json @@ -0,0 +1,77 @@ +{ + + "id": "soap-http-client", + "name": "Soap Http Client", + + "configuration": { + + "request": [ + { "key": "endpointUrl", "name": "Endpoint Url", "type": "Expression", "required": true }, + + { "key": "message", "name": "Message", "type": "Expression", "typeParameters": [ + { "key": "expressionLanguage", "name": "Expression Language", "type": "String", "required": "true", "default": "Juel" } + ] + }, + + { "key": "headers", "name": "Http Headers", "type": "Map", "minEntries": 0, "defaultEntries": [ + {"name": "SOAPAction", "value": ""} + ] + }, + + ], + + "response": [ + { "key": "variableName", "name": "Variable Name", "type": "String", "required": false } + { "key": "variableScope", "name": "Variable Scope", "type": "VariableScope", "required": false } + ] + + } +} + + + + + + + ${ registry.resolve("myService") } + + + + + + + + + + + + + Foo + + + + Bar + + + + + + + + soap-http-client + + + + + + \ No newline at end of file diff --git a/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java b/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java new file mode 100644 index 00000000000..0e1331fcbc0 --- /dev/null +++ b/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java @@ -0,0 +1,27 @@ +/* Licensed 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.camunda.bpm.connect.soap.httpclient; + +import org.junit.Test; + +/** + * @author Daniel Meyer + * + */ +public class SoapHttpClientTest { + + @Test + public void shouldInvokeClient() { + + } +} From 09417a406d7a3e1ffe7cdbcb1535725b71cb86ea Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Wed, 4 Jun 2014 16:37:06 +0200 Subject: [PATCH 003/200] chore(core): add exceptions --- .../bpm/connect/ConnectorCloseException.java | 30 +++++++++++++++++++ .../bpm/connect/ConnectorException.java | 8 +++++ .../bpm/connect/impl/ConnectCoreLogger.java | 8 ++--- 3 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/ConnectorCloseException.java diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorCloseException.java b/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorCloseException.java new file mode 100644 index 00000000000..2639b4a2e5b --- /dev/null +++ b/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorCloseException.java @@ -0,0 +1,30 @@ +/* Licensed 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.camunda.bpm.connect; + +/** + * Indicates an error during the closing of a connector. + * + * @author Sebastian Menski + */ +public class ConnectorCloseException extends ConnectorException { + + public ConnectorCloseException(String message) { + super(message); + } + + public ConnectorCloseException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java b/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java index 917f2b35921..bf3c33c6ada 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java +++ b/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java @@ -20,4 +20,12 @@ */ public class ConnectorException extends RuntimeException { + public ConnectorException(String message) { + super(message); + } + + public ConnectorException(String message, Throwable cause) { + super(message, cause); + } + } diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java b/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java index 11e2cbe6e95..d77bb1b99a6 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java +++ b/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java @@ -12,7 +12,7 @@ */ package org.camunda.bpm.connect.impl; -import java.io.IOException; +import org.camunda.bpm.connect.ConnectorCloseException; /** * @author Daniel Meyer @@ -25,11 +25,11 @@ public void closingResponse(AbstractCloseableConnectorResponse response) { } public void successfullyClosedResponse(AbstractCloseableConnectorResponse response) { - logDebug("001", "Successfully closed closeable connector response '{}'", response); + logDebug("002", "Successfully closed closeable connector response '{}'", response); } - public Exception exceptionWhileClosingResponse(IOException e) { - return + public ConnectorCloseException exceptionWhileClosingResponse(Exception cause) { + return new ConnectorCloseException(exceptionMessage("003", "Unable to close response"), cause); } } From 4fc4076f4f0747ecd5aca5d73518d4a25f5341bf Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Thu, 5 Jun 2014 11:04:02 +0200 Subject: [PATCH 004/200] chore(soap): add simple tests and use camunda parent pom related to #CAM-2287, #CAM-2185, CAM-2303 --- connect/pom.xml | 139 +++--------------- connect/soap-httpclient/pom.xml | 5 + .../soap/httpclient/SoapHttpConnector.java | 7 +- .../httpclient/SoapHttpConnectorLogger.java | 25 ++++ .../soap/httpclient/SoapHttpLogger.java | 26 ++++ .../soap/httpclient/SoapHttpRequest.java | 6 +- .../soap/httpclient/SoapHttpClientTest.java | 64 +++++++- .../src/test/resources/logback-test.xml | 11 ++ 8 files changed, 159 insertions(+), 124 deletions(-) create mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java create mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpLogger.java create mode 100644 connect/soap-httpclient/src/test/resources/logback-test.xml diff --git a/connect/pom.xml b/connect/pom.xml index 19a6f37a531..9eb6cd6eac8 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -1,24 +1,21 @@ 4.0.0 - + - org.sonatype.oss - oss-parent - 7 + org.camunda + camunda-release-parent + 1 + + org.camunda.connect camunda-connect-root - 7.2.0-SNAPSHOT + 1.0.0-SNAPSHOT camunda BPM - connect - parent pom - - UTF-8 - 1.6 - - core soap-httpclient @@ -26,6 +23,7 @@ + org.camunda.commons camunda-commons-bom @@ -33,51 +31,43 @@ import pom + org.apache.httpcomponents httpclient 4.3.3 + junit junit 4.11 + org.assertj assertj-core 1.5.0 - - org.slf4j - slf4j-api - 1.7.7 - + ch.qos.logback logback-core 1.1.2 + ch.qos.logback logback-classic 1.1.2 + - - org.apache.maven.plugins - maven-compiler-plugin - 3.1 - - ${version.java} - ${version.java} - - org.apache.felix maven-bundle-plugin @@ -94,6 +84,14 @@ maven-jar-plugin 2.4 + + org.apache.maven.plugins + maven-surefire-plugin + 2.17 + + true + + @@ -110,95 +108,6 @@ - - - sonatype-oss-release - - - - org.apache.maven.plugins - maven-source-plugin - 2.2.1 - - - attach-sources - package - - jar-no-fork - - - - attach-test-sources - package - - test-jar-no-fork - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.7 - - true - - - - attach-javadocs - - jar - - - - - - org.apache.maven.plugins - maven-gpg-plugin - 1.1 - - - sign-artifacts - verify - - sign - - - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.4.4 - - - - - - - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - - - - - camunda services GmbH - http://www.camunda.com - - - http://www.camunda.org - - - - camunda.org - camunda BPM Community - camunda.org - http://camunda.org - - - https://github.com/camunda/camunda-bpm-connect scm:git:git@github.com:camunda/camunda-bpm-connect.git @@ -206,8 +115,4 @@ HEAD - - Jira - https://app.camunda.com/jira/browse/CAM/ - diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml index f82c7442532..a3c6e4cebf4 100644 --- a/connect/soap-httpclient/pom.xml +++ b/connect/soap-httpclient/pom.xml @@ -17,6 +17,11 @@ camunda-commons-logging + + org.camunda.commons + camunda-commons-utils + + org.camunda.connect camunda-connect-core diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java index 53eab048141..8a5826b78cc 100644 --- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java @@ -12,8 +12,6 @@ */ package org.camunda.bpm.connect.soap.httpclient; -import java.util.Map.Entry; - import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.InputStreamEntity; @@ -21,12 +19,16 @@ import org.apache.http.impl.client.HttpClients; import org.camunda.bpm.connect.impl.AbstractConnector; +import java.util.Map.Entry; + /** * @author Daniel Meyer * */ public class SoapHttpConnector extends AbstractConnector { + private static final SoapHttpConnectorLogger LOG = SoapHttpLogger.SOAP_CONNECTOR_LOGGER; + public static final String ID = "soap-http-connector"; protected CloseableHttpClient httpClient; @@ -81,6 +83,7 @@ protected HttpPost createHttpPost(SoapHttpRequest soapHttpRequest) { for (Entry entry : soapHttpRequest.getHeaders().entrySet()) { httpPost.setHeader(entry.getKey(), entry.getValue()); + LOG.setHeader(entry.getKey(), entry.getValue()); } httpPost.setEntity(new InputStreamEntity(soapHttpRequest.getSoapEnvelope())); diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java new file mode 100644 index 00000000000..db02b0388af --- /dev/null +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java @@ -0,0 +1,25 @@ +/* Licensed 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.camunda.bpm.connect.soap.httpclient; + +/** + * @author Sebastian Menski + */ +public class SoapHttpConnectorLogger extends SoapHttpLogger { + + public void setHeader(String field, String value) { + logDebug("001", "Set header field '{}' to '{}'", field, value); + } + +} diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpLogger.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpLogger.java new file mode 100644 index 00000000000..d540db9c273 --- /dev/null +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpLogger.java @@ -0,0 +1,26 @@ +/* Licensed 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.camunda.bpm.connect.soap.httpclient; + +import org.camunda.commons.logging.BaseLogger; + +/** + * @author Sebastian Menski + */ +public class SoapHttpLogger extends BaseLogger { + + public static final String PROJECT_CODE = "SOAPC"; + + public static SoapHttpConnectorLogger SOAP_CONNECTOR_LOGGER = createLogger(SoapHttpConnectorLogger.class, PROJECT_CODE, "org.camunda.bpm.connect.soap.httpclient.connector", "01"); +} diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java index 84127e5223c..6cdaf0a94fc 100644 --- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java @@ -12,12 +12,12 @@ */ package org.camunda.bpm.connect.soap.httpclient; +import org.camunda.bpm.connect.impl.AbstractConnectorRequest; + import java.io.InputStream; import java.util.HashMap; import java.util.Map; -import org.camunda.bpm.connect.impl.AbstractConnectorRequest; - /** * Defines a soap http request. * @@ -62,7 +62,7 @@ public SoapHttpRequest soapAction(String value) { } public SoapHttpRequest contentType(String value) { - return header("content-type", value); + return header("Content-Type", value); } // getters /////////////////////////////////// diff --git a/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java b/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java index 0e1331fcbc0..49334420f4e 100644 --- a/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java +++ b/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java @@ -12,16 +12,76 @@ */ package org.camunda.bpm.connect.soap.httpclient; +import org.apache.http.client.methods.HttpPost; +import org.camunda.commons.utils.IoUtil; +import org.junit.Before; import org.junit.Test; +import java.io.IOException; +import java.util.HashMap; + +import static org.assertj.core.api.Assertions.assertThat; + /** * @author Daniel Meyer * */ -public class SoapHttpClientTest { +public class SoapHttpClientTest { + + private SoapHttpConnector connector; + private SoapHttpRequest request; + + @Before + public void createRequest() { + connector = new SoapHttpConnector(); + request = connector.createRequest() + .contentType("application/xml") + .endpointUrl("http://camunda.org/soap") + .soapAction("action") + .soapEnvelope(IoUtil.stringAsInputStream("test")); + } @Test - public void shouldInvokeClient() { + public void shouldComposeHttpPost() throws IOException { + HttpPost httpPost = connector.createHttpPost(request); + assertThat(httpPost.getMethod()).isEqualTo("POST"); + assertThat(httpPost.getURI().toASCIIString()).isEqualTo("http://camunda.org/soap"); + assertThat(httpPost.getAllHeaders()).hasSize(2); + assertThat(httpPost.getFirstHeader("Content-Type").getValue()).isEqualTo("application/xml"); + assertThat(httpPost.getFirstHeader("SOAPAction").getValue()).isEqualTo("action"); + String content = IoUtil.inputStreamAsString(httpPost.getEntity().getContent()); + assertThat(content).isEqualTo("test"); } + + @Test(expected = IllegalArgumentException.class) + public void shouldFailIfNoEnvelopeIsSet() { + request.soapEnvelope(null); + connector.createHttpPost(request); + } + + @Test + public void shouldSetAdditionalHeaders() { + request.header("Accept", "application/xml"); + + HttpPost httpPost = connector.createHttpPost(request); + + assertThat(httpPost.getFirstHeader("Accept").getValue()).isEqualTo("application/xml"); + } + + @Test + public void shouldSetAdditionalRequestParameters() { + request.setRequestParameter("hello", "world"); + + HashMap params = new HashMap(); + params.put("foo", "bar"); + params.put("test", "test"); + request.setRequestParameters(params); + + assertThat(request.getRequestParameter("hello")).isEqualTo("world"); + assertThat(request.getRequestParameter("foo")).isEqualTo("bar"); + assertThat(request.getRequestParameter("test")).isEqualTo("test"); + + } + } diff --git a/connect/soap-httpclient/src/test/resources/logback-test.xml b/connect/soap-httpclient/src/test/resources/logback-test.xml new file mode 100644 index 00000000000..650a86c01c0 --- /dev/null +++ b/connect/soap-httpclient/src/test/resources/logback-test.xml @@ -0,0 +1,11 @@ + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + From 5f67b7c2f44eb9f487d6df20b825f903443a1730 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Thu, 5 Jun 2014 13:34:13 +0200 Subject: [PATCH 005/200] chore(pom): adjust version to 1.0.0-SNAPSHOT --- connect/core/pom.xml | 2 +- connect/soap-httpclient/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 9fd407a9a62..cb8dd76cf39 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 7.2.0-SNAPSHOT + 1.0.0-SNAPSHOT camunda-connect-core diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml index a3c6e4cebf4..4ac6ddbca92 100644 --- a/connect/soap-httpclient/pom.xml +++ b/connect/soap-httpclient/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 7.2.0-SNAPSHOT + 1.0.0-SNAPSHOT camunda-connect-soap-httpclient From 9317b01975273d51755c7bb8368551bd904bdd75 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Thu, 5 Jun 2014 14:43:33 +0200 Subject: [PATCH 006/200] chore(pom): update commons and spin version related to #CAM-2185 --- connect/pom.xml | 8 +++++++- connect/soap-httpclient/pom.xml | 1 - .../src/main/resources/loginRequest.xml | 13 ------------- 3 files changed, 7 insertions(+), 15 deletions(-) delete mode 100644 connect/soap-httpclient/src/main/resources/loginRequest.xml diff --git a/connect/pom.xml b/connect/pom.xml index 9eb6cd6eac8..3d3be5ba929 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -27,11 +27,17 @@ org.camunda.commons camunda-commons-bom - 1.0.0-SNAPSHOT + 1.0.0 import pom + + org.camunda.spin + camunda-spin-core + 1.0.0 + + org.apache.httpcomponents httpclient diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml index 4ac6ddbca92..e09a6831af8 100644 --- a/connect/soap-httpclient/pom.xml +++ b/connect/soap-httpclient/pom.xml @@ -60,7 +60,6 @@ org.camunda.spin camunda-spin-core - 1.0.0-SNAPSHOT diff --git a/connect/soap-httpclient/src/main/resources/loginRequest.xml b/connect/soap-httpclient/src/main/resources/loginRequest.xml deleted file mode 100644 index 1abe54d0aca..00000000000 --- a/connect/soap-httpclient/src/main/resources/loginRequest.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - daniel.meyer@camunda.com - cam12345678!Ap1IY7Efm5aM8kVnk29N3zqp - - - \ No newline at end of file From fc93b655640831236581c66f0fca7931b58467ee Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Fri, 6 Jun 2014 10:46:15 +0200 Subject: [PATCH 007/200] chore(release): add dist --- connect/dist/pom.xml | 52 +++++++++++++++++++ .../src/main/resources/META-INF/MANIFEST.MF | 0 connect/pom.xml | 9 +--- connect/soap-httpclient/pom.xml | 5 -- 4 files changed, 54 insertions(+), 12 deletions(-) create mode 100644 connect/dist/pom.xml create mode 100644 connect/dist/src/main/resources/META-INF/MANIFEST.MF diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml new file mode 100644 index 00000000000..15b7a4c041d --- /dev/null +++ b/connect/dist/pom.xml @@ -0,0 +1,52 @@ + + 4.0.0 + + + org.camunda.connect + camunda-connect-root + 1.0.0-SNAPSHOT + + + camunda-connect-all + camunda BPM - connect - all in one + + + + + org.camunda.connect + camunda-connect-soap-httpclient + ${project.version} + + + + + + + + org.apache.maven.plugins + maven-shade-plugin + 2.3 + + + package + + shade + + + true + + + org + connectjar.org + + org.camunda.bpm.connect.** + + + + + + + + + + diff --git a/connect/dist/src/main/resources/META-INF/MANIFEST.MF b/connect/dist/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..e69de29bb2d diff --git a/connect/pom.xml b/connect/pom.xml index 3d3be5ba929..bedad59b96b 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -5,7 +5,7 @@ org.camunda camunda-release-parent - 1 + 2 @@ -19,6 +19,7 @@ core soap-httpclient + dist @@ -32,12 +33,6 @@ pom - - org.camunda.spin - camunda-spin-core - 1.0.0 - - org.apache.httpcomponents httpclient diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml index e09a6831af8..3c788c176ac 100644 --- a/connect/soap-httpclient/pom.xml +++ b/connect/soap-httpclient/pom.xml @@ -57,11 +57,6 @@ test - - org.camunda.spin - camunda-spin-core - - From 49b03900bb7597a1af9cb97da9710f15ff1cb94f Mon Sep 17 00:00:00 2001 From: Christian Lipphardt Date: Fri, 6 Jun 2014 14:46:10 +0200 Subject: [PATCH 008/200] chore(release): upgrade version of camunda-relaese-parent related to #CAM-2307 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index bedad59b96b..9ff98977bdc 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -5,7 +5,7 @@ org.camunda camunda-release-parent - 2 + 2.1 From 9cd865bd02a356a1b7e9a905b4685b1b3271d8db Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Fri, 6 Jun 2014 14:57:18 +0200 Subject: [PATCH 009/200] chore(build): exclude commons and slf4j from all-jar --- connect/dist/pom.xml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index 15b7a4c041d..60d525f94af 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -34,13 +34,18 @@ true + true + true + + + org.camunda.commons:* + org.slf4j:* + + - org - connectjar.org - - org.camunda.bpm.connect.** - + org.apache + connectjar.org.apache From 32a41a92c4b40c5d3a45a77b545b9987847a39a1 Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Tue, 10 Jun 2014 09:32:45 +0200 Subject: [PATCH 010/200] cleanup(): remove obolete file --- .../src/main/resources/soap.httpclient.json | 77 ------------------- 1 file changed, 77 deletions(-) delete mode 100644 connect/soap-httpclient/src/main/resources/soap.httpclient.json diff --git a/connect/soap-httpclient/src/main/resources/soap.httpclient.json b/connect/soap-httpclient/src/main/resources/soap.httpclient.json deleted file mode 100644 index 85ab31c6931..00000000000 --- a/connect/soap-httpclient/src/main/resources/soap.httpclient.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - - "id": "soap-http-client", - "name": "Soap Http Client", - - "configuration": { - - "request": [ - { "key": "endpointUrl", "name": "Endpoint Url", "type": "Expression", "required": true }, - - { "key": "message", "name": "Message", "type": "Expression", "typeParameters": [ - { "key": "expressionLanguage", "name": "Expression Language", "type": "String", "required": "true", "default": "Juel" } - ] - }, - - { "key": "headers", "name": "Http Headers", "type": "Map", "minEntries": 0, "defaultEntries": [ - {"name": "SOAPAction", "value": ""} - ] - }, - - ], - - "response": [ - { "key": "variableName", "name": "Variable Name", "type": "String", "required": false } - { "key": "variableScope", "name": "Variable Scope", "type": "VariableScope", "required": false } - ] - - } -} - - - - - - - ${ registry.resolve("myService") } - - - - - - - - - - - - - Foo - - - - Bar - - - - - - - - soap-http-client - - - - - - \ No newline at end of file From aa0020baaa1d482c477edd751cc551e62cb8341b Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Tue, 10 Jun 2014 10:58:57 +0200 Subject: [PATCH 011/200] chore(soap): use string-based parameters (instead of stream based) related to #CAM-2185 --- .../soap/httpclient/SoapHttpConnector.java | 27 +++++++++++-- .../httpclient/SoapHttpConnectorLogger.java | 10 +++++ .../soap/httpclient/SoapHttpRequest.java | 7 ++-- .../soap/httpclient/SoapHttpResponse.java | 39 +++++++++---------- .../soap/httpclient/SoapHttpClientTest.java | 16 +++++++- 5 files changed, 68 insertions(+), 31 deletions(-) diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java index 8a5826b78cc..3a7b7de0203 100644 --- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java @@ -19,6 +19,9 @@ import org.apache.http.impl.client.HttpClients; import org.camunda.bpm.connect.impl.AbstractConnector; +import java.io.ByteArrayInputStream; +import java.nio.charset.Charset; +import java.util.Map; import java.util.Map.Entry; /** @@ -79,14 +82,30 @@ public SoapHttpResponse execute(SoapHttpRequest soapHttpRequest) { * @return the HttpPost object */ protected HttpPost createHttpPost(SoapHttpRequest soapHttpRequest) { + + // handle endpoint + String endpointUrl = soapHttpRequest.getEndpointUrl(); + if(endpointUrl == null || endpointUrl.isEmpty()) { + throw LOG.invalidRequestParameter(SoapHttpRequest.PARAM_NAME_ENDPOINT_URL, "param must be set"); + } HttpPost httpPost = new HttpPost(soapHttpRequest.getEndpointUrl()); - for (Entry entry : soapHttpRequest.getHeaders().entrySet()) { - httpPost.setHeader(entry.getKey(), entry.getValue()); - LOG.setHeader(entry.getKey(), entry.getValue()); + // handle headers + Map headers = soapHttpRequest.getHeaders(); + if(headers != null) { + for (Entry entry : headers.entrySet()) { + httpPost.setHeader(entry.getKey(), entry.getValue()); + LOG.setHeader(entry.getKey(), entry.getValue()); + } } - httpPost.setEntity(new InputStreamEntity(soapHttpRequest.getSoapEnvelope())); + // handle payload + String soapEnvelope = soapHttpRequest.getSoapEnvelope(); + if(soapEnvelope == null || soapEnvelope.isEmpty()) { + throw LOG.invalidRequestParameter(SoapHttpRequest.PARAM_NAME_SOAP_ENVELOPE, "param must be set"); + } + ByteArrayInputStream envelopeStream = new ByteArrayInputStream(soapEnvelope.getBytes(Charset.forName("utf-8"))); + httpPost.setEntity(new InputStreamEntity(envelopeStream)); return httpPost; } diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java index db02b0388af..bb3d673f6b5 100644 --- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java @@ -13,6 +13,8 @@ package org.camunda.bpm.connect.soap.httpclient; +import org.camunda.bpm.connect.ConnectorException; + /** * @author Sebastian Menski */ @@ -22,4 +24,12 @@ public void setHeader(String field, String value) { logDebug("001", "Set header field '{}' to '{}'", field, value); } + public ConnectorException unableToReadResponse(Exception cause) { + return new ConnectorException(exceptionMessage("001", "Unable to read connectorResponse: {}", cause.getMessage()), cause); + } + + public ConnectorException invalidRequestParameter(String paramName, String value) { + return new ConnectorException(exceptionMessage("002", "Invalid value for request parameter '{}': '{}'", paramName, value)); + } + } diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java index 6cdaf0a94fc..a08d1547d52 100644 --- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java @@ -14,7 +14,6 @@ import org.camunda.bpm.connect.impl.AbstractConnectorRequest; -import java.io.InputStream; import java.util.HashMap; import java.util.Map; @@ -41,8 +40,8 @@ public SoapHttpRequest endpointUrl(String endpointUrl) { return this; } - public SoapHttpRequest soapEnvelope(InputStream messageStream) { - setRequestParameter(PARAM_NAME_SOAP_ENVELOPE, messageStream); + public SoapHttpRequest soapEnvelope(String envelope) { + setRequestParameter(PARAM_NAME_SOAP_ENVELOPE, envelope); return this; } @@ -75,7 +74,7 @@ public String getEndpointUrl() { return getRequestParameter(PARAM_NAME_ENDPOINT_URL); } - public InputStream getSoapEnvelope() { + public String getSoapEnvelope() { return getRequestParameter(PARAM_NAME_SOAP_ENVELOPE); } } diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java index e4e8635c4a7..b2df3f68b53 100644 --- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java @@ -12,21 +12,23 @@ */ package org.camunda.bpm.connect.soap.httpclient; -import java.io.Closeable; import java.io.IOException; -import java.io.InputStream; import java.util.Map; import org.apache.http.client.methods.CloseableHttpResponse; -import org.camunda.bpm.connect.impl.AbstractCloseableConnectorResponse; +import org.camunda.bpm.connect.impl.AbstractConnectorResponse; +import org.camunda.commons.utils.IoUtil; /** * @author Daniel Meyer * */ -public class SoapHttpResponse extends AbstractCloseableConnectorResponse { +public class SoapHttpResponse extends AbstractConnectorResponse { + + private final SoapHttpConnectorLogger LOG = SoapHttpLogger.SOAP_CONNECTOR_LOGGER; public static final String PARAM_NAME_STATUS_CODE = "statusCode"; + public static final String PARAM_NAME_RESPONSE = "response"; protected CloseableHttpResponse httpResponse; @@ -34,31 +36,26 @@ public SoapHttpResponse(CloseableHttpResponse httpResponse) { this.httpResponse = httpResponse; } - public boolean isSuccessful() { - // TODO: do other status codes also indicate success in SOAP? - return getStatusCode() == 200; + public int getStatusCode() { + return getResponseParameter(PARAM_NAME_STATUS_CODE); } - public int getStatusCode() { - return httpResponse.getStatusLine().getStatusCode(); + public String getResponse() { + return getResponseParameter(PARAM_NAME_RESPONSE); } - public InputStream getInputStream() { + protected void collectResponseParameters(Map responseParameters) { try { - return httpResponse.getEntity().getContent(); + responseParameters.put(PARAM_NAME_STATUS_CODE, httpResponse.getStatusLine().getStatusCode()); + responseParameters.put(PARAM_NAME_RESPONSE, IoUtil.inputStreamAsString(httpResponse.getEntity().getContent())); + } catch (IllegalStateException e) { - throw new RuntimeException(e); + throw LOG.unableToReadResponse(e); } catch (IOException e) { - throw new RuntimeException(e); + throw LOG.unableToReadResponse(e); + } finally { + IoUtil.closeSilently(httpResponse); } } - protected void collectResponseParameters(Map responseParameters) { - responseParameters.put(PARAM_NAME_STATUS_CODE, getStatusCode()); - } - - protected Closeable getClosable() { - return httpResponse; - } - } diff --git a/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java b/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java index 49334420f4e..7ad8a6492cf 100644 --- a/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java +++ b/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java @@ -13,6 +13,7 @@ package org.camunda.bpm.connect.soap.httpclient; import org.apache.http.client.methods.HttpPost; +import org.camunda.bpm.connect.ConnectorException; import org.camunda.commons.utils.IoUtil; import org.junit.Before; import org.junit.Test; @@ -38,7 +39,7 @@ public void createRequest() { .contentType("application/xml") .endpointUrl("http://camunda.org/soap") .soapAction("action") - .soapEnvelope(IoUtil.stringAsInputStream("test")); + .soapEnvelope("test"); } @Test @@ -54,12 +55,23 @@ public void shouldComposeHttpPost() throws IOException { assertThat(content).isEqualTo("test"); } - @Test(expected = IllegalArgumentException.class) + @Test(expected = ConnectorException.class) public void shouldFailIfNoEnvelopeIsSet() { request.soapEnvelope(null); connector.createHttpPost(request); } + @Test(expected = ConnectorException.class) + public void shouldFailIfNoEndpointUrlIsSet() { + request.endpointUrl(null); + connector.createHttpPost(request); + } + + public void shouldNotFailIfNoHeadersAreSet() { + request.setRequestParameter(SoapHttpRequest.PARAM_NAME_HEADERS, null); + connector.createHttpPost(request); + } + @Test public void shouldSetAdditionalHeaders() { request.header("Accept", "application/xml"); From 4474004d8ddf4b16e45f3e3a43a8061e16df9b54 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Tue, 10 Jun 2014 11:47:59 +0200 Subject: [PATCH 012/200] fix(soap): return Integer object not int --- .../camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java index b2df3f68b53..db53e3a073f 100644 --- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java @@ -36,7 +36,7 @@ public SoapHttpResponse(CloseableHttpResponse httpResponse) { this.httpResponse = httpResponse; } - public int getStatusCode() { + public Integer getStatusCode() { return getResponseParameter(PARAM_NAME_STATUS_CODE); } From 0ac5a605d94847af1333bbf534a81e0d312eda24 Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Tue, 10 Jun 2014 13:20:50 +0200 Subject: [PATCH 013/200] chore(dist): add javadocs --- connect/dist/pom.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index 60d525f94af..b2ebe0f58df 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -52,6 +52,16 @@ + + + org.apache.maven.plugins + maven-javadoc-plugin + + true + true + org.camunda.connect:* + + From e132f148e507697f29dd03a15a8fb071931d61a8 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Tue, 10 Jun 2014 14:18:46 +0200 Subject: [PATCH 014/200] chore(pom): update camunda release parent version --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 9ff98977bdc..ce8a9f7af05 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -5,7 +5,7 @@ org.camunda camunda-release-parent - 2.1 + 2.2 From 2d1b66a0112cc111bd7bf6f027367fd1d1c06160 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Wed, 11 Jun 2014 09:22:50 +0200 Subject: [PATCH 015/200] fix(pom): fix scm url --- connect/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/connect/pom.xml b/connect/pom.xml index ce8a9f7af05..cb6a4395c53 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -110,9 +110,9 @@ - https://github.com/camunda/camunda-bpm-connect - scm:git:git@github.com:camunda/camunda-bpm-connect.git - scm:git:git@github.com:camunda/camunda-bpm-connect.git + https://github.com/camunda/camunda-connect + scm:git:git@github.com:camunda/camunda-connect.git + scm:git:git@github.com:camunda/camunda-connect.git HEAD From 7fddedfabb38178cc599757c7c771b86e9841db2 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Wed, 11 Jun 2014 08:56:22 +0200 Subject: [PATCH 016/200] [maven-release-plugin] prepare release 1.0.0-alpha1 --- connect/core/pom.xml | 2 +- connect/dist/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-httpclient/pom.xml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/connect/core/pom.xml b/connect/core/pom.xml index cb8dd76cf39..7904383d946 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha1 camunda-connect-core diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index b2ebe0f58df..86a8276efd8 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha1 camunda-connect-all diff --git a/connect/pom.xml b/connect/pom.xml index cb6a4395c53..f45874a59f1 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -12,7 +12,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha1 camunda BPM - connect - parent pom @@ -113,7 +113,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.0-alpha1 diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml index 3c788c176ac..ea176606b84 100644 --- a/connect/soap-httpclient/pom.xml +++ b/connect/soap-httpclient/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha1 camunda-connect-soap-httpclient From fc645c9c480319d54ab71baf8aa8312ebe113f17 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Wed, 11 Jun 2014 08:56:26 +0200 Subject: [PATCH 017/200] [maven-release-plugin] prepare for next development iteration --- connect/core/pom.xml | 2 +- connect/dist/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-httpclient/pom.xml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 7904383d946..cb8dd76cf39 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha1 + 1.0.0-SNAPSHOT camunda-connect-core diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index 86a8276efd8..b2ebe0f58df 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha1 + 1.0.0-SNAPSHOT camunda-connect-all diff --git a/connect/pom.xml b/connect/pom.xml index f45874a59f1..cb6a4395c53 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -12,7 +12,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha1 + 1.0.0-SNAPSHOT camunda BPM - connect - parent pom @@ -113,7 +113,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.0-alpha1 + HEAD diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml index ea176606b84..3c788c176ac 100644 --- a/connect/soap-httpclient/pom.xml +++ b/connect/soap-httpclient/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha1 + 1.0.0-SNAPSHOT camunda-connect-soap-httpclient From 792dd0ae3dbe328ec9019bb1508a6659686ebdfc Mon Sep 17 00:00:00 2001 From: Stefan Hentschel Date: Tue, 5 Aug 2014 15:34:52 +0200 Subject: [PATCH 018/200] feat(rest): implement rest connector -- implements rest connector, tests and documentation Related to: #CAM-2456 --- connect/README.md | 1 + connect/docs/index.md | 6 + connect/docs/user-guide/index.md | 4 + connect/docs/user-guide/rest/index.md | 109 +++++++ connect/pom.xml | 1 + connect/rest-httpclient/pom.xml | 88 ++++++ .../httpclient/HttpRequestInvocation.java | 46 +++ .../rest/httpclient/RestHttpConnector.java | 272 ++++++++++++++++++ .../httpclient/RestHttpConnectorLogger.java | 41 +++ .../rest/httpclient/RestHttpLogger.java | 25 ++ .../rest/httpclient/RestHttpRequest.java | 182 ++++++++++++ .../rest/httpclient/RestHttpResponse.java | 71 +++++ .../src/main/resources/log4j.properties | 7 + .../src/test/java/RestHttpClientTest.java | 205 +++++++++++++ .../soap/httpclient/SoapHttpConnector.java | 2 +- 15 files changed, 1059 insertions(+), 1 deletion(-) create mode 100644 connect/docs/index.md create mode 100644 connect/docs/user-guide/index.md create mode 100644 connect/docs/user-guide/rest/index.md create mode 100644 connect/rest-httpclient/pom.xml create mode 100644 connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java create mode 100644 connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java create mode 100644 connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnectorLogger.java create mode 100644 connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpLogger.java create mode 100644 connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpRequest.java create mode 100644 connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpResponse.java create mode 100644 connect/rest-httpclient/src/main/resources/log4j.properties create mode 100644 connect/rest-httpclient/src/test/java/RestHttpClientTest.java diff --git a/connect/README.md b/connect/README.md index 5ae3f52d3b9..2f918053a3b 100644 --- a/connect/README.md +++ b/connect/README.md @@ -15,6 +15,7 @@ Simple API for connecting HTTP Services and other things. # List of connectors * SOAP Http Connector +* REST Http Connector # Using a Connector diff --git a/connect/docs/index.md b/connect/docs/index.md new file mode 100644 index 00000000000..ba945949c45 --- /dev/null +++ b/connect/docs/index.md @@ -0,0 +1,6 @@ +# Connect Documentation + +Welcome to the camunda Connect documentation + +* [Get Started using Connect][get-started] +* [User Guide][user-guide] \ No newline at end of file diff --git a/connect/docs/user-guide/index.md b/connect/docs/user-guide/index.md new file mode 100644 index 00000000000..a161de582e7 --- /dev/null +++ b/connect/docs/user-guide/index.md @@ -0,0 +1,4 @@ +# Connect Userguide + +* [REST Connector][rest] +* [SOAP Connector][soap] \ No newline at end of file diff --git a/connect/docs/user-guide/rest/index.md b/connect/docs/user-guide/rest/index.md new file mode 100644 index 00000000000..0ca4bab4629 --- /dev/null +++ b/connect/docs/user-guide/rest/index.md @@ -0,0 +1,109 @@ +# Using REST Connector + +This connector allows you to easily connect to a REST service. + +## Creating the request + +You can use the `.createRequest()` method to create a plain request. + +```java + RestHttpConnector connector = new RestHttpConnector(); + RestHttpRequest request = connector.createRequest(); +``` + +## Defining a request url + +To define a request url there would be the `.requestUrl(String url)`. +This allows you to set an endpoint for your request. + +Let us use the previous example and extend it for this method: + +```java + RestHttpConnector connector = new RestHttpConnector(); + RestHttpRequest request = connector.createRequest(); + request.requestUrl("http://camunda.org"); +``` + +## Defining additional headers + +You can add any additional header you want to your request. To do this you would use +`.header(String name, Object value)`. This will append the new header to the request. + +In our example we will add an Accept header for our request: + +```java + RestHttpConnector connector = new RestHttpConnector(); + RestHttpRequest request = connector.createRequest(); + request.requestUrl("http://camunda.org"); + request.header("Accept", "application/json"); +``` + +Now the server knows that we want a json response to our rest call + +## Defining the payload + +For POST, PUT and PATCH request you would have to attach a request body to change data +on the server side. For this there is a `.requestPayload(String payload)` method. + +So we add some informations as payload to our example: + +```java + RestHttpConnector connector = new RestHttpConnector(); + RestHttpRequest request = connector.createRequest(); + request.requestUrl("http://camunda.org"); + request.header("Accept", "application/json"); + request.payload("{\"text\": \"camunda rocks!\"}"); +``` + +## Defining the request type + +As we know a HTTP request must have at least one of the following request types: + +* GET +* PUT +* POST +* PATCH +* DELETE + +So there will be also a way to set this request type in our example. For this we have +one of the following methods: + +* `.get()` +* `.post()` +* `.put()` +* `.patch()` +* `.delete()` + +With this we have will have a full request which we can use to connect our REST service: + +```java + RestHttpConnector connector = new RestHttpConnector(); + RestHttpRequest request = connector.createRequest(); + request.requestUrl("http://camunda.org"); + request.header("Accept", "application/json"); + request.payload("{\"text\": \"camunda rocks!\"}"); + request.createHttpPost(); +``` + +## Execute the request + +Now that we have a complete request we can trigger it with the `.execute()` method. +After the execution we get an RestHttpResponse as answer for our request. This response +will let us fetch two main information of the response. The status code and the response +body. The status code can be fetched with the `.getStatusCode()` method and the response +body with `.getResponse()`. + +So to complete our example we will add the execution and also some response handling: + +```java + RestHttpConnector connector = new RestHttpConnector(); + RestHttpRequest request = connector.createRequest(); + request.requestUrl("http://camunda.org"); + request.header("Accept", "application/json"); + request.payload("{\"text\": \"camunda rocks!\"}"); + request.createHttpPost(); + + RestHttpResponse response = request.execute(); + Integer statusCode = response.getStatusCode(); + String responseBody = response.getResponse(); +``` diff --git a/connect/pom.xml b/connect/pom.xml index cb6a4395c53..bf7557a4bde 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -20,6 +20,7 @@ core soap-httpclient dist + rest-httpclient diff --git a/connect/rest-httpclient/pom.xml b/connect/rest-httpclient/pom.xml new file mode 100644 index 00000000000..91a5c43d4a0 --- /dev/null +++ b/connect/rest-httpclient/pom.xml @@ -0,0 +1,88 @@ + + + + + camunda-connect-root + org.camunda.connect + 1.0.0-SNAPSHOT + + 4.0.0 + + camunda-connect-rest-httpclient + camunda BPM - connect - rest httpclient + + + + + org.camunda.commons + camunda-commons-logging + + + + org.camunda.commons + camunda-commons-utils + + + + org.camunda.connect + camunda-connect-core + ${project.version} + + + + org.apache.httpcomponents + httpclient + + + + junit + junit + provided + + + + org.assertj + assertj-core + test + + + + ch.qos.logback + logback-core + test + + + + ch.qos.logback + logback-classic + test + + + javax.json + javax.json-api + 1.0 + + + + + + + + org.apache.felix + maven-bundle-plugin + + + bundle-manifest + process-classes + + manifest + + + + + + + + \ No newline at end of file diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java new file mode 100644 index 00000000000..3645df9c949 --- /dev/null +++ b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java @@ -0,0 +1,46 @@ +/* Licensed 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.camunda.bpm.connect.rest.httpclient; + +import org.apache.http.client.HttpClient; +import org.apache.http.client.methods.*; +import org.camunda.bpm.connect.ConnectorRequest; +import org.camunda.bpm.connect.impl.AbstractRequestInvocation; +import org.camunda.bpm.connect.interceptor.RequestInterceptor; + +import java.util.List; + +/** + * @author Daniel Meyer + * + */ +public class HttpRequestInvocation extends AbstractRequestInvocation { + + protected HttpClient client; + + /** + * @param target the HttpPostRequest + * @param interceptorChain the intceptor chain + * @param client the HttpClient to execute the request on + */ + public HttpRequestInvocation(HttpRequestBase target, ConnectorRequest request, List interceptorChain, HttpClient client) { + super(target, request, interceptorChain); + this.client = client; + } + + public Object invokeTarget() throws Exception { + // execute the request + return client.execute(target); + } + +} diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java new file mode 100644 index 00000000000..85dffc025ad --- /dev/null +++ b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java @@ -0,0 +1,272 @@ +/* Licensed 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.camunda.bpm.connect.rest.httpclient; + +import org.apache.http.client.methods.*; +import org.apache.http.entity.InputStreamEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.camunda.bpm.connect.impl.AbstractConnector; + +import java.io.ByteArrayInputStream; +import java.nio.charset.Charset; +import java.util.Map; + +/** + * @author Stefan Hentschel. + */ +public class RestHttpConnector extends AbstractConnector { + + private final RestHttpConnectorLogger LOG = RestHttpLogger.REST_CONNECTOR_LOGGER; + public static final String ID = "rest-http-connector"; + + protected CloseableHttpClient httpClient; + + public RestHttpConnector() { + httpClient = createClient(); + } + + protected CloseableHttpClient createClient() { + return HttpClients.createDefault(); + } + + public String getId() { + return ID; + } + + /** + * create a new REST request. + * + * @return {@link RestHttpRequest} the new request + */ + public RestHttpRequest createRequest() { + return new RestHttpRequest(this); + } + + /** + * Executes the request. + * + * @param request the request + * @return {@link RestHttpResponse} The response for the given request. + */ + public RestHttpResponse execute(RestHttpRequest request) { + HttpRequestBase http = createTarget(request); + + return invoke(request, http); + } + + /** + * Executes the request. + * + * @param request the given request + * @param http a apache Http* representation of the request + * @return {@link RestHttpResponse} The response for the given request. + */ + public RestHttpResponse execute(RestHttpRequest request, HttpRequestBase http) { + return invoke(request, http); + } + + protected RestHttpResponse invoke(RestHttpRequest request, HttpRequestBase http) { + try { + HttpRequestInvocation invocation = new HttpRequestInvocation(http, request, requestInterceptors, httpClient); + + // route request through interceptor chain + return new RestHttpResponse((CloseableHttpResponse) invocation.proceed()); + + } catch (Exception e) { + e.printStackTrace(); + } + + return null; + } + + /** + * creates a apache Http* representation of the request. + * + * @param httpRequest the given request + * @return {@link HttpRequestBase} an apache representation of the request + */ + public HttpRequestBase createTarget(RestHttpRequest httpRequest) { + String requestType = httpRequest.getRequestType(); + HttpRequestBase http; + + if(requestType.equals("GET")) { + http = createHttpGet(httpRequest); + + } else if(requestType.equals("POST")) { + http = createHttpPost(httpRequest); + + } else if(requestType.equals("PUT")) { + http = createHttpPut(httpRequest); + + } else if(requestType.equals("DELETE")) { + http = createHttpDelete(httpRequest); + + } else if(requestType.equals("PATCH")) { + http = createHttpPatch(httpRequest); + + } else { + throw LOG.invalidRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_TYPE, "param must be set!"); + } + + return http; + } + + /** + * creates a HttpPost representation of the request + * + * @param httpRequest the given request. + * @return {@link HttpPost} the HttpPost representation of the request. + */ + public HttpPost createHttpPost(RestHttpRequest httpRequest) { + // handle endpoint + String requestUrl = handleRequestUrl(httpRequest.getRequestUrl()); + HttpPost httpPost = new HttpPost(requestUrl); + + // handle headers + handleHeaders(httpPost, httpRequest.getRequestHeaders()); + + // handle payload + handlePayload(httpPost, httpRequest.getRequestPayload()); + + return httpPost; + } + + /** + * creates a HttpGet representation of the request + * + * @param httpRequest the given request. + * @return {@link HttpGet} the HttpGet representation of the request. + */ + public HttpGet createHttpGet(RestHttpRequest httpRequest) { + // handle endpoint + String requestUrl = handleRequestUrl(httpRequest.getRequestUrl()); + HttpGet httpGet = new HttpGet(requestUrl); + + // handle headers + handleHeaders(httpGet, httpRequest.getRequestHeaders()); + + //handle payload + if(httpRequest.getRequestPayload() != null) { + LOG.removedPayload(httpGet.getMethod()); + } + + return httpGet; + } + + /** + * creates a HttpDelete representation of the request + * + * @param httpRequest the given request. + * @return {@link HttpDelete} the HttpDelete representation of the request. + */ + public HttpDelete createHttpDelete(RestHttpRequest httpRequest) { + // handle endpoint + String requestUrl = handleRequestUrl(httpRequest.getRequestUrl()); + HttpDelete httpDelete = new HttpDelete(requestUrl); + + // handle headers + handleHeaders(httpDelete, httpRequest.getRequestHeaders()); + + //handle payload + if(httpRequest.getRequestPayload() != null) { + LOG.removedPayload(httpDelete.getMethod()); + } + + return httpDelete; + } + + /** + * creates a HttpPut representation of the request + * + * @param httpRequest the given request. + * @return {@link HttpPut} the HttpPut representation of the request. + */ + public HttpPut createHttpPut(RestHttpRequest httpRequest) { + // handle endpoint + String requestUrl = handleRequestUrl(httpRequest.getRequestUrl()); + HttpPut httpPut = new HttpPut(requestUrl); + + // handle headers + handleHeaders(httpPut, httpRequest.getRequestHeaders()); + + // handle payload + handlePayload(httpPut, httpRequest.getRequestPayload()); + + return httpPut; + } + + /** + * creates a HttpPatch representation of the request + * + * @param httpRequest the given request. + * @return {@link HttpPatch} the HttpPatch representation of the request. + */ + public HttpPatch createHttpPatch(RestHttpRequest httpRequest) { + // handle endpoint + String requestUrl = handleRequestUrl(httpRequest.getRequestUrl()); + HttpPatch httpPatch = new HttpPatch(requestUrl); + + // handle headers + handleHeaders(httpPatch, httpRequest.getRequestHeaders()); + + // handle payload + handlePayload(httpPatch, httpRequest.getRequestPayload()); + + return httpPatch; + } + + /** + * Check if the requestUrl is not empty or null + * + * @param requestUrl target to which the request should be send + * @return target to which the request should be send + */ + protected String handleRequestUrl(String requestUrl) { + if(requestUrl == null || requestUrl.isEmpty()) { + throw LOG.invalidRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_URL, "param must be set"); + } + + return requestUrl; + } + + /** + * Check if the headers are not null. + * + * @param headers current headers + * @param httpRequestBase apache request representation + */ + protected void handleHeaders(HttpRequestBase httpRequestBase, Map headers) { + if(headers != null) { + for (Map.Entry entry : headers.entrySet()) { + httpRequestBase.setHeader(entry.getKey(), entry.getValue()); + LOG.setHeader(entry.getKey(), entry.getValue()); + } + } + } + + /** + * Check if the payload are not empty or null. + * + * @param payload request data + * @param httpEntityEnclosingRequestBase apache request representation + */ + protected void handlePayload(HttpEntityEnclosingRequestBase httpEntityEnclosingRequestBase, String payload) { + // handle payload + if(payload == null || payload.isEmpty()) { + throw LOG.invalidRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_PAYLOAD, "param must be set"); + } + ByteArrayInputStream envelopeStream = new ByteArrayInputStream(payload.getBytes(Charset.forName("utf-8"))); + httpEntityEnclosingRequestBase.setEntity(new InputStreamEntity(envelopeStream)); + } +} diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnectorLogger.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnectorLogger.java new file mode 100644 index 00000000000..776829d2615 --- /dev/null +++ b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnectorLogger.java @@ -0,0 +1,41 @@ +/* Licensed 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.camunda.bpm.connect.rest.httpclient; + +import org.camunda.bpm.connect.ConnectorException; + +/** + * @author Stefan Hentschel. + */ +public class RestHttpConnectorLogger extends RestHttpLogger { + + public void setHeader(String field, String value) { + logDebug("001", "Set header field '{}' to '{}'", field, value); + } + + public ConnectorException unableToReadResponse(Exception cause) { + return new ConnectorException(exceptionMessage("001", "Unable to read connectorResponse: {}", cause.getMessage()), cause); + } + + public ConnectorException invalidRequestParameter(String paramName, String value) { + return new ConnectorException(exceptionMessage("002", "Invalid value for request parameter '{}': '{}'", paramName, value)); + } + + public void removedPayload(String type) { + logDebug("003", "Request is of type: '{}'. Payload will not be send with this request!", type.toUpperCase()); + } + + public void removeNullHeader() { + logDebug("004", "Header cannot be null! Don't attach header to request."); + } +} diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpLogger.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpLogger.java new file mode 100644 index 00000000000..c7bc989675f --- /dev/null +++ b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpLogger.java @@ -0,0 +1,25 @@ +/* Licensed 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.camunda.bpm.connect.rest.httpclient; + +import org.camunda.commons.logging.BaseLogger; + +/** + * @author Stefan Hentschel. + */ +public class RestHttpLogger extends BaseLogger { + + public static final String PROJECT_CODE = "RESTC"; + + public static RestHttpConnectorLogger REST_CONNECTOR_LOGGER = createLogger(RestHttpConnectorLogger.class, PROJECT_CODE, "org.camunda.bpm.connect.rest.httpclient.connector", "01"); +} diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpRequest.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpRequest.java new file mode 100644 index 00000000000..8a492543aed --- /dev/null +++ b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpRequest.java @@ -0,0 +1,182 @@ +/* Licensed 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.camunda.bpm.connect.rest.httpclient; + +import org.camunda.bpm.connect.impl.AbstractConnectorRequest; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author Stefan Hentschel. + */ +public class RestHttpRequest extends AbstractConnectorRequest { + + private final RestHttpConnectorLogger LOG = RestHttpLogger.REST_CONNECTOR_LOGGER; + + public static final String PARAM_NAME_REQUEST_URL = "requestUrl"; + public static final String PARAM_NAME_REQUEST_HEADERS = "requestHeaders"; + public static final String PARAM_NAME_REQUEST_TYPE = "requestType"; + public static final String PARAM_NAME_REQUEST_PAYLOAD = "requestPayload"; + + public RestHttpRequest(RestHttpConnector connector) { + super(connector); + } + + /** + * Set the url to which the request should be send. + * + * @param requestUrl url to which the request should be send + * @return {@link RestHttpRequest} current representation of the request + */ + public RestHttpRequest requestUrl(String requestUrl) { + setRequestParameter(PARAM_NAME_REQUEST_URL, requestUrl); + return this; + } + + /** + * Set a request type to the current request + * @param requestType type of the request + * @return {@link RestHttpRequest} current representation of the request + */ + public RestHttpRequest requestType(String requestType) { + setRequestParameter(PARAM_NAME_REQUEST_TYPE, requestType.toUpperCase()); + return this; + } + + /** + * set a specific header. + * + * @param name name of the header + * @param value value of the header + * @return {@link RestHttpRequest} current representation of the request + */ + public RestHttpRequest header(String name, String value) { + + // A header with null name or null value would be senseless + if(name == null || value == null ) { + LOG.removeNullHeader(); + return this; + } + + Map headers = getRequestParameter(PARAM_NAME_REQUEST_HEADERS); + + if(headers == null) { + headers = new HashMap(); + } + headers.put(name, value); + setRequestParameter(PARAM_NAME_REQUEST_HEADERS, headers); + return this; + } + + /** + * Set the request data for this request. + * + * @param payload request data + * @return {@link RestHttpRequest} current representation of the request + */ + public RestHttpRequest requestPayload(String payload) { + setRequestParameter(PARAM_NAME_REQUEST_PAYLOAD, payload); + return this; + } + + /** + * Set the content type of the current request + * + * @return RestHttpRequest the representation of the current request + */ + public RestHttpRequest contentType(String value) { + return header("content-type", value); + } + + /** + * Get the endpoint of the current request + * + * @return String request url + */ + public String getRequestUrl() { + return getRequestParameter(PARAM_NAME_REQUEST_URL); + } + + /** + * get all headers of the current request + * + * @return map of headers + */ + public Map getRequestHeaders() { + return getRequestParameter(PARAM_NAME_REQUEST_HEADERS); + } + + /** + * get the payload of the current request. + * + * @return String payload + */ + public String getRequestPayload() { + return getRequestParameter(PARAM_NAME_REQUEST_PAYLOAD); + } + + /** + * get the request type of the current request. + * + * @return String request type + */ + public String getRequestType() { + return getRequestParameter(PARAM_NAME_REQUEST_TYPE); + } + + /** + * Set POST as request type + * + * @return RestHttpRequest the representation of the current request + */ + public RestHttpRequest post() { + return requestType("POST"); + } + + /** + * Set GET as request type + * + * @return RestHttpRequest the representation of the current request + */ + public RestHttpRequest get() { + return requestType("GET"); + } + + /** + * Set PUT as request type + * + * @return RestHttpRequest the representation of the current request + */ + public RestHttpRequest put() { + return requestType("PUT"); + } + + /** + * Set PATCH as request type + * + * @return RestHttpRequest the representation of the current request + */ + public RestHttpRequest patch() { + return requestType("PATCH"); + } + + /** + * Set DELETE as request type + * + * @return RestHttpRequest the representation of the current request + */ + public RestHttpRequest delete() { + return requestType("DELETE"); + } +} \ No newline at end of file diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpResponse.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpResponse.java new file mode 100644 index 00000000000..b3ff6b4ef78 --- /dev/null +++ b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpResponse.java @@ -0,0 +1,71 @@ +/* Licensed 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.camunda.bpm.connect.rest.httpclient; + +import org.apache.http.client.methods.CloseableHttpResponse; +import org.camunda.bpm.connect.impl.AbstractConnectorResponse; +import org.camunda.commons.utils.IoUtil; + +import java.io.IOException; +import java.util.Map; + +/** + * @author Stefan Hentschel. + */ +public class RestHttpResponse extends AbstractConnectorResponse { + + private final RestHttpConnectorLogger LOG = RestHttpLogger.REST_CONNECTOR_LOGGER; + + public static final String PARAM_NAME_STATUS_CODE = "statusCode"; + public static final String PARAM_NAME_RESPONSE = "response"; + + protected CloseableHttpResponse httpResponse; + + public RestHttpResponse(CloseableHttpResponse httpResponse) { + this.httpResponse = httpResponse; + } + + /** + * Fetch the status code of the response + * + * @return the status code of the response + */ + public Integer getStatusCode() { + return getResponseParameter(PARAM_NAME_STATUS_CODE); + } + + /** + * Fetch the body of the response + * + * @return the response body + */ + public String getResponse() { + return getResponseParameter(PARAM_NAME_RESPONSE); + } + + /** + * @param responseParameters response parameters. + */ + protected void collectResponseParameters(Map responseParameters) { + try { + responseParameters.put(PARAM_NAME_STATUS_CODE, httpResponse.getStatusLine().getStatusCode()); + responseParameters.put(PARAM_NAME_RESPONSE, IoUtil.inputStreamAsString(httpResponse.getEntity().getContent())); + } catch (IllegalStateException e) { + throw LOG.unableToReadResponse(e); + } catch (IOException e) { + throw LOG.unableToReadResponse(e); + } finally { + IoUtil.closeSilently(httpResponse); + } + } +} diff --git a/connect/rest-httpclient/src/main/resources/log4j.properties b/connect/rest-httpclient/src/main/resources/log4j.properties new file mode 100644 index 00000000000..c39fc93db44 --- /dev/null +++ b/connect/rest-httpclient/src/main/resources/log4j.properties @@ -0,0 +1,7 @@ +log4j.rootLogger=INFO, stdout + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n + +log4j.logger.org.apache.http=DEBUG diff --git a/connect/rest-httpclient/src/test/java/RestHttpClientTest.java b/connect/rest-httpclient/src/test/java/RestHttpClientTest.java new file mode 100644 index 00000000000..909c580cfb0 --- /dev/null +++ b/connect/rest-httpclient/src/test/java/RestHttpClientTest.java @@ -0,0 +1,205 @@ +/* Licensed 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. + */ + +import org.apache.http.client.methods.*; +import org.camunda.bpm.connect.ConnectorException; +import org.camunda.bpm.connect.rest.httpclient.RestHttpConnector; +import org.camunda.bpm.connect.rest.httpclient.RestHttpRequest; +import org.camunda.commons.utils.IoUtil; +import org.junit.Before; +import org.junit.Test; + +import java.io.IOException; +import java.util.HashMap; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * @author Stefan Hentschel. + */ +public class RestHttpClientTest { + + private RestHttpConnector connector; + private RestHttpRequest request; + + @Before + public void createRequest() { + connector = new RestHttpConnector(); + request = connector.createRequest() + .requestUrl("http://camunda.org/rest") + .contentType("application/json") + .header("test", "test2") + .requestPayload("test"); + } + + @Test + public void shouldComposeHttpPost() throws IOException { + request.post(); + + HttpPost httpPost = (HttpPost) connector.createTarget(request); + + assertThat(httpPost.getMethod()).isEqualTo("POST"); + assertThat(httpPost.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest"); + assertThat(httpPost.getAllHeaders()).hasSize(2); + assertThat(httpPost.getFirstHeader("Content-Type").getValue()).isEqualTo("application/json"); + String content = IoUtil.inputStreamAsString(httpPost.getEntity().getContent()); + assertThat(content).isEqualTo("test"); + } + + @Test + public void shouldComposeHttpGet() throws IOException { + request.get(); + + HttpGet httpGet = (HttpGet) connector.createTarget(request); + + assertThat(httpGet.getMethod()).isEqualTo("GET"); + assertThat(httpGet.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest"); + assertThat(httpGet.getAllHeaders()).hasSize(2); + assertThat(httpGet.getFirstHeader("Content-Type").getValue()).isEqualTo("application/json"); + } + + @Test + public void shouldComposeHttpPut() throws IOException { + request.put(); + + HttpPut httpPut = (HttpPut) connector.createTarget(request); + + assertThat(httpPut.getMethod()).isEqualTo("PUT"); + assertThat(httpPut.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest"); + assertThat(httpPut.getAllHeaders()).hasSize(2); + assertThat(httpPut.getFirstHeader("Content-Type").getValue()).isEqualTo("application/json"); + } + + @Test + public void shouldComposeHttpPatch() throws IOException { + request.patch(); + + HttpPatch httpPatch = (HttpPatch) connector.createTarget(request); + + assertThat(httpPatch.getMethod()).isEqualTo("PATCH"); + assertThat(httpPatch.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest"); + assertThat(httpPatch.getAllHeaders()).hasSize(2); + assertThat(httpPatch.getFirstHeader("Content-Type").getValue()).isEqualTo("application/json"); + } + + @Test + public void shouldComposeHttpDelete() throws IOException { + request.delete(); + + HttpDelete httpDelete = (HttpDelete) connector.createTarget(request); + + assertThat(httpDelete.getMethod()).isEqualTo("DELETE"); + assertThat(httpDelete.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest"); + assertThat(httpDelete.getAllHeaders()).hasSize(2); + assertThat(httpDelete.getFirstHeader("Content-Type").getValue()).isEqualTo("application/json"); + } + + @Test + public void shouldNotFailIfNoPayLoadIsSet() { + request.requestPayload(null); + + request.get().execute(); + request.delete().execute(); + } + + @Test + public void shouldNotFailIfNoHeadersAreSet() { + request.setRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_HEADERS, null); + request.post().execute(); + } + + @Test + public void shouldSetAdditionalHeaders() { + request.header("Accept", "application/xml"); + + HttpPost httpPost = connector.createHttpPost(request); + + assertThat(httpPost.getFirstHeader("Accept").getValue()).isEqualTo("application/xml"); + } + + @Test + public void shouldFailSetAdditionalHeadersWithNull() { + request.header("Accept", null); + + HttpPost httpPost = connector.createHttpPost(request); + + assertThat(httpPost.getFirstHeader("Accept")).isEqualTo(null); + } + + @Test + public void shouldSetAdditionalRequestParameters() { + HashMap params = new HashMap(); + params.put("foo", "bar"); + params.put("test", "test"); + + request + .get() + .setRequestParameter("hello", "world"); + request.setRequestParameters(params); + + assertThat(request.getRequestParameter("hello")).isEqualTo("world"); + assertThat(request.getRequestParameter("foo")).isEqualTo("bar"); + assertThat(request.getRequestParameter("test")).isEqualTo("test"); + } + + @Test(expected = ConnectorException.class) + public void shouldFailIfNoPostPayLoadIsSet() { + + request.requestPayload(null); + connector.createHttpPost(request); + } + + @Test(expected = ConnectorException.class) + public void shouldFailIfNoPutPostPayLoadIsSet() { + + request.requestPayload(null); + connector.createHttpPut(request); + } + + @Test(expected = ConnectorException.class) + public void shouldFailIfNoPatchPayLoadIsSet() { + + request.requestPayload(null); + connector.createHttpPatch(request); + } + + @Test(expected = ConnectorException.class) + public void shouldFailIfNoGetRequestUrlIsSet() { + request.requestUrl(null); + connector.createHttpGet(request); + } + + @Test(expected = ConnectorException.class) + public void shouldFailIfNoPostRequestUrlIsSet() { + request.requestUrl(null); + connector.createHttpPost(request); + } + + @Test(expected = ConnectorException.class) + public void shouldFailIfNoPutRequestUrlIsSet() { + request.requestUrl(null); + connector.createHttpPut(request); + } + + @Test(expected = ConnectorException.class) + public void shouldFailIfNoPatchRequestUrlIsSet() { + request.requestUrl(null); + connector.createHttpPatch(request); + } + + @Test(expected = ConnectorException.class) + public void shouldFailIfNoDeleteRequestUrlIsSet() { + request.requestUrl(null); + connector.createHttpDelete(request); + } +} \ No newline at end of file diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java index 3a7b7de0203..bfc12ece992 100644 --- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java +++ b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java @@ -88,7 +88,7 @@ protected HttpPost createHttpPost(SoapHttpRequest soapHttpRequest) { if(endpointUrl == null || endpointUrl.isEmpty()) { throw LOG.invalidRequestParameter(SoapHttpRequest.PARAM_NAME_ENDPOINT_URL, "param must be set"); } - HttpPost httpPost = new HttpPost(soapHttpRequest.getEndpointUrl()); + HttpPost httpPost = new HttpPost(endpointUrl); // handle headers Map headers = soapHttpRequest.getHeaders(); From 43dc30c26a2585d47c9a7a42687b53c373f60f83 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Tue, 5 Aug 2014 17:28:41 +0200 Subject: [PATCH 019/200] chore(pom): bump camunda commons version up --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index bf7557a4bde..baf39e4bbef 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -29,7 +29,7 @@ org.camunda.commons camunda-commons-bom - 1.0.0 + 1.0.1 import pom From 527fa2db9fa22a24331af9ee46a2e2d45223cefb Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Tue, 5 Aug 2014 17:48:02 +0200 Subject: [PATCH 020/200] chore(rest): clean code and docs related to #CAM-2456 --- connect/docs/index.md | 4 +- connect/docs/user-guide/index.md | 4 +- connect/docs/user-guide/rest/index.md | 4 +- .../httpclient/HttpRequestInvocation.java | 10 ++-- .../rest/httpclient/RestHttpConnector.java | 46 ++++++++++--------- .../httpclient/RestHttpConnectorLogger.java | 5 ++ .../rest/httpclient/RestHttpRequest.java | 8 ++-- .../src/test/java/RestHttpClientTest.java | 30 ++++++------ 8 files changed, 61 insertions(+), 50 deletions(-) diff --git a/connect/docs/index.md b/connect/docs/index.md index ba945949c45..cd04b8d5312 100644 --- a/connect/docs/index.md +++ b/connect/docs/index.md @@ -2,5 +2,5 @@ Welcome to the camunda Connect documentation -* [Get Started using Connect][get-started] -* [User Guide][user-guide] \ No newline at end of file +* [Get Started using Connect](get-started/index.md) +* [User Guide](user-guide/index.md) diff --git a/connect/docs/user-guide/index.md b/connect/docs/user-guide/index.md index a161de582e7..a5f73585bb7 100644 --- a/connect/docs/user-guide/index.md +++ b/connect/docs/user-guide/index.md @@ -1,4 +1,4 @@ # Connect Userguide -* [REST Connector][rest] -* [SOAP Connector][soap] \ No newline at end of file +* [REST Connector](rest/index.md) +* [SOAP Connector](soap/index.md) diff --git a/connect/docs/user-guide/rest/index.md b/connect/docs/user-guide/rest/index.md index 0ca4bab4629..649da73eb83 100644 --- a/connect/docs/user-guide/rest/index.md +++ b/connect/docs/user-guide/rest/index.md @@ -82,7 +82,7 @@ With this we have will have a full request which we can use to connect our REST request.requestUrl("http://camunda.org"); request.header("Accept", "application/json"); request.payload("{\"text\": \"camunda rocks!\"}"); - request.createHttpPost(); + request.post() ``` ## Execute the request @@ -101,7 +101,7 @@ So to complete our example we will add the execution and also some response hand request.requestUrl("http://camunda.org"); request.header("Accept", "application/json"); request.payload("{\"text\": \"camunda rocks!\"}"); - request.createHttpPost(); + request.post(); RestHttpResponse response = request.execute(); Integer statusCode = response.getStatusCode(); diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java index 3645df9c949..4c10cb498a4 100644 --- a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java +++ b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java @@ -12,25 +12,25 @@ */ package org.camunda.bpm.connect.rest.httpclient; +import java.util.List; + import org.apache.http.client.HttpClient; -import org.apache.http.client.methods.*; +import org.apache.http.client.methods.HttpRequestBase; import org.camunda.bpm.connect.ConnectorRequest; import org.camunda.bpm.connect.impl.AbstractRequestInvocation; import org.camunda.bpm.connect.interceptor.RequestInterceptor; -import java.util.List; - /** * @author Daniel Meyer * */ -public class HttpRequestInvocation extends AbstractRequestInvocation { +public class HttpRequestInvocation extends AbstractRequestInvocation { protected HttpClient client; /** * @param target the HttpPostRequest - * @param interceptorChain the intceptor chain + * @param interceptorChain the interceptor chain * @param client the HttpClient to execute the request on */ public HttpRequestInvocation(HttpRequestBase target, ConnectorRequest request, List interceptorChain, HttpClient client) { diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java index 85dffc025ad..5ab67cd5836 100644 --- a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java +++ b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java @@ -12,16 +12,23 @@ */ package org.camunda.bpm.connect.rest.httpclient; -import org.apache.http.client.methods.*; +import java.io.ByteArrayInputStream; +import java.nio.charset.Charset; +import java.util.Map; + +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpEntityEnclosingRequestBase; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPatch; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpPut; +import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.InputStreamEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.camunda.bpm.connect.impl.AbstractConnector; -import java.io.ByteArrayInputStream; -import java.nio.charset.Charset; -import java.util.Map; - /** * @author Stefan Hentschel. */ @@ -62,7 +69,7 @@ public RestHttpRequest createRequest() { public RestHttpResponse execute(RestHttpRequest request) { HttpRequestBase http = createTarget(request); - return invoke(request, http); + return execute(request, http); } /** @@ -73,10 +80,6 @@ public RestHttpResponse execute(RestHttpRequest request) { * @return {@link RestHttpResponse} The response for the given request. */ public RestHttpResponse execute(RestHttpRequest request, HttpRequestBase http) { - return invoke(request, http); - } - - protected RestHttpResponse invoke(RestHttpRequest request, HttpRequestBase http) { try { HttpRequestInvocation invocation = new HttpRequestInvocation(http, request, requestInterceptors, httpClient); @@ -84,10 +87,8 @@ protected RestHttpResponse invoke(RestHttpRequest request, HttpRequestBase http) return new RestHttpResponse((CloseableHttpResponse) invocation.proceed()); } catch (Exception e) { - e.printStackTrace(); + throw LOG.unableToExecuteRequest(e); } - - return null; } /** @@ -96,7 +97,8 @@ protected RestHttpResponse invoke(RestHttpRequest request, HttpRequestBase http) * @param httpRequest the given request * @return {@link HttpRequestBase} an apache representation of the request */ - public HttpRequestBase createTarget(RestHttpRequest httpRequest) { + @SuppressWarnings("unchecked") + public T createTarget(RestHttpRequest httpRequest) { String requestType = httpRequest.getRequestType(); HttpRequestBase http; @@ -116,10 +118,10 @@ public HttpRequestBase createTarget(RestHttpRequest httpRequest) { http = createHttpPatch(httpRequest); } else { - throw LOG.invalidRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_TYPE, "param must be set!"); + throw LOG.invalidRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_TYPE, "request type not implemented"); } - return http; + return (T) http; } /** @@ -156,7 +158,7 @@ public HttpGet createHttpGet(RestHttpRequest httpRequest) { // handle headers handleHeaders(httpGet, httpRequest.getRequestHeaders()); - //handle payload + // handle payload if(httpRequest.getRequestPayload() != null) { LOG.removedPayload(httpGet.getMethod()); } @@ -178,7 +180,7 @@ public HttpDelete createHttpDelete(RestHttpRequest httpRequest) { // handle headers handleHeaders(httpDelete, httpRequest.getRequestHeaders()); - //handle payload + // handle payload if(httpRequest.getRequestPayload() != null) { LOG.removedPayload(httpDelete.getMethod()); } @@ -234,7 +236,7 @@ public HttpPatch createHttpPatch(RestHttpRequest httpRequest) { */ protected String handleRequestUrl(String requestUrl) { if(requestUrl == null || requestUrl.isEmpty()) { - throw LOG.invalidRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_URL, "param must be set"); + throw LOG.invalidRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_URL, "a request URL must be set"); } return requestUrl; @@ -264,9 +266,9 @@ protected void handleHeaders(HttpRequestBase httpRequestBase, Map(); + setRequestParameter(PARAM_NAME_REQUEST_HEADERS, headers); } headers.put(name, value); - setRequestParameter(PARAM_NAME_REQUEST_HEADERS, headers); return this; } @@ -179,4 +179,4 @@ public RestHttpRequest patch() { public RestHttpRequest delete() { return requestType("DELETE"); } -} \ No newline at end of file +} diff --git a/connect/rest-httpclient/src/test/java/RestHttpClientTest.java b/connect/rest-httpclient/src/test/java/RestHttpClientTest.java index 909c580cfb0..39068ec4f35 100644 --- a/connect/rest-httpclient/src/test/java/RestHttpClientTest.java +++ b/connect/rest-httpclient/src/test/java/RestHttpClientTest.java @@ -11,7 +11,16 @@ * limitations under the License. */ -import org.apache.http.client.methods.*; +import static org.assertj.core.api.Assertions.assertThat; + +import java.io.IOException; +import java.util.HashMap; + +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPatch; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.client.methods.HttpPut; import org.camunda.bpm.connect.ConnectorException; import org.camunda.bpm.connect.rest.httpclient.RestHttpConnector; import org.camunda.bpm.connect.rest.httpclient.RestHttpRequest; @@ -19,11 +28,6 @@ import org.junit.Before; import org.junit.Test; -import java.io.IOException; -import java.util.HashMap; - -import static org.assertj.core.api.Assertions.assertThat; - /** * @author Stefan Hentschel. */ @@ -46,7 +50,7 @@ public void createRequest() { public void shouldComposeHttpPost() throws IOException { request.post(); - HttpPost httpPost = (HttpPost) connector.createTarget(request); + HttpPost httpPost = connector.createTarget(request); assertThat(httpPost.getMethod()).isEqualTo("POST"); assertThat(httpPost.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest"); @@ -60,7 +64,7 @@ public void shouldComposeHttpPost() throws IOException { public void shouldComposeHttpGet() throws IOException { request.get(); - HttpGet httpGet = (HttpGet) connector.createTarget(request); + HttpGet httpGet = connector.createTarget(request); assertThat(httpGet.getMethod()).isEqualTo("GET"); assertThat(httpGet.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest"); @@ -72,7 +76,7 @@ public void shouldComposeHttpGet() throws IOException { public void shouldComposeHttpPut() throws IOException { request.put(); - HttpPut httpPut = (HttpPut) connector.createTarget(request); + HttpPut httpPut = connector.createTarget(request); assertThat(httpPut.getMethod()).isEqualTo("PUT"); assertThat(httpPut.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest"); @@ -84,7 +88,7 @@ public void shouldComposeHttpPut() throws IOException { public void shouldComposeHttpPatch() throws IOException { request.patch(); - HttpPatch httpPatch = (HttpPatch) connector.createTarget(request); + HttpPatch httpPatch = connector.createTarget(request); assertThat(httpPatch.getMethod()).isEqualTo("PATCH"); assertThat(httpPatch.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest"); @@ -96,7 +100,7 @@ public void shouldComposeHttpPatch() throws IOException { public void shouldComposeHttpDelete() throws IOException { request.delete(); - HttpDelete httpDelete = (HttpDelete) connector.createTarget(request); + HttpDelete httpDelete = connector.createTarget(request); assertThat(httpDelete.getMethod()).isEqualTo("DELETE"); assertThat(httpDelete.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest"); @@ -128,7 +132,7 @@ public void shouldSetAdditionalHeaders() { } @Test - public void shouldFailSetAdditionalHeadersWithNull() { + public void shouldNotSetAdditionalHeadersWithNull() { request.header("Accept", null); HttpPost httpPost = connector.createHttpPost(request); @@ -202,4 +206,4 @@ public void shouldFailIfNoDeleteRequestUrlIsSet() { request.requestUrl(null); connector.createHttpDelete(request); } -} \ No newline at end of file +} From 095a9d846d73cef26f5e608551022fcc0d615788 Mon Sep 17 00:00:00 2001 From: Stefan Hentschel Date: Wed, 6 Aug 2014 08:22:52 +0200 Subject: [PATCH 021/200] fix(rest): refactor tests to work without internet connection Related to: #CAM-2456 --- .../src/test/java/RestHttpClientTest.java | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/connect/rest-httpclient/src/test/java/RestHttpClientTest.java b/connect/rest-httpclient/src/test/java/RestHttpClientTest.java index 39068ec4f35..e3a4cd3d61b 100644 --- a/connect/rest-httpclient/src/test/java/RestHttpClientTest.java +++ b/connect/rest-httpclient/src/test/java/RestHttpClientTest.java @@ -11,16 +11,7 @@ * limitations under the License. */ -import static org.assertj.core.api.Assertions.assertThat; - -import java.io.IOException; -import java.util.HashMap; - -import org.apache.http.client.methods.HttpDelete; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPatch; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpPut; +import org.apache.http.client.methods.*; import org.camunda.bpm.connect.ConnectorException; import org.camunda.bpm.connect.rest.httpclient.RestHttpConnector; import org.camunda.bpm.connect.rest.httpclient.RestHttpRequest; @@ -28,6 +19,11 @@ import org.junit.Before; import org.junit.Test; +import java.io.IOException; +import java.util.HashMap; + +import static org.assertj.core.api.Assertions.assertThat; + /** * @author Stefan Hentschel. */ @@ -112,14 +108,15 @@ public void shouldComposeHttpDelete() throws IOException { public void shouldNotFailIfNoPayLoadIsSet() { request.requestPayload(null); - request.get().execute(); - request.delete().execute(); + connector.createHttpGet(request); + connector.createHttpDelete(request); } @Test public void shouldNotFailIfNoHeadersAreSet() { request.setRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_HEADERS, null); - request.post().execute(); + request.post(); + connector.createTarget(request); } @Test From ddc32890f1e29e525a954c840ec1b034c605c91e Mon Sep 17 00:00:00 2001 From: Daniel Meyer Date: Wed, 6 Aug 2014 10:29:28 +0200 Subject: [PATCH 022/200] fix(distro): add rest connector to connect-all.jar * add rest connector to distro * remove obsolete json dependency related to #CAM-2456 --- connect/dist/pom.xml | 5 +++++ connect/rest-httpclient/pom.xml | 7 +------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index b2ebe0f58df..d9b9e9d54d0 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -18,6 +18,11 @@ ${project.version} + + org.camunda.connect + camunda-connect-rest-httpclient + ${project.version} + diff --git a/connect/rest-httpclient/pom.xml b/connect/rest-httpclient/pom.xml index 91a5c43d4a0..c8e12baf9ba 100644 --- a/connect/rest-httpclient/pom.xml +++ b/connect/rest-httpclient/pom.xml @@ -59,11 +59,6 @@ logback-classic test - - javax.json - javax.json-api - 1.0 - @@ -85,4 +80,4 @@ - \ No newline at end of file + From df6b73b1c00fdfb75099a9976caa618ea5ba02cd Mon Sep 17 00:00:00 2001 From: Jenkins Date: Wed, 6 Aug 2014 10:18:03 +0200 Subject: [PATCH 023/200] [maven-release-plugin] prepare release 1.0.0-alpha2 --- connect/core/pom.xml | 2 +- connect/dist/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/rest-httpclient/pom.xml | 6 ++---- connect/soap-httpclient/pom.xml | 2 +- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/connect/core/pom.xml b/connect/core/pom.xml index cb8dd76cf39..df480ed695d 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha2 camunda-connect-core diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index d9b9e9d54d0..6cf90d50f9f 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha2 camunda-connect-all diff --git a/connect/pom.xml b/connect/pom.xml index baf39e4bbef..17e12a45a61 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -12,7 +12,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha2 camunda BPM - connect - parent pom @@ -114,7 +114,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.0-alpha2 diff --git a/connect/rest-httpclient/pom.xml b/connect/rest-httpclient/pom.xml index c8e12baf9ba..66a67a9bbe0 100644 --- a/connect/rest-httpclient/pom.xml +++ b/connect/rest-httpclient/pom.xml @@ -1,12 +1,10 @@ - + camunda-connect-root org.camunda.connect - 1.0.0-SNAPSHOT + 1.0.0-alpha2 4.0.0 diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml index 3c788c176ac..19fe8f2f914 100644 --- a/connect/soap-httpclient/pom.xml +++ b/connect/soap-httpclient/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha2 camunda-connect-soap-httpclient From 54f31db47412655181207fc4f50f81cfd5581ede Mon Sep 17 00:00:00 2001 From: Jenkins Date: Wed, 6 Aug 2014 10:18:07 +0200 Subject: [PATCH 024/200] [maven-release-plugin] prepare for next development iteration --- connect/core/pom.xml | 2 +- connect/dist/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/rest-httpclient/pom.xml | 2 +- connect/soap-httpclient/pom.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/connect/core/pom.xml b/connect/core/pom.xml index df480ed695d..cb8dd76cf39 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha2 + 1.0.0-SNAPSHOT camunda-connect-core diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index 6cf90d50f9f..d9b9e9d54d0 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha2 + 1.0.0-SNAPSHOT camunda-connect-all diff --git a/connect/pom.xml b/connect/pom.xml index 17e12a45a61..baf39e4bbef 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -12,7 +12,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha2 + 1.0.0-SNAPSHOT camunda BPM - connect - parent pom @@ -114,7 +114,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.0-alpha2 + HEAD diff --git a/connect/rest-httpclient/pom.xml b/connect/rest-httpclient/pom.xml index 66a67a9bbe0..cc3ab2191b0 100644 --- a/connect/rest-httpclient/pom.xml +++ b/connect/rest-httpclient/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.0-alpha2 + 1.0.0-SNAPSHOT 4.0.0 diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml index 19fe8f2f914..3c788c176ac 100644 --- a/connect/soap-httpclient/pom.xml +++ b/connect/soap-httpclient/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha2 + 1.0.0-SNAPSHOT camunda-connect-soap-httpclient From 87883de25efb36a5ac041943b00c8b360df7d952 Mon Sep 17 00:00:00 2001 From: mburke84 Date: Thu, 7 Aug 2014 09:31:48 +0200 Subject: [PATCH 025/200] fix(docs): proof read and correct related to #CAM-2456 --- connect/docs/user-guide/rest/index.md | 32 +++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/connect/docs/user-guide/rest/index.md b/connect/docs/user-guide/rest/index.md index 649da73eb83..da16f0671d9 100644 --- a/connect/docs/user-guide/rest/index.md +++ b/connect/docs/user-guide/rest/index.md @@ -13,10 +13,10 @@ You can use the `.createRequest()` method to create a plain request. ## Defining a request url -To define a request url there would be the `.requestUrl(String url)`. +To define a request url you can use the `.requestUrl(String url)` method. This allows you to set an endpoint for your request. -Let us use the previous example and extend it for this method: +Let's use the previous example and extend it for this method: ```java RestHttpConnector connector = new RestHttpConnector(); @@ -26,8 +26,8 @@ Let us use the previous example and extend it for this method: ## Defining additional headers -You can add any additional header you want to your request. To do this you would use -`.header(String name, Object value)`. This will append the new header to the request. +You can add any additional header that you want to your request. To do this, you can use the +`.header(String name, Object value)` method. This will append the new header to the request. In our example we will add an Accept header for our request: @@ -38,14 +38,14 @@ In our example we will add an Accept header for our request: request.header("Accept", "application/json"); ``` -Now the server knows that we want a json response to our rest call +Now the server knows that we want a JSON response to our rest call. ## Defining the payload -For POST, PUT and PATCH request you would have to attach a request body to change data -on the server side. For this there is a `.requestPayload(String payload)` method. +For POST, PUT and PATCH requests you have to attach a request body to change data +on the server side. For this, there is a `.requestPayload(String payload)` method. -So we add some informations as payload to our example: +So let's add some informations as payload to our example: ```java RestHttpConnector connector = new RestHttpConnector(); @@ -57,7 +57,7 @@ So we add some informations as payload to our example: ## Defining the request type -As we know a HTTP request must have at least one of the following request types: +As we know, an HTTP request must have at least one of the following request types: * GET * PUT @@ -65,7 +65,7 @@ As we know a HTTP request must have at least one of the following request types: * PATCH * DELETE -So there will be also a way to set this request type in our example. For this we have +So there's be also a way to set this request type in our example. For this we have one of the following methods: * `.get()` @@ -74,7 +74,7 @@ one of the following methods: * `.patch()` * `.delete()` -With this we have will have a full request which we can use to connect our REST service: +With this we have a full request which we can use to connect our REST service: ```java RestHttpConnector connector = new RestHttpConnector(); @@ -87,13 +87,13 @@ With this we have will have a full request which we can use to connect our REST ## Execute the request -Now that we have a complete request we can trigger it with the `.execute()` method. -After the execution we get an RestHttpResponse as answer for our request. This response -will let us fetch two main information of the response. The status code and the response +Now that we have a complete request, we can trigger it with the `.execute()` method. +After the execution, we get a RestHttpResponse as answer to our request. This response +lets us fetch two main pieces of information of the response: the status code and the response body. The status code can be fetched with the `.getStatusCode()` method and the response -body with `.getResponse()`. +body with the `.getResponse()` method. -So to complete our example we will add the execution and also some response handling: +So, to complete our example we'll add the execution and also some response handling: ```java RestHttpConnector connector = new RestHttpConnector(); From d86d0098d92255c395a0ad41cb9022419ab62639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ronny=20Br=C3=A4unlich?= Date: Mon, 1 Sep 2014 18:05:18 +0200 Subject: [PATCH 026/200] improve(pom): add maven-bundle-plugin to generate proper Manifest related to CAM-2677 --- connect/dist/pom.xml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index d9b9e9d54d0..6f3b09ed0d2 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -67,6 +67,35 @@ org.camunda.connect:* + + org.apache.felix + maven-bundle-plugin + true + + false + + + !connectjar*, + javax.*;resolution:=optional, + org.apache.log*;resolution:=optional, + org.apache.log4j*;resolution:=optional, + * + + . + *;inline=true + true + + + + + bundle-manifest + process-classes + + manifest + + + + From e0195f24087a8dec94b765321a92f49d24aefff3 Mon Sep 17 00:00:00 2001 From: Christian Lipphardt Date: Wed, 1 Oct 2014 15:02:27 +0200 Subject: [PATCH 027/200] chore(maven): update release-parent to 2.4 - update parent - remove unnecessary configurations which are now provided through release-parent related to #CAM-2727 --- connect/dist/pom.xml | 1 - connect/pom.xml | 21 +-------------------- 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index 6f3b09ed0d2..9f5da550efb 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -70,7 +70,6 @@ org.apache.felix maven-bundle-plugin - true false diff --git a/connect/pom.xml b/connect/pom.xml index baf39e4bbef..8429a41989c 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -5,7 +5,7 @@ org.camunda camunda-release-parent - 2.2 + 2.4 @@ -73,19 +73,12 @@ org.apache.felix maven-bundle-plugin - 2.3.7 - true org.camunda.bpm* - - org.apache.maven.plugins - maven-jar-plugin - 2.4 - org.apache.maven.plugins maven-surefire-plugin @@ -96,18 +89,6 @@ - - - - org.apache.maven.plugins - maven-jar-plugin - - - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - - - - From 7493fe8f412614192beb7f0aa828627fd67e884a Mon Sep 17 00:00:00 2001 From: Christian Lipphardt Date: Tue, 7 Oct 2014 17:25:55 +0200 Subject: [PATCH 028/200] chore(maven): change to release-parent v2.5 related to #CAM-2727 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 8429a41989c..c51d0ad1f28 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -5,7 +5,7 @@ org.camunda camunda-release-parent - 2.4 + 2.5 From dc34db0a3d4dd0d74ec32f3f9823013538083014 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Wed, 8 Oct 2014 10:39:17 +0200 Subject: [PATCH 029/200] [maven-release-plugin] prepare release 1.0.0-alpha3 --- connect/core/pom.xml | 2 +- connect/dist/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/rest-httpclient/pom.xml | 2 +- connect/soap-httpclient/pom.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/connect/core/pom.xml b/connect/core/pom.xml index cb8dd76cf39..42a6771381b 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha3 camunda-connect-core diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index 9f5da550efb..d6411181c9b 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha3 camunda-connect-all diff --git a/connect/pom.xml b/connect/pom.xml index c51d0ad1f28..f5f4047c770 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -12,7 +12,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha3 camunda BPM - connect - parent pom @@ -95,7 +95,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.0-alpha3 diff --git a/connect/rest-httpclient/pom.xml b/connect/rest-httpclient/pom.xml index cc3ab2191b0..1991bc7a0e3 100644 --- a/connect/rest-httpclient/pom.xml +++ b/connect/rest-httpclient/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.0-SNAPSHOT + 1.0.0-alpha3 4.0.0 diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml index 3c788c176ac..240cf46bb61 100644 --- a/connect/soap-httpclient/pom.xml +++ b/connect/soap-httpclient/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0-alpha3 camunda-connect-soap-httpclient From 904ff839b5e65a747dc5e2a6d917d8f1482ae66f Mon Sep 17 00:00:00 2001 From: Jenkins Date: Wed, 8 Oct 2014 10:39:20 +0200 Subject: [PATCH 030/200] [maven-release-plugin] prepare for next development iteration --- connect/core/pom.xml | 2 +- connect/dist/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/rest-httpclient/pom.xml | 2 +- connect/soap-httpclient/pom.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 42a6771381b..cb8dd76cf39 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha3 + 1.0.0-SNAPSHOT camunda-connect-core diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml index d6411181c9b..9f5da550efb 100644 --- a/connect/dist/pom.xml +++ b/connect/dist/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha3 + 1.0.0-SNAPSHOT camunda-connect-all diff --git a/connect/pom.xml b/connect/pom.xml index f5f4047c770..c51d0ad1f28 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -12,7 +12,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha3 + 1.0.0-SNAPSHOT camunda BPM - connect - parent pom @@ -95,7 +95,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.0-alpha3 + HEAD diff --git a/connect/rest-httpclient/pom.xml b/connect/rest-httpclient/pom.xml index 1991bc7a0e3..cc3ab2191b0 100644 --- a/connect/rest-httpclient/pom.xml +++ b/connect/rest-httpclient/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.0-alpha3 + 1.0.0-SNAPSHOT 4.0.0 diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-httpclient/pom.xml index 240cf46bb61..3c788c176ac 100644 --- a/connect/soap-httpclient/pom.xml +++ b/connect/soap-httpclient/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-alpha3 + 1.0.0-SNAPSHOT camunda-connect-soap-httpclient From 6c2e2095444e9b7ee947cdcb2a80707e556cf2fc Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Mon, 27 Oct 2014 11:11:36 +0100 Subject: [PATCH 031/200] fix(pom): update commons bom version related to #CAM-2836 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index c51d0ad1f28..6121c985f3e 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -29,7 +29,7 @@ org.camunda.commons camunda-commons-bom - 1.0.1 + 1.0.5 import pom From 40226252af33d568654f1550f97ea9c60ad55210 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Fri, 7 Nov 2014 11:59:22 +0100 Subject: [PATCH 032/200] refactor(connect): extract http client and add spi detection related to #CAM-2741 --- connect/.gitignore | 1 - connect/README.md | 31 +- connect/bom/pom.xml | 55 ++++ connect/core/pom.xml | 23 ++ .../bpm/connect/impl/AbstractConnector.java | 54 ---- .../bpm/connect/impl/ConnectCoreLogger.java | 35 --- .../camunda/connect/ConnectCoreLogger.java | 52 ++++ .../impl => connect}/ConnectLogger.java | 6 +- .../{bpm => }/connect/ConnectorException.java | 5 +- .../ConnectorRequestException.java} | 13 +- .../connect/ConnectorResponseException.java | 29 ++ .../java/org/camunda/connect/Connectors.java | 160 ++++++++++ .../AbstractCloseableConnectorResponse.java | 8 +- .../connect/impl/AbstractConnector.java | 68 +++++ .../impl/AbstractConnectorRequest.java | 17 +- .../impl/AbstractConnectorResponse.java | 6 +- .../impl/AbstractRequestInvocation.java | 14 +- .../connect/impl/DebugRequestInterceptor.java | 93 ++++++ .../spi}/CloseableConnectorResponse.java | 10 +- .../connect => connect/spi}/Connector.java | 48 ++- .../connect/spi/ConnectorConfigurator.java | 38 +++ .../spi}/ConnectorInvocation.java | 12 +- .../connect/spi/ConnectorProvider.java | 27 ++ .../spi}/ConnectorRequest.java | 16 +- .../spi/ConnectorRequestInterceptor.java} | 12 +- .../spi}/ConnectorResponse.java | 2 +- .../camunda/connect/dummy/DummyConnector.java | 49 ++++ .../dummy/DummyConnectorConfigurator.java | 27 ++ .../connect/dummy/DummyConnectorProvider.java | 28 ++ .../camunda/connect/dummy/DummyRequest.java | 25 ++ .../camunda/connect/dummy/DummyResponse.java | 26 ++ .../connect/dummy/MyHttpConnector.java | 32 ++ .../dummy/MyHttpConnectorProvider.java | 30 ++ .../camunda/connect/spi/ConnectorsTest.java | 61 ++++ ....camunda.connect.spi.ConnectorConfigurator | 1 + .../org.camunda.connect.spi.ConnectorProvider | 2 + .../src/test/resources/logback-test.xml | 4 +- connect/dist/pom.xml | 13 +- connect/docs/index.md | 1 - connect/docs/user-guide/http/index.md | 165 +++++++++++ connect/docs/user-guide/index.md | 4 +- connect/docs/user-guide/rest/index.md | 109 ------- connect/docs/user-guide/soap/index.md | 152 ++++++++++ .../{rest-httpclient => http-client}/pom.xml | 22 +- .../connect/httpclient/HttpBaseRequest.java | 99 +++++++ .../connect/httpclient/HttpConnector.java} | 13 +- .../httpclient/HttpConnectorLogger.java | 51 ++++ .../httpclient/HttpConnectorProvider.java | 20 ++ .../connect/httpclient/HttpLogger.java | 23 ++ .../connect/httpclient/HttpMethodRequest.java | 74 +++++ .../connect/httpclient/HttpRequest.java | 17 ++ .../connect/httpclient/HttpResponse.java | 45 +++ .../impl/AbstractHttpConnector.java | 154 ++++++++++ .../httpclient/impl/AbstractHttpRequest.java | 144 +++++++++ .../httpclient/impl/HttpConnectorImpl.java | 38 +++ .../impl/HttpConnectorProviderImpl.java | 29 ++ .../httpclient/impl/HttpRequestImpl.java | 26 ++ .../impl}/HttpRequestInvocation.java | 24 +- .../httpclient/impl/HttpResponseImpl.java | 91 ++++++ .../org.camunda.connect.spi.ConnectorProvider | 1 + .../connect/httpclient/HttpConnectorTest.java | 173 +++++++++++ .../connect/httpclient/HttpRequestTest.java | 160 ++++++++++ .../connect/httpclient/HttpResponseTest.java | 89 ++++++ .../connect/httpclient/TestResponse.java | 63 ++++ .../src/test/resources/logback-test.xml | 11 + connect/pom.xml | 35 +-- .../rest/httpclient/RestHttpConnector.java | 274 ------------------ .../httpclient/RestHttpConnectorLogger.java | 46 --- .../rest/httpclient/RestHttpRequest.java | 182 ------------ .../rest/httpclient/RestHttpResponse.java | 71 ----- .../src/main/resources/log4j.properties | 7 - .../src/test/java/RestHttpClientTest.java | 206 ------------- .../pom.xml | 29 +- .../httpclient/soap/SoapHttpConnector.java | 22 ++ .../soap/SoapHttpConnectorLogger.java | 28 ++ .../soap/SoapHttpConnectorProvider.java | 20 ++ .../httpclient/soap}/SoapHttpLogger.java | 8 +- .../httpclient/soap/SoapHttpRequest.java | 35 +++ .../httpclient/soap/SoapHttpResponse.java | 19 ++ .../soap/impl/SoapHttpConnectorImpl.java | 62 ++++ .../impl/SoapHttpConnectorProviderImpl.java | 29 ++ .../soap/impl/SoapHttpRequestImpl.java | 49 ++++ .../soap/impl/SoapHttpResponseImpl.java | 25 ++ .../org.camunda.connect.spi.ConnectorProvider | 1 + .../httpclient/SoapHttpConnectorTest.java | 52 ++++ .../soap/httpclient/SoapHttpRequestTest.java | 38 +++ .../src/test/resources/logback-test.xml | 11 + .../httpclient/HttpRequestInvocation.java | 46 --- .../soap/httpclient/SoapHttpConnector.java | 113 -------- .../httpclient/SoapHttpConnectorLogger.java | 35 --- .../soap/httpclient/SoapHttpRequest.java | 80 ----- .../soap/httpclient/SoapHttpResponse.java | 61 ---- .../src/main/resources/log4j.properties | 7 - .../soap/httpclient/SoapHttpClientTest.java | 99 ------- 94 files changed, 2995 insertions(+), 1626 deletions(-) create mode 100644 connect/bom/pom.xml delete mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnector.java delete mode 100644 connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java create mode 100644 connect/core/src/main/java/org/camunda/connect/ConnectCoreLogger.java rename connect/core/src/main/java/org/camunda/{bpm/connect/impl => connect}/ConnectLogger.java (92%) rename connect/core/src/main/java/org/camunda/{bpm => }/connect/ConnectorException.java (93%) rename connect/core/src/main/java/org/camunda/{bpm/connect/ConnectorCloseException.java => connect/ConnectorRequestException.java} (67%) create mode 100644 connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java create mode 100644 connect/core/src/main/java/org/camunda/connect/Connectors.java rename connect/core/src/main/java/org/camunda/{bpm => }/connect/impl/AbstractCloseableConnectorResponse.java (84%) create mode 100644 connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java rename connect/core/src/main/java/org/camunda/{bpm => }/connect/impl/AbstractConnectorRequest.java (82%) rename connect/core/src/main/java/org/camunda/{bpm => }/connect/impl/AbstractConnectorResponse.java (89%) rename connect/core/src/main/java/org/camunda/{bpm => }/connect/impl/AbstractRequestInvocation.java (79%) create mode 100644 connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java rename connect/core/src/main/java/org/camunda/{bpm/connect => connect/spi}/CloseableConnectorResponse.java (69%) rename connect/core/src/main/java/org/camunda/{bpm/connect => connect/spi}/Connector.java (57%) create mode 100644 connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java rename connect/core/src/main/java/org/camunda/{bpm/connect/interceptor => connect/spi}/ConnectorInvocation.java (82%) create mode 100644 connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java rename connect/core/src/main/java/org/camunda/{bpm/connect => connect/spi}/ConnectorRequest.java (88%) rename connect/core/src/main/java/org/camunda/{bpm/connect/interceptor/RequestInterceptor.java => connect/spi/ConnectorRequestInterceptor.java} (86%) rename connect/core/src/main/java/org/camunda/{bpm/connect => connect/spi}/ConnectorResponse.java (97%) create mode 100644 connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java create mode 100644 connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java create mode 100644 connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java create mode 100644 connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java create mode 100644 connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java create mode 100644 connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java create mode 100644 connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java create mode 100644 connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java create mode 100644 connect/core/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorConfigurator create mode 100644 connect/core/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider rename connect/{soap-httpclient => core}/src/test/resources/logback-test.xml (67%) create mode 100644 connect/docs/user-guide/http/index.md delete mode 100644 connect/docs/user-guide/rest/index.md create mode 100644 connect/docs/user-guide/soap/index.md rename connect/{rest-httpclient => http-client}/pom.xml (76%) create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java rename connect/{rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpLogger.java => http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java} (57%) create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorLogger.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpLogger.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java rename connect/{rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient => http-client/src/main/java/org/camunda/connect/httpclient/impl}/HttpRequestInvocation.java (58%) create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java create mode 100644 connect/http-client/src/main/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider create mode 100644 connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java create mode 100644 connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java create mode 100644 connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java create mode 100644 connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java create mode 100644 connect/http-client/src/test/resources/logback-test.xml delete mode 100644 connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java delete mode 100644 connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnectorLogger.java delete mode 100644 connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpRequest.java delete mode 100644 connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpResponse.java delete mode 100644 connect/rest-httpclient/src/main/resources/log4j.properties delete mode 100644 connect/rest-httpclient/src/test/java/RestHttpClientTest.java rename connect/{soap-httpclient => soap-http-client}/pom.xml (66%) create mode 100644 connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java create mode 100644 connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorLogger.java create mode 100644 connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java rename connect/{soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient => soap-http-client/src/main/java/org/camunda/connect/httpclient/soap}/SoapHttpLogger.java (86%) create mode 100644 connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java create mode 100644 connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java create mode 100644 connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java create mode 100644 connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java create mode 100644 connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java create mode 100644 connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java create mode 100644 connect/soap-http-client/src/main/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider create mode 100644 connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java create mode 100644 connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java create mode 100644 connect/soap-http-client/src/test/resources/logback-test.xml delete mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/HttpRequestInvocation.java delete mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java delete mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java delete mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java delete mode 100644 connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java delete mode 100644 connect/soap-httpclient/src/main/resources/log4j.properties delete mode 100644 connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java diff --git a/connect/.gitignore b/connect/.gitignore index d4e8132a12f..cd76ee4ae2c 100644 --- a/connect/.gitignore +++ b/connect/.gitignore @@ -12,7 +12,6 @@ nb-configuration.xml /webapps/fox-platform-tasklist/server-work dependency-reduced-pom.xml faces-config.NavData -dependency-reduced-pom.xml *.iml *.sublime-project *.sublime-workspace diff --git a/connect/README.md b/connect/README.md index 2f918053a3b..8bf70967987 100644 --- a/connect/README.md +++ b/connect/README.md @@ -14,24 +14,27 @@ Simple API for connecting HTTP Services and other things. # List of connectors -* SOAP Http Connector -* REST Http Connector +* HTTP Connector +* SOAP HTTP Connector # Using a Connector -camunda Connect API aims at two usage scenarios, usage in a generic system such as camunda BPM +camunda Connect API aims at two usage scenarios, usage in a generic system such as camunda BPM process engine and standalone usage via API. ## Standalone: Programmer friendly fluent API For standalone usage in Java or Scripting Languages, the connectors expose a fluent API: ```java -SoapHttpConnector soapConnector = new SoapHttpConnector(); +// use connectors provider +SoapHttpConnector soapConnector = Connectors.getConnector(SoapHttpConnector.ID); +// or instantiate a new connector +soapConnector = new SoapHttpConnector(); SoapHttpResponse response = soapConnector.createRequest() - .endpointUrl("https://examaple.com/api/soap/21.0/") + .url("https://examaple.com/api/soap/21.0/") .soapAction("Login") - .soapEnvelope(requestMessage) + .payload(requestMessage) .execute(); ``` @@ -46,13 +49,13 @@ SoapHttpConnector soapConnector = new SoapHttpConnector(); SoapHttpRequest request = soapConnector.createRequest(); // configure the request -request.setRequestParameter(PARAM_NAME_ENDPOINT_URL, "https://examaple.com/api/soap/21.0/"); +request.setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_URL, "https://examaple.com/api/soap/21.0/"); HashMap headers = new HashMap(); -headers.put("SOAPAction", "Login"); -request.setRequestParameter(PARAM_NAME_HEADERS, headers); -request.setRequestParameter(PARAM_NAME_SOAP_ENVELOPE, requestMessage); +headers.put(SoapHttpRequest.HEADER_SOAP_ACTION, "Login"); +request.setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_HEADERS, headers); +request.setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_PAYLOAD, requestMessage); -// execure the request +// execute the request SoapHttpResponse response = request.execute(); ``` @@ -62,5 +65,9 @@ The sources of the documentation are located in the [docs folder](docs/index.md) # Contributing -camunda Connect is licensed under the Apache 2.0 License. Check [CONTRIBUTING.md](CONTRIBUTING.md) +camunda Connect is licensed under the Apache 2.0 License. Check [CONTRIBUTING.md][] for guidelines about how to contribute. + + + +[CONTRIBUTING.md]: https://github.com/camunda/camunda-bpm-platform/blob/master/CONTRIBUTING.md diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml new file mode 100644 index 00000000000..abb63b24f6b --- /dev/null +++ b/connect/bom/pom.xml @@ -0,0 +1,55 @@ + + 4.0.0 + + + org.camunda + camunda-release-parent + 2.5 + + + + + org.camunda.connect + camunda-connect-bom + 1.0.0-SNAPSHOT + camunda BPM - connect - bom + pom + + + + + + org.camunda.connect + camunda-connect-core + ${project.version} + + + + org.camunda.connect + camunda-connect-all + ${project.version} + + + + org.camunda.connect + camunda-connect-http-client + ${project.version} + + + + org.camunda.connect + camunda-connect-soap-http-client + ${project.version} + + + + + + + https://github.com/camunda/camunda-connect + scm:git:git@github.com:camunda/camunda-connect.git + scm:git:git@github.com:camunda/camunda-connect.git + HEAD + + + diff --git a/connect/core/pom.xml b/connect/core/pom.xml index cb8dd76cf39..83db6758e2c 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -17,6 +17,29 @@ camunda-commons-logging + + org.camunda.commons + camunda-commons-utils + + + + junit + junit + test + + + + org.assertj + assertj-core + test + + + + ch.qos.logback + logback-classic + test + + diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnector.java b/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnector.java deleted file mode 100644 index 0979f8aa57e..00000000000 --- a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnector.java +++ /dev/null @@ -1,54 +0,0 @@ -/* Licensed 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.camunda.bpm.connect.impl; - -import java.util.LinkedList; -import java.util.List; - -import org.camunda.bpm.connect.Connector; -import org.camunda.bpm.connect.ConnectorRequest; -import org.camunda.bpm.connect.ConnectorResponse; -import org.camunda.bpm.connect.interceptor.RequestInterceptor; - -/** - * Abstract implementation of the connector interface. - * - * This implementation provides a linked list of interceptors and related methods for - * handling interceptor invocation. - * - * @author Daniel Meyer - * - */ -public abstract class AbstractConnector, R extends ConnectorResponse> implements Connector { - - /** - * The {@link RequestInterceptor} chain - */ - protected List requestInterceptors = new LinkedList(); - - public List getRequestInterceptors() { - return requestInterceptors; - } - - public void addRequestInterceptor(RequestInterceptor interceptor) { - requestInterceptors.add(interceptor); - } - - /** - * Execute the request on the connector. - * @param request the request - * @return the result. - */ - public abstract R execute(T request); - -} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java b/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java deleted file mode 100644 index d77bb1b99a6..00000000000 --- a/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectCoreLogger.java +++ /dev/null @@ -1,35 +0,0 @@ -/* Licensed 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.camunda.bpm.connect.impl; - -import org.camunda.bpm.connect.ConnectorCloseException; - -/** - * @author Daniel Meyer - * - */ -public class ConnectCoreLogger extends ConnectLogger { - - public void closingResponse(AbstractCloseableConnectorResponse response) { - logDebug("001", "Closing closeable connector response '{}'", response); - } - - public void successfullyClosedResponse(AbstractCloseableConnectorResponse response) { - logDebug("002", "Successfully closed closeable connector response '{}'", response); - } - - public ConnectorCloseException exceptionWhileClosingResponse(Exception cause) { - return new ConnectorCloseException(exceptionMessage("003", "Unable to close response"), cause); - } - -} diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectCoreLogger.java b/connect/core/src/main/java/org/camunda/connect/ConnectCoreLogger.java new file mode 100644 index 00000000000..4046b5fa48b --- /dev/null +++ b/connect/core/src/main/java/org/camunda/connect/ConnectCoreLogger.java @@ -0,0 +1,52 @@ +/* Licensed 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.camunda.connect; + +import org.camunda.connect.spi.CloseableConnectorResponse; +import org.camunda.connect.spi.Connector; +import org.camunda.connect.spi.ConnectorConfigurator; +import org.camunda.connect.spi.ConnectorProvider; + +public class ConnectCoreLogger extends ConnectLogger { + + public void closingResponse(CloseableConnectorResponse response) { + logDebug("001", "Closing closeable connector response '{}'", response); + } + + public void successfullyClosedResponse(CloseableConnectorResponse response) { + logDebug("002", "Successfully closed closeable connector response '{}'", response); + } + + public ConnectorException exceptionWhileClosingResponse(Exception cause) { + return new ConnectorException(exceptionMessage("003", "Unable to close response"), cause); + } + + public void connectorProviderDiscovered(ConnectorProvider provider, String connectorId, Connector connectorInstance) { + if (isInfoEnabled()) { + logInfo("004", "Discovered provider for connector id '{}' and class '{}': '{}'", + connectorId, connectorInstance.getClass().getName(), provider.getClass().getName()); + } + } + + public ConnectorException multipleConnectorProvidersFound(String connectorId) { + return new ConnectorException(exceptionMessage("005", "Multiple providers found for connector '{}'", connectorId)); + } + + public void connectorConfiguratorDiscovered(ConnectorConfigurator configurator) { + if (isInfoEnabled()) { + logInfo("006", "Discovered configurator for connector class '{}': '{}'", + configurator.getConnectorClass().getName(), configurator.getClass().getName()); + } + } + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectLogger.java b/connect/core/src/main/java/org/camunda/connect/ConnectLogger.java similarity index 92% rename from connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectLogger.java rename to connect/core/src/main/java/org/camunda/connect/ConnectLogger.java index 267ba1a120f..eae9e2f119b 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/impl/ConnectLogger.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectLogger.java @@ -10,14 +10,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.camunda.bpm.connect.impl; +package org.camunda.connect; import org.camunda.commons.logging.BaseLogger; -/** - * @author Daniel Meyer - * - */ public abstract class ConnectLogger extends BaseLogger { public static final String PROJECT_CODE = "CNCT"; diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorException.java similarity index 93% rename from connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java rename to connect/core/src/main/java/org/camunda/connect/ConnectorException.java index bf3c33c6ada..6567d862911 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorException.java @@ -10,13 +10,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.camunda.bpm.connect; +package org.camunda.connect; /** * Base class for all connector exceptions - * - * @author Daniel Meyer - * */ public class ConnectorException extends RuntimeException { diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorCloseException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java similarity index 67% rename from connect/core/src/main/java/org/camunda/bpm/connect/ConnectorCloseException.java rename to connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java index 2639b4a2e5b..9ed37ffbaca 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorCloseException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java @@ -11,20 +11,19 @@ * limitations under the License. */ -package org.camunda.bpm.connect; +package org.camunda.connect; /** - * Indicates an error during the closing of a connector. - * - * @author Sebastian Menski + * Indicates an error during the request of a connector. */ -public class ConnectorCloseException extends ConnectorException { +public class ConnectorRequestException extends ConnectorException { - public ConnectorCloseException(String message) { + public ConnectorRequestException(String message) { super(message); } - public ConnectorCloseException(String message, Throwable cause) { + public ConnectorRequestException(String message, Throwable cause) { super(message, cause); } + } diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java new file mode 100644 index 00000000000..3d62f47896c --- /dev/null +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java @@ -0,0 +1,29 @@ +/* Licensed 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.camunda.connect; + +/** + * Indicates an error during the response of a connector. + */ +public class ConnectorResponseException extends ConnectorException { + + public ConnectorResponseException(String message) { + super(message); + } + + public ConnectorResponseException(String message, Throwable cause) { + super(message, cause); + } + +} diff --git a/connect/core/src/main/java/org/camunda/connect/Connectors.java b/connect/core/src/main/java/org/camunda/connect/Connectors.java new file mode 100644 index 00000000000..c068f2e62fb --- /dev/null +++ b/connect/core/src/main/java/org/camunda/connect/Connectors.java @@ -0,0 +1,160 @@ +/* Licensed 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.camunda.connect; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.ServiceLoader; +import java.util.Set; + +import org.camunda.connect.spi.Connector; +import org.camunda.connect.spi.ConnectorConfigurator; +import org.camunda.connect.spi.ConnectorProvider; + +/** + * Provides access to all available connectors. + */ +public class Connectors { + + protected static ConnectCoreLogger LOG = ConnectLogger.CORE_LOGGER; + + public static String HTTP_CONNECTOR_ID = "http-connector"; + public static String SOAP_HTTP_CONNECTOR_ID = "soap-http-connector"; + + /** The global instance of the manager */ + static Connectors INSTANCE = new Connectors(); + + /** + * Provides the global instance of the Connectors manager. + * @return the global instance + */ + public static Connectors getInstance() { + return INSTANCE; + } + + /** + * @return the connector for the default http connector id or null if + * no connector is registered for this id + */ + @SuppressWarnings("unchecked") + public static C http() { + return (C) INSTANCE.getConnectorById(HTTP_CONNECTOR_ID); + } + + /** + * @return the connector for the default soap http connector id or null + * if no connector is registered for this id + */ + @SuppressWarnings("unchecked") + public static C soap() { + return (C) INSTANCE.getConnectorById(SOAP_HTTP_CONNECTOR_ID); + } + + /** + * @return the connector for the given id or null if no connector is + * registered for this id + */ + @SuppressWarnings("unchecked") + public static C getConnector(String connectorId) { + return (C) INSTANCE.getConnectorById(connectorId); + } + + // instance ////////////////////////////////////////////////////////// + + protected Map availableConnectors; + + /** + * @return all register connectors + */ + public Set getAvailableConnectors() { + ensureConnectorProvidersInitialized(); + return new HashSet(availableConnectors.values()); + } + + /** + * @return the connector for the given id or null if no connector is + * registered for this id + */ + @SuppressWarnings("unchecked") + public C getConnectorById(String connectorId) { + ensureConnectorProvidersInitialized(); + return (C) availableConnectors.get(connectorId); + } + + /** + * Detect all available connectors in the classpath using a {@link ServiceLoader}. + */ + protected void ensureConnectorProvidersInitialized() { + if (availableConnectors == null) { + synchronized (Connectors.class) { + if (availableConnectors == null) { + initializeConnectors(); + } + } + } + } + + protected void initializeConnectors() { + Map connectors = new HashMap(); + + // discover available custom connector providers on the classpath + registerConnectors(connectors); + + // discover and apply connector configurators on the classpath + applyConfigurators(connectors); + + this.availableConnectors = connectors; + + } + + protected void registerConnectors(Map connectors) { + ServiceLoader providers = ServiceLoader.load(ConnectorProvider.class, Connectors.class.getClassLoader()); + + for (ConnectorProvider provider : providers) { + registerProvider(connectors, provider); + } + } + + protected void registerProvider(Map connectors, ConnectorProvider provider) { + String connectorId = provider.getConnectorId(); + if (connectors.containsKey(connectorId)) { + throw LOG.multipleConnectorProvidersFound(connectorId); + } + else { + Connector connectorInstance = provider.createConnectorInstance(); + LOG.connectorProviderDiscovered(provider, connectorId, connectorInstance); + connectors.put(connectorId, connectorInstance); + } + } + + protected void applyConfigurators(Map connectors) { + ServiceLoader configurators = ServiceLoader.load(ConnectorConfigurator.class, Connectors.class.getClassLoader()); + + for (ConnectorConfigurator configurator : configurators) { + LOG.connectorConfiguratorDiscovered(configurator); + applyConfigurator(connectors, configurator); + } + } + + @SuppressWarnings({ "rawtypes", "unchecked" }) + protected void applyConfigurator(Map connectors, ConnectorConfigurator configurator) { + for (Connector connector : connectors.values()) { + if (configurator.getConnectorClass().isAssignableFrom(connector.getClass())) { + configurator.configure(connector); + } + } + } + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractCloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java similarity index 84% rename from connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractCloseableConnectorResponse.java rename to connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java index f8bf7aa3ff9..c21d009b354 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractCloseableConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java @@ -10,15 +10,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.camunda.bpm.connect.impl; +package org.camunda.connect.impl; import java.io.Closeable; import java.io.IOException; -import org.camunda.bpm.connect.CloseableConnectorResponse; +import org.camunda.connect.ConnectCoreLogger; +import org.camunda.connect.ConnectLogger; +import org.camunda.connect.spi.CloseableConnectorResponse; /** - * This class is a baseclass for implementing closeable connector responses + * This class is a base class for implementing closeable connector responses * based on {@link Closeable}. * * @author Daniel Meyer diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java new file mode 100644 index 00000000000..094d0c9151a --- /dev/null +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java @@ -0,0 +1,68 @@ +/* Licensed 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.camunda.connect.impl; + +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; + +import org.camunda.connect.spi.Connector; +import org.camunda.connect.spi.ConnectorRequest; +import org.camunda.connect.spi.ConnectorResponse; +import org.camunda.connect.spi.ConnectorRequestInterceptor; + +/** + * Abstract implementation of the connector interface. + * + * This implementation provides a linked list of interceptors and related methods for + * handling interceptor invocation. + * + * @author Daniel Meyer + * + */ +public abstract class AbstractConnector, R extends ConnectorResponse> implements Connector { + + protected String connectorId; + + /** + * The {@link ConnectorRequestInterceptor} chain + */ + protected List requestInterceptors = new LinkedList(); + + public AbstractConnector(String connectorId) { + this.connectorId = connectorId; + } + + public String getId() { + return connectorId; + } + + public List getRequestInterceptors() { + return requestInterceptors; + } + + public void setRequestInterceptors(List requestInterceptors) { + this.requestInterceptors = requestInterceptors; + } + + public Connector addRequestInterceptor(ConnectorRequestInterceptor interceptor) { + requestInterceptors.add(interceptor); + return this; + } + + public Connector addRequestInterceptors(Collection interceptors) { + requestInterceptors.addAll(interceptors); + return this; + } + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorRequest.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java similarity index 82% rename from connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorRequest.java rename to connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java index a02c2f08932..8de1b2f257d 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorRequest.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java @@ -10,14 +10,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.camunda.bpm.connect.impl; +package org.camunda.connect.impl; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; -import org.camunda.bpm.connect.ConnectorRequest; -import org.camunda.bpm.connect.ConnectorResponse; +import org.camunda.connect.spi.Connector; +import org.camunda.connect.spi.ConnectorRequest; +import org.camunda.connect.spi.ConnectorResponse; /** * @author Daniel Meyer @@ -25,20 +26,20 @@ */ public abstract class AbstractConnectorRequest implements ConnectorRequest { - protected AbstractConnector,R> connector; + protected Connector connector; protected Map requestParameters = new HashMap(); - @SuppressWarnings({ "rawtypes", "unchecked" }) - public AbstractConnectorRequest(AbstractConnector connector) { + public AbstractConnectorRequest(Connector connector) { this.connector = connector; } + @SuppressWarnings("unchecked") public R execute() { if(!isRequestValid()) { - throw new RuntimeException(); + throw new RuntimeException("The request is invalid"); } - return connector.execute(this); + return (R) connector.execute(this); } /** diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java similarity index 89% rename from connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorResponse.java rename to connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java index a12fc439002..98c4313161d 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java @@ -10,12 +10,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.camunda.bpm.connect.impl; +package org.camunda.connect.impl; import java.util.HashMap; import java.util.Map; -import org.camunda.bpm.connect.ConnectorResponse; +import org.camunda.connect.spi.ConnectorResponse; /** * @author Daniel Meyer @@ -40,7 +40,7 @@ public V getResponseParameter(String name) { /** * To be implemented by subclasses for collecting the generic response parameters of a response. - * @param responseParameters + * @param responseParameters a map to save the response parameters in */ protected abstract void collectResponseParameters(Map responseParameters); diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractRequestInvocation.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java similarity index 79% rename from connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractRequestInvocation.java rename to connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java index aacc47df1be..303e3f15556 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/impl/AbstractRequestInvocation.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java @@ -10,17 +10,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.camunda.bpm.connect.impl; +package org.camunda.connect.impl; import java.util.List; -import org.camunda.bpm.connect.ConnectorRequest; -import org.camunda.bpm.connect.interceptor.ConnectorInvocation; -import org.camunda.bpm.connect.interceptor.RequestInterceptor; +import org.camunda.connect.spi.ConnectorRequest; +import org.camunda.connect.spi.ConnectorInvocation; +import org.camunda.connect.spi.ConnectorRequestInterceptor; /** * A simple invocation implementation routing a request through a chain of interceptors. - * Implementors must implement the {@link #invokeTarget()} method in order to implement + * Implementations must implement the {@link #invokeTarget()} method in order to implement * the actual request execution / target invocation. * * @author Daniel Meyer @@ -32,11 +32,11 @@ public abstract class AbstractRequestInvocation implements ConnectorInvocatio protected int currentIndex; - protected List interceptorChain; + protected List interceptorChain; protected ConnectorRequest request; - public AbstractRequestInvocation(T target, ConnectorRequest request, List interceptorChain) { + public AbstractRequestInvocation(T target, ConnectorRequest request, List interceptorChain) { this.target = target; this.request = request; this.interceptorChain = interceptorChain; diff --git a/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java b/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java new file mode 100644 index 00000000000..8d7d9e54577 --- /dev/null +++ b/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java @@ -0,0 +1,93 @@ +/* Licensed 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.camunda.connect.impl; + +import org.camunda.connect.spi.ConnectorInvocation; +import org.camunda.connect.spi.ConnectorRequestInterceptor; +import org.camunda.connect.spi.ConnectorRequest; + +/** + *

+ * A dummy debug connector, which saves the {@link ConnectorRequest} ({@link #getRequest()}) + * and the raw request ({@link #getTarget()}) for debugging purpose. + *

+ * + *

+ * The boolean constructor flag determines whether the request invocation should be continued + * or aborted after this interceptor. Also it is possible to add a response object which + * will returned without further passing the interceptor chain; + *

+ * + * @author Sebastian Menski + */ +public class DebugRequestInterceptor implements ConnectorRequestInterceptor { + + protected Object response; + protected boolean proceed; + + private ConnectorRequest request; + private Object target; + + public DebugRequestInterceptor() { + this(true); + } + + public DebugRequestInterceptor(boolean proceed) { + this.proceed = proceed; + } + + public DebugRequestInterceptor(Object response) { + this.response = response; + this.proceed = false; + } + + public Object handleInvocation(ConnectorInvocation invocation) throws Exception { + request = invocation.getRequest(); + target = invocation.getTarget(); + if (proceed) { + return invocation.proceed(); + } + else { + return response; + } + } + + public void setProceed(boolean proceed) { + this.proceed = proceed; + } + + public boolean isProceed() { + return proceed; + } + + public void setResponse(Object response) { + this.response = response; + } + + @SuppressWarnings("unchecked") + public T getResponse() { + return (T) response; + } + + @SuppressWarnings("unchecked") + public T getRequest() { + return (T) request; + } + + @SuppressWarnings("unchecked") + public T getTarget() { + return (T) target; + } + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/CloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java similarity index 69% rename from connect/core/src/main/java/org/camunda/bpm/connect/CloseableConnectorResponse.java rename to connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java index c0590be8ec6..38cdcc6b57a 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/CloseableConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java @@ -10,13 +10,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.camunda.bpm.connect; +package org.camunda.connect.spi; /** - *

A connector response which represents an open resource (link to open resource) - * which must be closed. Consumers of this API are responsible to close the request. - * A generic connector consumer (such as the camunda process engine) should check - * whether

+ *

+ * A connector response which represents an open resource (link to open resource) + * which must be closed. Consumers of this API are responsible to close the request. + *

* * @author Daniel Meyer * diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/Connector.java b/connect/core/src/main/java/org/camunda/connect/spi/Connector.java similarity index 57% rename from connect/core/src/main/java/org/camunda/bpm/connect/Connector.java rename to connect/core/src/main/java/org/camunda/connect/spi/Connector.java index a15a78f3bb0..6c30df956ec 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/Connector.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/Connector.java @@ -10,12 +10,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.camunda.bpm.connect; +package org.camunda.connect.spi; +import java.util.Collection; import java.util.List; -import org.camunda.bpm.connect.interceptor.RequestInterceptor; - /** *

A connector represents a way to interact with some system, library or technology. * Examples of connectors are connectors for HTTP interaction, a connector to a @@ -23,7 +22,7 @@ * *

Once an instance of a connector is created, it is thread-safe, meaning that single * connector instance my be used by multiple threads concurrently. Each thread will create - * new {@link ConnectorRequest Requests} which are not threadsafe and must not be shared + * new {@link ConnectorRequest Requests} which are not thread-safe and must not be shared * among multiple threads.

* *

Connectors support interceptors. Interceptors may be used for customizing connector @@ -32,7 +31,7 @@ * @author Daniel Meyer * */ -public interface Connector> { +public interface Connector> { /** * The unique Id for the connector. @@ -46,23 +45,42 @@ public interface Connector> { * * @return the connector-specific request object. */ - T createRequest(); + Q createRequest(); /** - * Adds a {@link RequestInterceptor} to this connector. The interceptor is added + * Returns the {@link ConnectorRequestInterceptor} chain for this connector. + * The implementation will return the actual list, modifications on the list will + * be reflected in the internal connector state. This means that you can use the + * returned list to modify the connector's {@link ConnectorRequestInterceptor} chain. + * + * @return the list of interceptors. + */ + List getRequestInterceptors(); + + /** + * Sets the {@link ConnectorRequestInterceptor}s of this connector. The interceptors + * are invoked for all requests created by the connector. + */ + void setRequestInterceptors(List requestInterceptors); + + /** + * Adds a {@link ConnectorRequestInterceptor} to this connector. The interceptor is added * at the end of the interceptor chain. The interceptor is invoked for all requests * created by the connector. */ - void addRequestInterceptor(RequestInterceptor interceptor); + Connector addRequestInterceptor(ConnectorRequestInterceptor interceptor); /** - * Returns the {@link RequestInterceptor} chain for this connector. - * The implementation will return the actual list, modifications on the list will - * be reflected in the internal connector state. This means that you can use the - * returned list to modify the connector's {@link RequestInterceptor} chain. - * - * @return the list of interceptors. + * Adds a collection of {@link ConnectorRequestInterceptor} to this connector. The interceptors + * are added at the end of the interceptor chain. The interceptor is invoked for all + * requests created by the connector. */ - List getRequestInterceptors(); + Connector addRequestInterceptors(Collection interceptors); + /** + * Execute the request on the connector. + * @param request the request + * @return the result. + */ + ConnectorResponse execute(Q request); } diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java new file mode 100644 index 00000000000..e0504354cae --- /dev/null +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java @@ -0,0 +1,38 @@ +/* Licensed 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.camunda.connect.spi; + +/** + * Can be used to configure connectors of a certain type. + * An implementation will be supplied with all discovered + * connectors of the specified class. {@link Connector#getId()} + * may be used for further restrict configuration to connectors + * with a specific id. + */ +public interface ConnectorConfigurator { + + /** + * @return the class of connectors this configurator can configure (including subclasses) + */ + Class getConnectorClass(); + + /** + * Configures the connector instance. This method is invoked with + * all connectors of the specified class. + * + * @param connector the connector instance to configure + */ + void configure(C connector); + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/interceptor/ConnectorInvocation.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java similarity index 82% rename from connect/core/src/main/java/org/camunda/bpm/connect/interceptor/ConnectorInvocation.java rename to connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java index 3c00af2943a..d915e570751 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/interceptor/ConnectorInvocation.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java @@ -10,14 +10,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.camunda.bpm.connect.interceptor; - -import org.camunda.bpm.connect.ConnectorRequest; +package org.camunda.connect.spi; /** * Represents a request invocation / request execution. * - * @see RequestInterceptor#handleInvocation(ConnectorInvocation) + * @see ConnectorRequestInterceptor#handleInvocation(ConnectorInvocation) * * @author Daniel Meyer * @@ -40,12 +38,12 @@ public interface ConnectorInvocation { * * @return the connector request */ - public ConnectorRequest getRequest(); + public ConnectorRequest getRequest(); /** * Makes the request proceed through the interceptor chain. - * {@link RequestInterceptor} implementations are responsible for - * calling {@link #proceed()} on the invocation. + * {@link ConnectorRequestInterceptor} implementations are responsible for + * calling this method on the invocation. * * @return the result of the invocation. * @throws Exception diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java new file mode 100644 index 00000000000..80a09826609 --- /dev/null +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java @@ -0,0 +1,27 @@ +/* Licensed 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.camunda.connect.spi; + +/** + * Provides a {@link Connector} with a unique id. + */ +public interface ConnectorProvider { + + /** Returns the unique id of the connector created by this factory. */ + String getConnectorId(); + + /** Create a new instance of the connector created by this factory. */ + Connector createConnectorInstance(); + +} diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorRequest.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java similarity index 88% rename from connect/core/src/main/java/org/camunda/bpm/connect/ConnectorRequest.java rename to connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java index 8bcf453ce4b..500fdec30f8 100644 --- a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorRequest.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java @@ -10,13 +10,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.camunda.bpm.connect; +package org.camunda.connect.spi; import java.util.Map; /** *

A connector request. The request opens an interaction with the connector. - * Because a request represents a single interaction, the request is not threadsafe. + * Because a request represents a single interaction, the request is not thread-safe. * Request objects should not be shared between multiple threads.

* *

The parameters of a request can be provided using the generic map of input @@ -32,10 +32,10 @@ *

* *

Optionally, a connector may also extend the request interface and provide - * dedicated (typesafe) methods for configuring a request, preferably in a + * dedicated (type-safe) methods for configuring a request, preferably in a * fluent API fashion: *

- *  conntector.createRequest()
+ *  connector.createRequest()
  *    .endpointUrl("http://mysystem.loc/foo")
  *    .payload("some important payload")
  *    .execute();
@@ -49,12 +49,12 @@
  * @author Daniel Meyer
  *
  */
-public interface ConnectorRequest {
+public interface ConnectorRequest {
 
   /**
    * Provides the named input parameters of the request.
    *
-   * @param the named input parameters of the request.
+   * @param params the named input parameters of the request.
    */
   void setRequestParameters(Map params);
 
@@ -73,7 +73,7 @@ public interface ConnectorRequest {
 
   /**
    * Returns the value of a request parameter
-   * @param the name of the request parameter
+   * @param name the name of the request parameter
    * @return the value of the request parameter of 'null' if the parameter is not set.
    */
    V getRequestParameter(String name);
@@ -84,6 +84,6 @@ public interface ConnectorRequest {
    *
    * @return the return value of the request.
    */
-  T execute();
+  R execute();
 
 }
diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/interceptor/RequestInterceptor.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java
similarity index 86%
rename from connect/core/src/main/java/org/camunda/bpm/connect/interceptor/RequestInterceptor.java
rename to connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java
index 53afc06467c..647eed35e48 100644
--- a/connect/core/src/main/java/org/camunda/bpm/connect/interceptor/RequestInterceptor.java
+++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java
@@ -10,19 +10,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.camunda.bpm.connect.interceptor;
+package org.camunda.connect.spi;
 
 /**
  * 

A request interceptor. An interceptor allows intercepting the request created by a connector. * See {@link #handleInvocation(ConnectorInvocation)} for more details and usage patters.

* *

The interceptor is invoked for every request created by a connector. As such, an - * interceptor implementation must be threadsafe.

+ * interceptor implementation must be thread-safe.

* * @author Daniel Meyer * */ -public interface RequestInterceptor { +public interface ConnectorRequestInterceptor { /** *

Intercept and handle the actual invocation. An implementation of this method *must* @@ -42,7 +42,7 @@ public interface RequestInterceptor { * } *

* - *

This may be useful for "management" usecases such as logging, failure tracking etc... and + *

This may be useful for "management" use cases such as logging, failure tracking etc... and * modifying the Thread context of the request thread (Security Context, Transactions, ...).

* *

It is also possible for an implementation to access and modify the low level "raw" request @@ -50,7 +50,7 @@ public interface RequestInterceptor { *

    *  public Object handleInvocation(ConnectorInvocation invocation) throws Exception {
    *    Object rawRequest = invocation.getTarget();
-   *    // cast rawRequest to the low-level connector implementation obejct and work with it.
+   *    // cast rawRequest to the low-level connector implementation object and work with it.
    *
    *    // finally
    *    return invocation.proceed();
@@ -61,6 +61,6 @@ public interface RequestInterceptor {
    * @return the result of the invocation
    * @throws Exception
    */
-  public Object handleInvocation(ConnectorInvocation invocation) throws Exception;
+  Object handleInvocation(ConnectorInvocation invocation) throws Exception;
 
 }
diff --git a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java
similarity index 97%
rename from connect/core/src/main/java/org/camunda/bpm/connect/ConnectorResponse.java
rename to connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java
index a5b0e0eefad..e4bce1b888a 100644
--- a/connect/core/src/main/java/org/camunda/bpm/connect/ConnectorResponse.java
+++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java
@@ -10,7 +10,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.camunda.bpm.connect;
+package org.camunda.connect.spi;
 
 import java.util.Map;
 
diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java
new file mode 100644
index 00000000000..065c7583c89
--- /dev/null
+++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java
@@ -0,0 +1,49 @@
+/* Licensed 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.camunda.connect.dummy;
+
+import org.camunda.connect.impl.AbstractConnector;
+import org.camunda.connect.spi.ConnectorResponse;
+
+public class DummyConnector extends AbstractConnector {
+
+  public static final String ID = "dummy-connector";
+
+  protected String configuration = "default";
+
+  public DummyConnector() {
+    super(ID);
+  }
+
+  public DummyConnector(String connectorId) {
+    super(connectorId);
+  }
+
+  public DummyRequest createRequest() {
+    return new DummyRequest(this);
+  }
+
+  public ConnectorResponse execute(DummyRequest request) {
+    return new DummyResponse();
+  }
+
+  public String getConfiguration() {
+    return configuration;
+  }
+
+  public void setConfiguration(String configuration) {
+    this.configuration = configuration;
+  }
+
+}
diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java
new file mode 100644
index 00000000000..bbb8e2186c3
--- /dev/null
+++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java
@@ -0,0 +1,27 @@
+/* Licensed 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.camunda.connect.dummy;
+
+import org.camunda.connect.spi.ConnectorConfigurator;
+
+public class DummyConnectorConfigurator implements ConnectorConfigurator {
+
+  public Class getConnectorClass() {
+    return DummyConnector.class;
+  }
+
+  public void configure(DummyConnector connector) {
+    connector.setConfiguration("configured");
+  }
+}
diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java
new file mode 100644
index 00000000000..231476774a9
--- /dev/null
+++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java
@@ -0,0 +1,28 @@
+/* Licensed 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.camunda.connect.dummy;
+
+import org.camunda.connect.spi.ConnectorProvider;
+
+public class DummyConnectorProvider implements ConnectorProvider {
+
+  public String getConnectorId() {
+    return DummyConnector.ID;
+  }
+
+  public DummyConnector createConnectorInstance() {
+    return new DummyConnector(DummyConnector.ID);
+  }
+
+}
diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java
new file mode 100644
index 00000000000..8b4f45237d2
--- /dev/null
+++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java
@@ -0,0 +1,25 @@
+/* Licensed 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.camunda.connect.dummy;
+
+import org.camunda.connect.impl.AbstractConnectorRequest;
+import org.camunda.connect.spi.Connector;
+
+public class DummyRequest extends AbstractConnectorRequest {
+
+  public DummyRequest(Connector connector) {
+    super(connector);
+  }
+
+}
diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java
new file mode 100644
index 00000000000..5c48a1ea0c7
--- /dev/null
+++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java
@@ -0,0 +1,26 @@
+/* Licensed 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.camunda.connect.dummy;
+
+import java.util.Map;
+
+import org.camunda.connect.impl.AbstractConnectorResponse;
+
+public class DummyResponse extends AbstractConnectorResponse {
+
+  protected void collectResponseParameters(Map responseParameters) {
+    // do noting
+  }
+
+}
diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java
new file mode 100644
index 00000000000..c2380000e44
--- /dev/null
+++ b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java
@@ -0,0 +1,32 @@
+/* Licensed 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.camunda.connect.dummy;
+
+import org.camunda.connect.impl.AbstractConnector;
+import org.camunda.connect.spi.ConnectorResponse;
+
+public class MyHttpConnector extends AbstractConnector {
+
+  public MyHttpConnector(String connectorId) {
+    super(connectorId);
+  }
+
+  public DummyRequest createRequest() {
+    return new DummyRequest(this);
+  }
+
+  public ConnectorResponse execute(DummyRequest request) {
+    return null;
+  }
+}
diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java
new file mode 100644
index 00000000000..49ffa2b3a83
--- /dev/null
+++ b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java
@@ -0,0 +1,30 @@
+/* Licensed 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.camunda.connect.dummy;
+
+import org.camunda.connect.Connectors;
+import org.camunda.connect.spi.Connector;
+import org.camunda.connect.spi.ConnectorProvider;
+
+public class MyHttpConnectorProvider implements ConnectorProvider {
+
+  public String getConnectorId() {
+    return Connectors.HTTP_CONNECTOR_ID;
+  }
+
+  public Connector createConnectorInstance() {
+    return new MyHttpConnector(Connectors.HTTP_CONNECTOR_ID);
+  }
+
+}
diff --git a/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java b/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java
new file mode 100644
index 00000000000..e9cd1b03ae2
--- /dev/null
+++ b/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java
@@ -0,0 +1,61 @@
+/* Licensed 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.camunda.connect.spi;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.camunda.connect.Connectors;
+import org.camunda.connect.dummy.DummyConnector;
+import org.junit.Test;
+
+public class ConnectorsTest {
+
+  @Test
+  public void shouldReturnNullForUnknownConnectorId() {
+    Connector unknown = Connectors.getConnector("unknown");
+    assertThat(unknown).isNull();
+  }
+
+  @Test
+  public void shouldMyHttpConnector() {
+    Connector http = Connectors.http();
+    assertThat(http).isNotNull();
+  }
+
+  @Test
+  public void shouldNotDiscoverSoapConnector() {
+    Connector soap = Connectors.soap();
+    assertThat(soap).isNull();
+  }
+
+  @Test
+  public void shouldDiscoverDummyConnector() {
+    DummyConnector connector = Connectors.getConnector(DummyConnector.ID);
+    assertThat(connector).isNotNull();
+
+    assertThat(Connectors.getInstance().getAvailableConnectors())
+      .hasSize(2)
+      .contains(connector);
+  }
+
+  @Test
+  public void shouldConfigureDummyConnector() {
+    DummyConnector connector = new DummyConnector();
+    assertThat(connector.getConfiguration()).isEqualTo("default");
+
+    connector = Connectors.getConnector(DummyConnector.ID);
+    assertThat(connector.getConfiguration()).isEqualTo("configured");
+  }
+
+}
diff --git a/connect/core/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorConfigurator b/connect/core/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorConfigurator
new file mode 100644
index 00000000000..da68553a502
--- /dev/null
+++ b/connect/core/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorConfigurator
@@ -0,0 +1 @@
+org.camunda.connect.dummy.DummyConnectorConfigurator
diff --git a/connect/core/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider b/connect/core/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
new file mode 100644
index 00000000000..b5cfa519963
--- /dev/null
+++ b/connect/core/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
@@ -0,0 +1,2 @@
+org.camunda.connect.dummy.DummyConnectorProvider
+org.camunda.connect.dummy.MyHttpConnectorProvider
diff --git a/connect/soap-httpclient/src/test/resources/logback-test.xml b/connect/core/src/test/resources/logback-test.xml
similarity index 67%
rename from connect/soap-httpclient/src/test/resources/logback-test.xml
rename to connect/core/src/test/resources/logback-test.xml
index 650a86c01c0..c8e6e5ee06a 100644
--- a/connect/soap-httpclient/src/test/resources/logback-test.xml
+++ b/connect/core/src/test/resources/logback-test.xml
@@ -1,11 +1,11 @@
 
-  
+  
     
       %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
     
   
 
   
-    
+    
   
 
diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml
index 9f5da550efb..eb1c51f7370 100644
--- a/connect/dist/pom.xml
+++ b/connect/dist/pom.xml
@@ -14,14 +14,12 @@
 
     
       org.camunda.connect
-      camunda-connect-soap-httpclient
-      ${project.version}
+      camunda-connect-http-client
     
 
     
       org.camunda.connect
-      camunda-connect-rest-httpclient
-      ${project.version}
+      camunda-connect-soap-http-client
     
   
 
@@ -53,6 +51,9 @@
                   connectjar.org.apache
                 
               
+              
+                
+              
             
           
         
@@ -76,9 +77,7 @@
             
               !connectjar*,
               javax.*;resolution:=optional,
-              org.apache.log*;resolution:=optional,
-              org.apache.log4j*;resolution:=optional,
-              *
+              org.camunda.commons.logging
             
             .
             *;inline=true
diff --git a/connect/docs/index.md b/connect/docs/index.md
index cd04b8d5312..555c2744d89 100644
--- a/connect/docs/index.md
+++ b/connect/docs/index.md
@@ -2,5 +2,4 @@
 
 Welcome to the camunda Connect documentation
 
-* [Get Started using Connect](get-started/index.md)
 * [User Guide](user-guide/index.md)
diff --git a/connect/docs/user-guide/http/index.md b/connect/docs/user-guide/http/index.md
new file mode 100644
index 00000000000..9cb10f8add8
--- /dev/null
+++ b/connect/docs/user-guide/http/index.md
@@ -0,0 +1,165 @@
+# Using the HTTP Connector
+
+This connector allows you to easily create and send HTTP requests. For example
+it can be used to connect to a REST service.
+
+
+## Adding the maven dependency
+
+To use the camunda connect HTTP connector in your project import the `camunda-connect-bom`
+dependency with the current `VERSION`. Also add a dependency either for the
+`camunda-connect-http-client` or the `camunda-connect-all` artifact. The later includes every
+artifact of the camunda connect project. If you also use other components of the camunda BPM
+platform please use the `camunda-bom` instead which already imports the `camunda-connect-bom`.
+
+```xml
+
+  org.camunda.connect
+  camunda-connect-bom
+  import
+  pom
+  VERSION
+
+
+
+  org.camunda.connect
+  camunda-connect-http-client
+
+```
+
+
+## Getting a new HTTP connector
+
+There a exists a `Connectors` class which automatically detects every connector in the
+classpath. It can be used to generate a new connector instance by connector ID.
+
+```java
+HttpConnector http = Connectors.getConnector(HttpConnector.ID);
+```
+
+
+## Creating a simple request
+
+The HTTP connector can be used to create a new request, set a method, URL, content type
+and payload.
+
+A simple GET request:
+
+```java
+HttpResponse response = http.createRequest()
+  .get()
+  .url("http://camunda.org")
+  .execute();
+```
+
+A POST request with a content type and payload set:
+
+```java
+HttpResponse response = http.createRequest()
+  .post()
+  .url("http://camunda.org")
+  .contentType("text/plain")
+  .payload("Hello World!")
+  .execute();
+```
+
+The HTTP methods PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE
+are also available.
+
+
+## Adding HTTP headers to a request
+
+To add own headers to the HTTP request the method `header` is
+available.
+
+```java
+HttpResponse response = http.createRequest()
+  .get()
+  .header("Accept", "application/json")
+  .url("http://camunda.org")
+  .execute();
+```
+
+
+## Handle responses
+
+A response contains the status code, response headers and body.
+
+```java
+Integer statusCode = response.getStatusCode();
+String contentTypeHeader = response.getHeader("Content-Type");
+String body = response.getResponse();
+```
+
+After the response was processed it should be closed.
+
+```java
+response.close()
+```
+
+
+## Add request interceptors
+
+During the request invocation an interceptor chain is passed. The user can add own
+interceptors to this chain. The interceptor is called for every request
+of this connector.
+
+```java
+connector.addRequestInterceptor(interceptor).createRequest();
+```
+
+
+## Enable logging
+
+camunda connect uses [camunda-commons-logging][] which itself uses [SLF4J][] as a logging backend. To
+enable logging a SLF4J implementation has to be part of your classpath. For example
+`slf4j-simple`, `log4j12` or `logback-classic`.
+
+To also enable logging for the Apache HTTP client you can use a [SLF4J bridge][] like
+`jcl-over-slf4j` as the Apache HTTP Client doesn't support SLF4J.
+
+
+## Configure Apache HTTP client
+
+camunda connect HTTP client uses the Apache HTTP client with its default configuration. If
+you want to configure another connection manager or similar the easiest way is to register
+a new connector configurator.
+
+```java
+package org.camunda.connect.example;
+
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.camunda.connect.httpclient.impl.AbstractHttpConnector;
+import org.camunda.connect.spi.ConnectorConfigurator;
+
+public class HttpConnectorConfigurator implements ConnectorConfigurator {
+
+  public Class getConnectorClass() {
+    return HttpConnector.class;
+  }
+
+  public void configure(HttpConnector connector) {
+    CloseableHttpClient client = HttpClients.custom()
+      .setMaxConnPerRoute(10)
+      .setMaxConnTotal(200)
+      .build();
+    ((AbstractHttpConnector) connector).setHttpClient(client);
+  }
+
+}
+```
+
+To enable auto detection of your new configurator please add a file called
+`org.camunda.bpm.connect.spi.ConnectorConfigurator` to your
+`resources/META-INF/services` directory with class name as content.
+
+```
+org.camunda.connect.example.HttpConnectorConfigurator
+```
+
+
+
+[camunda-commons-logging]: https://github.com/camunda/camunda-commons/tree/master/logging
+[SLF4J]: http://slf4j.org
+[SLF4J bridge]: http://www.slf4j.org/legacy.html
diff --git a/connect/docs/user-guide/index.md b/connect/docs/user-guide/index.md
index a5f73585bb7..bc67951a726 100644
--- a/connect/docs/user-guide/index.md
+++ b/connect/docs/user-guide/index.md
@@ -1,4 +1,4 @@
-# Connect Userguide
+# Connect User Guide
 
-* [REST Connector](rest/index.md)
+* [HTTP Connector](http/index.md)
 * [SOAP Connector](soap/index.md)
diff --git a/connect/docs/user-guide/rest/index.md b/connect/docs/user-guide/rest/index.md
deleted file mode 100644
index da16f0671d9..00000000000
--- a/connect/docs/user-guide/rest/index.md
+++ /dev/null
@@ -1,109 +0,0 @@
-# Using REST Connector
-
-This connector allows you to easily connect to a REST service.
-
-## Creating the request
-
-You can use the `.createRequest()` method to create a plain request.
-
-```java
-  RestHttpConnector connector = new RestHttpConnector();
-  RestHttpRequest request = connector.createRequest();
-```
-
-## Defining a request url
-
-To define a request url you can use the `.requestUrl(String url)` method. 
-This allows you to set an endpoint for your request. 
-
-Let's use the previous example and extend it for this method:
-
-```java
-  RestHttpConnector connector = new RestHttpConnector();
-  RestHttpRequest request = connector.createRequest();
-  request.requestUrl("http://camunda.org");
-```
-
-## Defining additional headers
-
-You can add any additional header that you want to your request. To do this, you can use the
-`.header(String name, Object value)` method. This will append the new header to the request.
-
-In our example we will add an Accept header for our request:
-
-```java
-  RestHttpConnector connector = new RestHttpConnector();
-  RestHttpRequest request = connector.createRequest();
-  request.requestUrl("http://camunda.org");
-  request.header("Accept", "application/json");
-```
-
-Now the server knows that we want a JSON response to our rest call.
-
-## Defining the payload
-
-For POST, PUT and PATCH requests you have to attach a request body to change data
-on the server side. For this, there is a `.requestPayload(String payload)` method.
-
-So let's add some informations as payload to our example:
-
-```java
-  RestHttpConnector connector = new RestHttpConnector();
-  RestHttpRequest request = connector.createRequest();
-  request.requestUrl("http://camunda.org");
-  request.header("Accept", "application/json");
-  request.payload("{\"text\": \"camunda rocks!\"}");
-```
-
-## Defining the request type
-
-As we know, an HTTP request must have at least one of the following request types:
-
-* GET
-* PUT
-* POST
-* PATCH
-* DELETE
-
-So there's be also a way to set this request type in our example. For this we have 
-one of the following methods:
-
-* `.get()`
-* `.post()`
-* `.put()`
-* `.patch()`
-* `.delete()`
-
-With this we have a full request which we can use to connect our REST service:
-
-```java
-  RestHttpConnector connector = new RestHttpConnector();
-  RestHttpRequest request = connector.createRequest();
-  request.requestUrl("http://camunda.org");
-  request.header("Accept", "application/json");
-  request.payload("{\"text\": \"camunda rocks!\"}");
-  request.post()
-```
-
-## Execute the request
-
-Now that we have a complete request, we can trigger it with the `.execute()` method.
-After the execution, we get a RestHttpResponse as answer to our request. This response
-lets us fetch two main pieces of information of the response: the status code and the response 
-body. The status code can be fetched with the `.getStatusCode()` method and the response 
-body with the `.getResponse()` method.
-
-So, to complete our example we'll add the execution and also some response handling:
-
-```java
-  RestHttpConnector connector = new RestHttpConnector();
-  RestHttpRequest request = connector.createRequest();
-  request.requestUrl("http://camunda.org");
-  request.header("Accept", "application/json");
-  request.payload("{\"text\": \"camunda rocks!\"}");
-  request.post();
-  
-  RestHttpResponse response = request.execute();
-  Integer statusCode = response.getStatusCode();
-  String responseBody = response.getResponse();
-```
diff --git a/connect/docs/user-guide/soap/index.md b/connect/docs/user-guide/soap/index.md
new file mode 100644
index 00000000000..e28a9fe7eb8
--- /dev/null
+++ b/connect/docs/user-guide/soap/index.md
@@ -0,0 +1,152 @@
+# Using the SOAP HTTP Connector
+
+This connector allows you to easily connect to a SOAP service.
+
+
+## Adding the maven dependency
+
+To use the camunda connect SOAP connector in your project import the `camunda-connect-bom`
+dependency with the current `VERSION`. Also add a dependency either for the
+`camunda-connect-soap-http-client` or the `camunda-connect-all` artifact. The later includes every
+artifact of the camunda connect project. If you also use other components of the camunda BPM
+platform please use the `camunda-bom` instead which already imports the `camunda-connect-bom`.
+
+```xml
+
+  org.camunda.connect
+  camunda-connect-bom
+  import
+  pom
+  VERSION
+
+
+
+  org.camunda.connect
+  camunda-connect-soap-http-client
+
+```
+
+
+## Getting a new SOAP HTTP connector
+
+There a exists a `Connectors` class which automatically detects every connector in the
+classpath. It can be used to generate a new connector instance by connector ID.
+
+```java
+SoapHttpConnector soap = Connectors.getConnector(SoapHttpConnector.ID);
+```
+
+
+## Creating a request
+
+The SOAP HTTP connector can be used to create a new request, set a URL, content type
+and payload.
+
+```java
+SoapHttpResponse response = connector.createRequest()
+  .url("http://camunda.org/soap")
+  .soapAction("doIt")
+  .contentType("application/soap+xml")
+  .payload(soap_envelope)
+  .execute();
+```
+
+## Adding HTTP headers to a request
+
+To add own headers to the HTTP request the method `header` is
+available.
+
+```java
+SoapHttpResponse response = connector.createRequest()
+  .url("http://camunda.org/soap")
+  .soapAction("doIt")
+  .contentType("application/soap+xml")
+  .header("Accept", "application/xml")
+  .payload(soap_envelope)
+  .execute();
+```
+
+
+## Handle responses
+
+A response contains the status code, response headers and body.
+
+```java
+Integer statusCode = response.getStatusCode();
+String contentTypeHeader = response.getHeader("Content-Type");
+String body = response.getResponse();
+```
+
+After the response was processed it should be closed.
+
+```java
+response.close()
+```
+
+
+## Add request interceptors
+
+
+During the request invocation an interceptor chain is passed. The user can add own
+interceptors to this chain. The interceptor is called for every request
+of this connector.
+
+```java
+connector.addRequestInterceptor(interceptor).createRequest();
+```
+
+
+## Enable logging
+
+camunda connect uses [camunda-commons-logging][] which itself uses [SLF4J][] as a logging backend.
+To enable logging a SLF4J implementation has to be part of your classpath. For example
+`slf4j-simple`, `log4j12` or `logback-classic`.
+
+To also enable logging for the Apache HTTP client you can use a [SLF4J bridge][] like
+`jcl-over-slf4j` as the Apache HTTP Client doesn't support SLF4J.
+
+
+## Configure Apache HTTP client
+
+camunda connect HTTP client uses the Apache HTTP client with its default configuration. If
+you want to configure another connection manager or similar the easiest way is to register
+a new connector factory.
+
+```java
+package org.camunda.connect.example;
+
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.camunda.connect.httpclient.impl.AbstractHttpConnector;
+import org.camunda.connect.spi.ConnectorConfigurator;
+
+public class HttpConnectorConfigurator implements ConnectorConfigurator {
+
+  public Class getConnectorClass() {
+    return HttpConnector.class;
+  }
+
+  public void configure(HttpConnector connector) {
+    CloseableHttpClient client = HttpClients.custom()
+      .setMaxConnPerRoute(10)
+      .setMaxConnTotal(200)
+      .build();
+    ((AbstractHttpConnector) connector).setHttpClient(client);
+  }
+
+}
+```
+
+To enable auto detection of your new configurator please add a file called
+`org.camunda.bpm.connect.spi.ConnectorConfigurator` to your
+`resources/META-INF/services` directory with class name as content.
+
+```
+org.camunda.connect.example.HttpConnectorConfigurator
+```
+
+
+
+[camunda-commons-logging]: https://github.com/camunda/camunda-commons/tree/master/logging
+[SLF4J]: http://slf4j.org
+[SLF4J bridge]: http://www.slf4j.org/legacy.html
diff --git a/connect/rest-httpclient/pom.xml b/connect/http-client/pom.xml
similarity index 76%
rename from connect/rest-httpclient/pom.xml
rename to connect/http-client/pom.xml
index cc3ab2191b0..422e41fa82f 100644
--- a/connect/rest-httpclient/pom.xml
+++ b/connect/http-client/pom.xml
@@ -8,21 +8,11 @@
     
     4.0.0
 
-    camunda-connect-rest-httpclient
-    camunda BPM - connect - rest httpclient
+    camunda-connect-http-client
+    camunda BPM - connect - http client
 
     
 
-        
-            org.camunda.commons
-            camunda-commons-logging
-        
-
-        
-            org.camunda.commons
-            camunda-commons-utils
-        
-
         
             org.camunda.connect
             camunda-connect-core
@@ -37,7 +27,7 @@
         
             junit
             junit
-            provided
+            test
         
 
         
@@ -46,12 +36,6 @@
             test
         
 
-        
-            ch.qos.logback
-            logback-core
-            test
-        
-
         
             ch.qos.logback
             logback-classic
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java
new file mode 100644
index 00000000000..8ceed78a40e
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java
@@ -0,0 +1,99 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+import java.util.Map;
+
+import org.camunda.connect.spi.ConnectorRequest;
+import org.camunda.connect.spi.ConnectorResponse;
+
+public interface HttpBaseRequest, R extends ConnectorResponse> extends ConnectorRequest {
+
+  String PARAM_NAME_REQUEST_URL  = "url";
+  String PARAM_NAME_REQUEST_HEADERS = "headers";
+  String PARAM_NAME_REQUEST_METHOD = "method";
+  String PARAM_NAME_REQUEST_PAYLOAD = "payload";
+  String HEADER_CONTENT_TYPE = "Content-Type";
+
+  /**
+   * Set the url of this request.
+   *
+   * @param url the url to set
+   * @return this request
+   */
+  Q url(String url);
+
+  /**
+   * @return the url of this request or null if none is set
+   */
+  String getUrl();
+
+  /**
+   * Set a HTTP header for this request.
+   *
+   * @param field HTTP header field
+   * @param value HTTP header value
+   * @return this request
+   */
+  Q header(String field, String value);
+
+  /**
+   * @return the HTTP header field value of this request or null if not set
+   */
+  String getHeader(String field);
+
+  /**
+   * @return the HTTP headers of this request or null if non set
+   */
+  Map getHeaders();
+
+  /**
+   * Set the content type header for this request.
+   *
+   * @param contentType the content type
+   * @return this request
+   */
+  Q contentType(String contentType);
+
+  /**
+   * @return the content-type of this request or null if non set
+   */
+  String getContentType();
+
+  /**
+   * Set the payload of this request.
+   *
+   * @param payload the payload to set
+   * @return this request
+   */
+  Q payload(String payload);
+
+  /**
+   * @return the payload of this request or null if non set
+   */
+  String getPayload();
+
+  /**
+   * Sets the method of this request.
+   *
+   * @param method the method to set
+   * @return this request
+   */
+  Q method(String method);
+
+  /**
+   * @return the method of this request or null if not set
+   */
+  String getMethod();
+}
diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java
similarity index 57%
rename from connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpLogger.java
rename to connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java
index c7bc989675f..61a8866eae8 100644
--- a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpLogger.java
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java
@@ -10,16 +10,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.camunda.bpm.connect.rest.httpclient;
+package org.camunda.connect.httpclient;
 
-import org.camunda.commons.logging.BaseLogger;
+import org.camunda.connect.Connectors;
+import org.camunda.connect.spi.Connector;
 
-/**
- * @author Stefan Hentschel.
- */
-public class RestHttpLogger extends BaseLogger {
+public interface HttpConnector extends Connector {
 
-  public static final String PROJECT_CODE = "RESTC";
+  static final String ID = Connectors.HTTP_CONNECTOR_ID;
 
-  public static RestHttpConnectorLogger REST_CONNECTOR_LOGGER = createLogger(RestHttpConnectorLogger.class, PROJECT_CODE, "org.camunda.bpm.connect.rest.httpclient.connector", "01");
 }
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorLogger.java
new file mode 100644
index 00000000000..197679113a9
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorLogger.java
@@ -0,0 +1,51 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+import org.camunda.connect.ConnectLogger;
+import org.camunda.connect.ConnectorRequestException;
+import org.camunda.connect.ConnectorResponseException;
+
+public class HttpConnectorLogger extends ConnectLogger {
+
+  public void setHeader(String field, String value) {
+    logDebug("001", "Set header field '{}' to '{}'", field, value);
+  }
+
+  public void ignoreHeader(String field, String value) {
+    logInfo("002", "Ignoring header with name '{}' and value '{}'", field, value);
+
+  }
+
+  public void payloadIgnoredForHttpMethod(String method) {
+    logInfo("003", "Ignoring payload for HTTP '{}' method", method);
+  }
+
+  public ConnectorResponseException unableToReadResponse(Exception cause) {
+    return new ConnectorResponseException(exceptionMessage("004", "Unable to read connectorResponse: {}", cause.getMessage()), cause);
+  }
+
+  public ConnectorRequestException requestUrlRequired() {
+    return new ConnectorRequestException(exceptionMessage("005", "Request url required."));
+  }
+
+  public ConnectorRequestException unknownHttpMethod(String method) {
+    return new ConnectorRequestException(exceptionMessage("006", "Unknown or unsupported HTTP method '{}'", method));
+  }
+
+  public ConnectorRequestException unableToExecuteRequest(Exception cause) {
+    return new ConnectorRequestException(exceptionMessage("007", "Unable to execute HTTP request"), cause);
+  }
+
+}
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java
new file mode 100644
index 00000000000..47000743bad
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java
@@ -0,0 +1,20 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+import org.camunda.connect.spi.ConnectorProvider;
+
+public interface HttpConnectorProvider extends ConnectorProvider {
+
+}
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpLogger.java
new file mode 100644
index 00000000000..aed0372cb5a
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpLogger.java
@@ -0,0 +1,23 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+import org.camunda.commons.logging.BaseLogger;
+
+public abstract class HttpLogger extends BaseLogger {
+
+  public static final String PROJECT_CODE = "HTCL";
+
+  public static HttpConnectorLogger HTTP_LOGGER = createLogger(HttpConnectorLogger.class, PROJECT_CODE, "org.camunda.bpm.connect.httpclient.connector", "02");
+}
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java
new file mode 100644
index 00000000000..431c29cb665
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java
@@ -0,0 +1,74 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+public interface HttpMethodRequest, R extends HttpResponse> extends HttpBaseRequest {
+
+  /**
+   * Set GET as request method
+   *
+   * @return this request
+   */
+  Q get();
+
+  /**
+   * Set POST as request method
+   *
+   * @return this request
+   */
+  Q post();
+
+  /**
+   * Set PUT as request method
+   *
+   * @return this request
+   */
+  Q put();
+
+  /**
+   * Set DELETE as request method
+   *
+   * @return this request
+   */
+  Q delete();
+
+  /**
+   * Set PATCH as request method
+   *
+   * @return this request
+   */
+  Q patch();
+
+  /**
+   * Set HEAD as request method
+   *
+   * @return this request
+   */
+  Q head();
+
+  /**
+   * Set OPTIONS as request method
+   *
+   * @return this request
+   */
+  Q options();
+
+  /**
+   * Set TRACE as request method
+   *
+   * @return this request
+   */
+  Q trace();
+
+}
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java
new file mode 100644
index 00000000000..f6bdb4da333
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java
@@ -0,0 +1,17 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+public interface HttpRequest extends HttpMethodRequest {
+
+}
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java
new file mode 100644
index 00000000000..0b73760a3fe
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java
@@ -0,0 +1,45 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+import java.util.Map;
+
+import org.camunda.connect.spi.CloseableConnectorResponse;
+
+public interface HttpResponse extends CloseableConnectorResponse {
+
+  static final String PARAM_NAME_STATUS_CODE = "statusCode";
+  static final String PARAM_NAME_RESPONSE = "response";
+  static final String PARAM_NAME_RESPONSE_HEADERS = "headers";
+
+  /**
+   * @return the HTTP status code of the response
+   */
+  Integer getStatusCode();
+
+  /**
+   * @return the response body or null if non exists
+   */
+  String getResponse();
+
+  /**
+   * @return the response headers
+   */
+  Map getHeaders();
+
+  /**
+   * @return return the response header value for the given field or null if not set
+   */
+  String getHeader(String field);
+
+}
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java
new file mode 100644
index 00000000000..8aa26277293
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java
@@ -0,0 +1,154 @@
+/* Licensed 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.camunda.connect.httpclient.impl;
+
+import java.io.ByteArrayInputStream;
+import java.nio.charset.Charset;
+import java.util.Map;
+
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpHead;
+import org.apache.http.client.methods.HttpOptions;
+import org.apache.http.client.methods.HttpPatch;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.client.methods.HttpTrace;
+import org.apache.http.entity.InputStreamEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.camunda.connect.httpclient.HttpBaseRequest;
+import org.camunda.connect.httpclient.HttpConnectorLogger;
+import org.camunda.connect.httpclient.HttpLogger;
+import org.camunda.connect.httpclient.HttpResponse;
+import org.camunda.connect.impl.AbstractConnector;
+
+public abstract class AbstractHttpConnector, R extends HttpResponse> extends AbstractConnector {
+
+  protected static HttpConnectorLogger LOG = HttpLogger.HTTP_LOGGER;
+
+  protected CloseableHttpClient httpClient;
+
+  public AbstractHttpConnector(String connectorId) {
+    super(connectorId);
+    httpClient = createClient();
+  }
+
+  protected CloseableHttpClient createClient() {
+    return HttpClients.createDefault();
+  }
+
+  public CloseableHttpClient getHttpClient() {
+    return httpClient;
+  }
+
+  public void setHttpClient(CloseableHttpClient httpClient) {
+    this.httpClient = httpClient;
+  }
+
+  @Override
+  public R execute(Q request) {
+    HttpRequestBase httpRequest = createHttpRequest(request);
+
+    HttpRequestInvocation invocation = new HttpRequestInvocation(httpRequest, request, requestInterceptors, httpClient);
+
+    try {
+      return createResponse((CloseableHttpResponse) invocation.proceed());
+    } catch (Exception e) {
+      throw LOG.unableToExecuteRequest(e);
+    }
+
+  }
+
+  protected abstract R createResponse(CloseableHttpResponse response);
+
+  @Override
+  public abstract Q createRequest();
+
+  /**
+   * creates a apache Http* representation of the request.
+   *
+   * @param request the given request
+   * @return {@link HttpRequestBase} an apache representation of the request
+   */
+  @SuppressWarnings("unchecked")
+  protected  T createHttpRequest(Q request) {
+    T httpRequest = createHttpRequestBase(request);
+
+    applyHeaders(httpRequest, request.getHeaders());
+
+    applyPayload(httpRequest, request);
+
+    return httpRequest;
+  }
+
+  @SuppressWarnings("unchecked")
+  protected  T createHttpRequestBase(Q request) {
+    String url = request.getUrl();
+    if (url != null && !url.trim().isEmpty()) {
+      String method = request.getMethod();
+      if (HttpGet.METHOD_NAME.equals(method)) {
+        return (T) new HttpGet(url);
+      } else if (HttpPost.METHOD_NAME.equals(method)) {
+        return (T) new HttpPost(url);
+      } else if (HttpPut.METHOD_NAME.equals(method)) {
+        return (T) new HttpPut(url);
+      } else if (HttpDelete.METHOD_NAME.equals(method)) {
+        return (T) new HttpDelete(url);
+      } else if (HttpPatch.METHOD_NAME.equals(method)) {
+        return (T) new HttpPatch(url);
+      } else if (HttpHead.METHOD_NAME.equals(method)) {
+        return (T) new HttpHead(url);
+      } else if (HttpOptions.METHOD_NAME.equals(method)) {
+        return (T) new HttpOptions(url);
+      } else if (HttpTrace.METHOD_NAME.equals(method)) {
+        return (T) new HttpTrace(url);
+      } else {
+        throw LOG.unknownHttpMethod(method);
+      }
+    }
+    else {
+      throw LOG.requestUrlRequired();
+    }
+  }
+
+  protected  void applyHeaders(T httpRequest, Map headers) {
+    if (headers != null) {
+      for (Map.Entry entry : headers.entrySet()) {
+        httpRequest.setHeader(entry.getKey(), entry.getValue());
+        LOG.setHeader(entry.getKey(), entry.getValue());
+      }
+    }
+  }
+
+  protected  void applyPayload(T httpRequest, Q request) {
+    if (httpMethodSupportsPayload(httpRequest)) {
+      if (request.getPayload() != null) {
+        ByteArrayInputStream payload = new ByteArrayInputStream(request.getPayload().getBytes(Charset.forName("utf-8")));
+        ((HttpEntityEnclosingRequestBase) httpRequest).setEntity(new InputStreamEntity(payload));
+      }
+    }
+    else if (request.getPayload() != null) {
+      LOG.payloadIgnoredForHttpMethod(request.getMethod());
+    }
+  }
+
+  protected  boolean httpMethodSupportsPayload(T httpRequest) {
+    return httpRequest instanceof HttpEntityEnclosingRequestBase;
+  }
+
+}
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java
new file mode 100644
index 00000000000..b3c66f6a3a7
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java
@@ -0,0 +1,144 @@
+/* Licensed 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.camunda.connect.httpclient.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpHead;
+import org.apache.http.client.methods.HttpOptions;
+import org.apache.http.client.methods.HttpPatch;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.client.methods.HttpTrace;
+import org.camunda.connect.httpclient.HttpBaseRequest;
+import org.camunda.connect.httpclient.HttpConnectorLogger;
+import org.camunda.connect.httpclient.HttpLogger;
+import org.camunda.connect.httpclient.HttpResponse;
+import org.camunda.connect.impl.AbstractConnectorRequest;
+import org.camunda.connect.spi.Connector;
+
+public class AbstractHttpRequest, R extends HttpResponse> extends AbstractConnectorRequest {
+
+  private final HttpConnectorLogger LOG = HttpLogger.HTTP_LOGGER;
+
+  public AbstractHttpRequest(Connector connector) {
+    super(connector);
+  }
+
+  @SuppressWarnings("unchecked")
+  public Q url(String url) {
+    setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_URL, url);
+    return (Q) this;
+  }
+
+  public String getUrl() {
+    return getRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_URL);
+  }
+
+  @SuppressWarnings("unchecked")
+  public Q method(String method) {
+    setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_METHOD, method);
+    return (Q) this;
+  }
+
+  public String getMethod() {
+    return getRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_METHOD);
+  }
+
+  @SuppressWarnings("unchecked")
+  public Q header(String field, String value) {
+    if (field == null || field.isEmpty() || value == null || value.isEmpty()) {
+      LOG.ignoreHeader(field, value);
+    }
+    else {
+      Map headers = getRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_HEADERS);
+
+      if (headers == null) {
+        headers = new HashMap();
+        setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_HEADERS, headers);
+      }
+      headers.put(field, value);
+    }
+
+    return (Q) this;
+  }
+
+  public String getHeader(String field) {
+    Map headers = getHeaders();
+    if (headers != null) {
+      return headers.get(field);
+    }
+    else {
+      return null;
+    }
+  }
+
+  public Map getHeaders() {
+    return getRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_HEADERS);
+  }
+
+  public Q contentType(String contentType) {
+    return header(HttpBaseRequest.HEADER_CONTENT_TYPE, contentType);
+  }
+
+  public String getContentType() {
+    return getHeader(HttpBaseRequest.HEADER_CONTENT_TYPE);
+  }
+
+  @SuppressWarnings("unchecked")
+  public Q payload(String payload) {
+    setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_PAYLOAD, payload);
+    return (Q) this;
+  }
+
+  public String getPayload() {
+    return getRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_PAYLOAD);
+  }
+
+  public Q get() {
+    return method(HttpGet.METHOD_NAME);
+  }
+
+  public Q post() {
+    return method(HttpPost.METHOD_NAME);
+  }
+
+  public Q put() {
+    return method(HttpPut.METHOD_NAME);
+  }
+
+  public Q delete() {
+    return method(HttpDelete.METHOD_NAME);
+  }
+
+  public Q patch() {
+    return method(HttpPatch.METHOD_NAME);
+  }
+
+  public Q head() {
+    return method(HttpHead.METHOD_NAME);
+  }
+
+  public Q options() {
+    return method(HttpOptions.METHOD_NAME);
+  }
+
+  public Q trace() {
+    return method(HttpTrace.METHOD_NAME);
+  }
+
+}
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java
new file mode 100644
index 00000000000..6048d87172e
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java
@@ -0,0 +1,38 @@
+/* Licensed 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.camunda.connect.httpclient.impl;
+
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.camunda.connect.httpclient.HttpConnector;
+import org.camunda.connect.httpclient.HttpRequest;
+import org.camunda.connect.httpclient.HttpResponse;
+
+public class HttpConnectorImpl extends AbstractHttpConnector implements HttpConnector {
+
+  public HttpConnectorImpl() {
+    super(HttpConnector.ID);
+  }
+
+  public HttpConnectorImpl(String connectorId) {
+    super(connectorId);
+  }
+
+  public HttpRequest createRequest() {
+    return new HttpRequestImpl(this);
+  }
+
+  protected HttpResponse createResponse(CloseableHttpResponse response) {
+    return new HttpResponseImpl(response);
+  }
+
+}
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java
new file mode 100644
index 00000000000..5d8b2f85f0c
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java
@@ -0,0 +1,29 @@
+/* Licensed 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.camunda.connect.httpclient.impl;
+
+import org.camunda.connect.httpclient.HttpConnector;
+import org.camunda.connect.httpclient.HttpConnectorProvider;
+
+public class HttpConnectorProviderImpl implements HttpConnectorProvider {
+
+  public String getConnectorId() {
+    return HttpConnector.ID;
+  }
+
+  public HttpConnector createConnectorInstance() {
+    return new HttpConnectorImpl(HttpConnector.ID);
+  }
+
+}
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java
new file mode 100644
index 00000000000..e07a61cec37
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java
@@ -0,0 +1,26 @@
+/* Licensed 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.camunda.connect.httpclient.impl;
+
+import org.camunda.connect.httpclient.HttpRequest;
+import org.camunda.connect.httpclient.HttpResponse;
+import org.camunda.connect.spi.Connector;
+
+public class HttpRequestImpl extends AbstractHttpRequest implements HttpRequest {
+
+  public HttpRequestImpl(Connector connector) {
+    super(connector);
+  }
+
+}
diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java
similarity index 58%
rename from connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java
rename to connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java
index 4c10cb498a4..1393b9bb44f 100644
--- a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/HttpRequestInvocation.java
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java
@@ -2,7 +2,7 @@
  * 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
+ *     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,
@@ -10,30 +10,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.camunda.bpm.connect.rest.httpclient;
+
+package org.camunda.connect.httpclient.impl;
 
 import java.util.List;
 
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpRequestBase;
-import org.camunda.bpm.connect.ConnectorRequest;
-import org.camunda.bpm.connect.impl.AbstractRequestInvocation;
-import org.camunda.bpm.connect.interceptor.RequestInterceptor;
+import org.camunda.connect.spi.ConnectorRequest;
+import org.camunda.connect.impl.AbstractRequestInvocation;
+import org.camunda.connect.spi.ConnectorRequestInterceptor;
 
-/**
- * @author Daniel Meyer
- *
- */
-public class HttpRequestInvocation extends AbstractRequestInvocation {
+public class HttpRequestInvocation  extends AbstractRequestInvocation {
 
   protected HttpClient client;
 
-  /**
-   * @param target the HttpPostRequest
-   * @param interceptorChain the interceptor chain
-   * @param client the HttpClient to execute the request on
-   */
-  public HttpRequestInvocation(HttpRequestBase target, ConnectorRequest request, List interceptorChain, HttpClient client) {
+  public HttpRequestInvocation(HttpRequestBase target, ConnectorRequest request, List interceptorChain, HttpClient client) {
     super(target, request, interceptorChain);
     this.client = client;
   }
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java
new file mode 100644
index 00000000000..c0cddef578d
--- /dev/null
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java
@@ -0,0 +1,91 @@
+/* Licensed 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.camunda.connect.httpclient.impl;
+
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.http.Header;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.camunda.connect.httpclient.HttpConnectorLogger;
+import org.camunda.connect.httpclient.HttpLogger;
+import org.camunda.connect.httpclient.HttpResponse;
+import org.camunda.connect.impl.AbstractCloseableConnectorResponse;
+import org.camunda.commons.utils.IoUtil;
+
+public class HttpResponseImpl extends AbstractCloseableConnectorResponse implements HttpResponse {
+
+  private final HttpConnectorLogger LOG = HttpLogger.HTTP_LOGGER;
+
+  protected CloseableHttpResponse httpResponse;
+
+  public HttpResponseImpl(CloseableHttpResponse httpResponse) {
+    this.httpResponse = httpResponse;
+  }
+
+  public Integer getStatusCode() {
+    return getResponseParameter(PARAM_NAME_STATUS_CODE);
+  }
+
+  public String getResponse() {
+    return getResponseParameter(PARAM_NAME_RESPONSE);
+  }
+
+  public Map getHeaders() {
+    return getResponseParameter(PARAM_NAME_RESPONSE_HEADERS);
+  }
+
+  public String getHeader(String field) {
+    Map headers = getHeaders();
+    if (headers != null) {
+      return headers.get(field);
+    }
+    else {
+      return null;
+    }
+  }
+
+  protected void collectResponseParameters(Map responseParameters) {
+    if (httpResponse.getStatusLine() != null) {
+      responseParameters.put(PARAM_NAME_STATUS_CODE, httpResponse.getStatusLine().getStatusCode());
+    }
+    collectResponseHeaders();
+
+    if (httpResponse.getEntity() != null) {
+      try {
+        String response = IoUtil.inputStreamAsString(httpResponse.getEntity().getContent());
+        responseParameters.put(PARAM_NAME_RESPONSE, response);
+      } catch (IOException e) {
+        throw LOG.unableToReadResponse(e);
+      } finally {
+        IoUtil.closeSilently(httpResponse);
+      }
+    }
+  }
+
+  protected void collectResponseHeaders() {
+    Map headers = new HashMap();
+    for (Header header : httpResponse.getAllHeaders()) {
+      headers.put(header.getName(), header.getValue());
+    }
+    responseParameters.put(PARAM_NAME_RESPONSE_HEADERS, headers);
+  }
+
+  protected Closeable getClosable() {
+    return httpResponse;
+  }
+
+}
diff --git a/connect/http-client/src/main/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider b/connect/http-client/src/main/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
new file mode 100644
index 00000000000..244063953fe
--- /dev/null
+++ b/connect/http-client/src/main/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
@@ -0,0 +1 @@
+org.camunda.connect.httpclient.impl.HttpConnectorProviderImpl
diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java
new file mode 100644
index 00000000000..95d4e41293d
--- /dev/null
+++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java
@@ -0,0 +1,173 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.fail;
+
+import java.io.IOException;
+
+import org.apache.http.Header;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpHead;
+import org.apache.http.client.methods.HttpOptions;
+import org.apache.http.client.methods.HttpPatch;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.client.methods.HttpTrace;
+import org.camunda.commons.utils.IoUtil;
+import org.camunda.connect.ConnectorRequestException;
+import org.camunda.connect.Connectors;
+import org.camunda.connect.httpclient.impl.HttpConnectorImpl;
+import org.camunda.connect.impl.DebugRequestInterceptor;
+import org.camunda.connect.spi.Connector;
+import org.junit.Before;
+import org.junit.Test;
+
+public class HttpConnectorTest {
+
+  public static final String EXAMPLE_URL = "http://camunda.org/example";
+  public static final String EXAMPLE_CONTENT_TYPE = "application/json";
+  public static final String EXAMPLE_PAYLOAD = "camunda";
+
+  protected HttpConnector connector;
+  protected DebugRequestInterceptor interceptor;
+
+  @Before
+  public void createConnector() {
+    connector = new HttpConnectorImpl();
+    interceptor = new DebugRequestInterceptor(false);
+    connector.addRequestInterceptor(interceptor);
+  }
+
+  @Test
+  public void shouldDiscoverConnector() {
+    Connector http = Connectors.getConnector(HttpConnector.ID);
+    assertThat(http).isNotNull();
+  }
+
+  @Test
+  public void shouldFailWithoutMethod() {
+    try {
+      connector.createRequest().url("localhost").execute();
+      fail("No method specified");
+    }
+    catch (ConnectorRequestException e) {
+      // expected
+    }
+  }
+
+  @Test
+  public void shouldFailWithoutUrl() {
+    try {
+      connector.createRequest().execute();
+      fail("No url specified");
+    }
+    catch (ConnectorRequestException e) {
+      // expected
+    }
+  }
+
+  @Test
+  public void shouldCreateHttpGetRequest() {
+    connector.createRequest().url(EXAMPLE_URL).get().execute();
+    verifyHttpRequest(HttpGet.class);
+  }
+
+  @Test
+  public void shouldCreateHttpPostRequest() {
+    connector.createRequest().url(EXAMPLE_URL).post().execute();
+    verifyHttpRequest(HttpPost.class);
+  }
+
+  @Test
+  public void shouldCreateHttpPutRequest() {
+    connector.createRequest().url(EXAMPLE_URL).put().execute();
+    verifyHttpRequest(HttpPut.class);
+  }
+
+  @Test
+  public void shouldCreateHttpDeleteRequest() {
+    connector.createRequest().url(EXAMPLE_URL).delete().execute();
+    verifyHttpRequest(HttpDelete.class);
+  }
+
+  @Test
+  public void shouldCreateHttpPatchRequest() {
+    connector.createRequest().url(EXAMPLE_URL).patch().execute();
+    verifyHttpRequest(HttpPatch.class);
+  }
+
+  @Test
+  public void shouldCreateHttpHeadRequest() {
+    connector.createRequest().url(EXAMPLE_URL).head().execute();
+    verifyHttpRequest(HttpHead.class);
+  }
+
+  @Test
+  public void shouldCreateHttpOptionsRequest() {
+    connector.createRequest().url(EXAMPLE_URL).options().execute();
+    verifyHttpRequest(HttpOptions.class);
+  }
+
+  @Test
+  public void shouldCreateHttpTraceRequest() {
+    connector.createRequest().url(EXAMPLE_URL).trace().execute();
+    verifyHttpRequest(HttpTrace.class);
+  }
+
+  @Test
+  public void shouldSetUrlOnHttpRequest() {
+    connector.createRequest().url(EXAMPLE_URL).get().execute();
+    HttpGet request = interceptor.getTarget();
+    assertThat(request.getURI().toASCIIString()).isEqualTo(EXAMPLE_URL);
+  }
+
+  @Test
+  public void shouldSetContentTypeOnHttpRequest() {
+    connector.createRequest().url(EXAMPLE_URL).contentType(EXAMPLE_CONTENT_TYPE).get().execute();
+    HttpGet request = interceptor.getTarget();
+    Header[] headers = request.getHeaders(HttpBaseRequest.HEADER_CONTENT_TYPE);
+    assertThat(headers).hasSize(1);
+    assertThat(headers[0].getName()).isEqualTo(HttpBaseRequest.HEADER_CONTENT_TYPE);
+    assertThat(headers[0].getValue()).isEqualTo(EXAMPLE_CONTENT_TYPE);
+  }
+
+  @Test
+  public void shouldSetHeadersOnHttpRequest() {
+    connector.createRequest().url(EXAMPLE_URL).header("foo", "bar").header("hello", "world").get().execute();
+    HttpGet request = interceptor.getTarget();
+    Header[] headers = request.getAllHeaders();
+    assertThat(headers).hasSize(2);
+  }
+
+  @Test
+  public void shouldSetPayloadOnHttpRequest() throws IOException {
+    connector.createRequest().url(EXAMPLE_URL).payload(EXAMPLE_PAYLOAD).post().execute();
+    HttpPost request = interceptor.getTarget();
+    String content = IoUtil.inputStreamAsString(request.getEntity().getContent());
+    assertThat(content).isEqualTo(EXAMPLE_PAYLOAD);
+  }
+
+  protected void verifyHttpRequest(Class requestClass) {
+    Object target = interceptor.getTarget();
+    assertThat(target).isInstanceOf(requestClass);
+
+    HttpRequest request = interceptor.getRequest();
+    HttpRequestBase requestBase = (HttpRequestBase) target;
+    assertThat(requestBase.getMethod()).isEqualTo(request.getMethod());
+  }
+
+}
diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java
new file mode 100644
index 00000000000..bfa73dd1061
--- /dev/null
+++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java
@@ -0,0 +1,160 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpHead;
+import org.apache.http.client.methods.HttpOptions;
+import org.apache.http.client.methods.HttpPatch;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.client.methods.HttpTrace;
+import org.camunda.connect.Connectors;
+import org.junit.Before;
+import org.junit.Test;
+
+public class HttpRequestTest {
+
+  public static final String EXAMPLE_URL = "http://camunda.org";
+  public static final String EXAMPLE_CONTENT_TYPE = "text/plain";
+  public static final String EXAMPLE_PAYLOAD = "test";
+
+  protected HttpConnector connector;
+
+  @Before
+  public void createRequest() {
+    connector = Connectors.getConnector(HttpConnector.ID);
+  }
+
+  @Test
+  public void createAnEmptyRequest() {
+    HttpRequest request = connector.createRequest();
+
+    assertThat(request.getMethod()).isNull();
+    assertThat(request.getUrl()).isNull();
+    assertThat(request.getContentType()).isNull();
+    assertThat(request.getHeaders()).isNull();
+    assertThat(request.getPayload()).isNull();
+    assertThat(request.getRequestParameters()).isEmpty();
+  }
+
+  @Test
+  public void setHttpMethod() {
+    HttpRequest request = connector.createRequest().get();
+    assertThat(request.getMethod()).isEqualTo(HttpGet.METHOD_NAME);
+
+    request = connector.createRequest().post();
+    assertThat(request.getMethod()).isEqualTo(HttpPost.METHOD_NAME);
+
+    request = connector.createRequest().put();
+    assertThat(request.getMethod()).isEqualTo(HttpPut.METHOD_NAME);
+
+    request = connector.createRequest().delete();
+    assertThat(request.getMethod()).isEqualTo(HttpDelete.METHOD_NAME);
+
+    request = connector.createRequest().patch();
+    assertThat(request.getMethod()).isEqualTo(HttpPatch.METHOD_NAME);
+
+    request = connector.createRequest().head();
+    assertThat(request.getMethod()).isEqualTo(HttpHead.METHOD_NAME);
+
+    request = connector.createRequest().options();
+    assertThat(request.getMethod()).isEqualTo(HttpOptions.METHOD_NAME);
+
+    request = connector.createRequest().trace();
+    assertThat(request.getMethod()).isEqualTo(HttpTrace.METHOD_NAME);
+  }
+
+  @Test
+  public void setUrl() {
+    HttpRequest request = connector.createRequest().url(EXAMPLE_URL);
+    assertThat(request.getUrl()).isEqualTo(EXAMPLE_URL);
+  }
+
+  @Test
+  public void setContentType() {
+    HttpRequest request = connector.createRequest().contentType(EXAMPLE_CONTENT_TYPE);
+    assertThat(request.getContentType()).isEqualTo(EXAMPLE_CONTENT_TYPE);
+    assertThat(request.getHeaders())
+      .hasSize(1)
+      .containsEntry(HttpBaseRequest.HEADER_CONTENT_TYPE, EXAMPLE_CONTENT_TYPE);
+  }
+
+  @Test
+  public void shouldIgnoreNullOrEmptyContentType() {
+    HttpRequest request = connector.createRequest().contentType(null);
+    assertThat(request.getContentType()).isNull();
+
+    request.contentType("");
+    assertThat(request.getContentType()).isNull();
+  }
+
+  @Test
+  public void setHeaders() {
+    HttpRequest request = connector.createRequest().header("hello", "world").header("foo", "bar");
+    assertThat(request.getHeaders())
+      .hasSize(2)
+      .containsEntry("hello", "world")
+      .containsEntry("foo", "bar");
+
+    assertThat(request.getHeader("hello")).isEqualTo("world");
+    assertThat(request.getHeader("unknown")).isNull();
+  }
+
+  @Test
+  public void shouldIgnoreHeadersWithNullOrEmptyNameOrValue() {
+    HttpRequest request = connector.createRequest().header(null, "test");
+    assertThat(request.getHeaders()).isNull();
+
+    request.header("", "test");
+    assertThat(request.getHeaders()).isNull();
+
+    request.header("test", null);
+    assertThat(request.getHeaders()).isNull();
+
+    request.header("test", "");
+    assertThat(request.getHeaders()).isNull();
+  }
+
+  @Test
+  public void setPayLoad() {
+    HttpRequest request = connector.createRequest().payload(EXAMPLE_PAYLOAD);
+    assertThat(request.getPayload()).isEqualTo(EXAMPLE_PAYLOAD);
+  }
+
+  @Test
+  public void setRequestParameters() {
+    HttpRequest request = connector.createRequest();
+
+    request.setRequestParameter("hello", "world");
+
+    Map params = new HashMap();
+    params.put("foo", "bar");
+    params.put("number", 42);
+    request.setRequestParameters(params);
+
+    assertThat(request.getRequestParameters())
+      .hasSize(3)
+      .containsEntry("hello", "world")
+      .containsEntry("foo", "bar")
+      .containsEntry("number", 42);
+  }
+
+}
diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java
new file mode 100644
index 00000000000..deb056b2e24
--- /dev/null
+++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java
@@ -0,0 +1,89 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.camunda.connect.httpclient.impl.HttpConnectorImpl;
+import org.camunda.connect.impl.DebugRequestInterceptor;
+import org.junit.Before;
+import org.junit.Test;
+
+public class HttpResponseTest {
+
+  protected HttpConnector connector;
+  protected TestResponse testResponse;
+
+  @Before
+  public void getConnector() {
+    testResponse = new TestResponse();
+    connector = new HttpConnectorImpl();
+    connector.addRequestInterceptor(new DebugRequestInterceptor(testResponse));
+  }
+
+  @Test
+  public void testResponseCode() {
+    testResponse.statusCode(123);
+    HttpResponse response = getResponse();
+    assertThat(response.getStatusCode()).isEqualTo(123);
+  }
+
+  @Test
+  public void testResponseBody() {
+    testResponse.payload("test");
+    HttpResponse response = getResponse();
+    assertThat(response.getResponse()).isEqualTo("test");
+  }
+
+  @Test
+  public void testEmptyResponseBody() {
+    testResponse.payload("");
+    HttpResponse response = getResponse();
+    assertThat(response.getResponse()).isEmpty();
+  }
+
+  @Test
+  public void testNullResponseBody() {
+    HttpResponse response = getResponse();
+    assertThat(response.getResponse()).isNull();
+  }
+
+  @Test
+  public void testEmptyHeaders() {
+    HttpResponse response = getResponse();
+    assertThat(response.getHeaders()).isEmpty();
+  }
+
+  @Test
+  public void testHeaders() {
+    testResponse
+      .header("foo", "bar")
+      .header("hello", "world");
+    HttpResponse response = getResponse();
+    assertThat(response.getHeaders())
+      .hasSize(2)
+      .containsEntry("foo", "bar")
+      .containsEntry("hello", "world")
+      .doesNotContainKey("unknown");
+
+    assertThat(response.getHeader("foo")).isEqualTo("bar");
+    assertThat(response.getHeader("hello")).isEqualTo("world");
+    assertThat(response.getHeader("unknown")).isNull();
+  }
+
+  protected HttpResponse getResponse() {
+    return connector.createRequest().url("http://camunda.com").get().execute();
+  }
+
+}
diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java
new file mode 100644
index 00000000000..ea21fc49c0c
--- /dev/null
+++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java
@@ -0,0 +1,63 @@
+/* Licensed 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.camunda.connect.httpclient;
+
+import java.io.IOException;
+
+import org.apache.http.HttpVersion;
+import org.apache.http.ProtocolVersion;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.message.BasicHttpResponse;
+
+public class TestResponse extends BasicHttpResponse implements CloseableHttpResponse {
+
+  public TestResponse() {
+    this(HttpVersion.HTTP_1_1, 200, "OK");
+  }
+
+  public TestResponse(ProtocolVersion ver, int code, String reason) {
+    super(ver, code, reason);
+  }
+
+  public TestResponse statusCode(int statusCode) {
+    setStatusCode(statusCode);
+    return this;
+  }
+
+  public TestResponse header(String field, String value) {
+    setHeader(field, value);
+    return this;
+  }
+
+  public TestResponse payload(String payload) {
+    return payload(payload, ContentType.TEXT_PLAIN);
+  }
+
+  public TestResponse payload(String payload, ContentType contentType) {
+    if (payload != null) {
+      setEntity(new StringEntity(payload, contentType));
+    }
+    else {
+      setEntity(null);
+    }
+    return this;
+  }
+
+  public void close() throws IOException {
+
+  }
+
+}
diff --git a/connect/http-client/src/test/resources/logback-test.xml b/connect/http-client/src/test/resources/logback-test.xml
new file mode 100644
index 00000000000..c8e6e5ee06a
--- /dev/null
+++ b/connect/http-client/src/test/resources/logback-test.xml
@@ -0,0 +1,11 @@
+
+  
+    
+      %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+    
+  
+
+  
+    
+  
+
diff --git a/connect/pom.xml b/connect/pom.xml
index 6121c985f3e..297b042bbb3 100644
--- a/connect/pom.xml
+++ b/connect/pom.xml
@@ -1,26 +1,23 @@
 
   4.0.0
 
-  
   
-    org.camunda
-    camunda-release-parent
-    2.5
-    
-    
+    org.camunda.connect
+    camunda-connect-bom
+    1.0.0-SNAPSHOT
+    bom
   
 
-  org.camunda.connect
   camunda-connect-root
-  1.0.0-SNAPSHOT
   camunda BPM - connect - parent
   pom
 
   
+    bom
     core
-    soap-httpclient
     dist
-    rest-httpclient
+    http-client
+    soap-http-client
   
 
   
@@ -52,12 +49,6 @@
         1.5.0
       
 
-      
-        ch.qos.logback
-        logback-core
-        1.1.2
-      
-
       
         ch.qos.logback
         logback-classic
@@ -75,7 +66,10 @@
           maven-bundle-plugin
           
             
-              org.camunda.bpm*
+              
+                !*impl*,
+                org.camunda.connect*
+              
             
           
         
@@ -91,11 +85,4 @@
     
   
 
-  
-    https://github.com/camunda/camunda-connect
-    scm:git:git@github.com:camunda/camunda-connect.git
-    scm:git:git@github.com:camunda/camunda-connect.git
-    HEAD
-  
-
 
diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java
deleted file mode 100644
index 5ab67cd5836..00000000000
--- a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnector.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/* Licensed 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.camunda.bpm.connect.rest.httpclient;
-
-import java.io.ByteArrayInputStream;
-import java.nio.charset.Charset;
-import java.util.Map;
-
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpDelete;
-import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPatch;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpPut;
-import org.apache.http.client.methods.HttpRequestBase;
-import org.apache.http.entity.InputStreamEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.camunda.bpm.connect.impl.AbstractConnector;
-
-/**
- * @author Stefan Hentschel.
- */
-public class RestHttpConnector extends AbstractConnector {
-
-  private final RestHttpConnectorLogger LOG = RestHttpLogger.REST_CONNECTOR_LOGGER;
-  public static final String ID = "rest-http-connector";
-
-  protected CloseableHttpClient httpClient;
-
-  public RestHttpConnector() {
-    httpClient = createClient();
-  }
-
-  protected CloseableHttpClient createClient() {
-    return HttpClients.createDefault();
-  }
-
-  public String getId() {
-    return ID;
-  }
-
-  /**
-   * create a new  REST request.
-   *
-   * @return {@link RestHttpRequest} the new request
-   */
-  public RestHttpRequest createRequest() {
-    return new RestHttpRequest(this);
-  }
-
-  /**
-   * Executes the request.
-   *
-   * @param request the request
-   * @return {@link RestHttpResponse} The response for the given request.
-   */
-  public RestHttpResponse execute(RestHttpRequest request) {
-    HttpRequestBase http = createTarget(request);
-
-    return execute(request, http);
-  }
-
-  /**
-   * Executes the request.
-   *
-   * @param request the given request
-   * @param http a apache Http* representation of the request
-   * @return {@link RestHttpResponse} The response for the given request.
-   */
-  public RestHttpResponse execute(RestHttpRequest request, HttpRequestBase http) {
-    try {
-      HttpRequestInvocation invocation = new HttpRequestInvocation(http, request, requestInterceptors, httpClient);
-
-      // route request through interceptor chain
-      return new RestHttpResponse((CloseableHttpResponse) invocation.proceed());
-
-    } catch (Exception e) {
-      throw LOG.unableToExecuteRequest(e);
-    }
-  }
-
-  /**
-   * creates a apache Http* representation of the request.
-   *
-   * @param httpRequest the given request
-   * @return {@link HttpRequestBase} an apache representation of the request
-   */
-  @SuppressWarnings("unchecked")
-  public  T createTarget(RestHttpRequest httpRequest) {
-    String requestType = httpRequest.getRequestType();
-    HttpRequestBase http;
-
-    if(requestType.equals("GET")) {
-      http = createHttpGet(httpRequest);
-
-    } else if(requestType.equals("POST")) {
-      http = createHttpPost(httpRequest);
-
-    } else if(requestType.equals("PUT")) {
-      http = createHttpPut(httpRequest);
-
-    } else if(requestType.equals("DELETE")) {
-      http = createHttpDelete(httpRequest);
-
-    } else if(requestType.equals("PATCH")) {
-      http = createHttpPatch(httpRequest);
-
-    } else {
-      throw LOG.invalidRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_TYPE, "request type not implemented");
-    }
-
-    return (T) http;
-  }
-
-  /**
-   * creates a HttpPost representation of the request
-   *
-   * @param httpRequest the given request.
-   * @return {@link HttpPost} the HttpPost representation of the request.
-   */
-  public HttpPost createHttpPost(RestHttpRequest httpRequest) {
-    // handle endpoint
-    String requestUrl = handleRequestUrl(httpRequest.getRequestUrl());
-    HttpPost httpPost = new HttpPost(requestUrl);
-
-    // handle headers
-    handleHeaders(httpPost, httpRequest.getRequestHeaders());
-
-    // handle payload
-    handlePayload(httpPost, httpRequest.getRequestPayload());
-
-    return httpPost;
-  }
-
-  /**
-   * creates a HttpGet representation of the request
-   *
-   * @param httpRequest the given request.
-   * @return {@link HttpGet} the HttpGet representation of the request.
-   */
-  public HttpGet createHttpGet(RestHttpRequest httpRequest) {
-    // handle endpoint
-    String requestUrl = handleRequestUrl(httpRequest.getRequestUrl());
-    HttpGet httpGet = new HttpGet(requestUrl);
-
-    // handle headers
-    handleHeaders(httpGet, httpRequest.getRequestHeaders());
-
-    // handle payload
-    if(httpRequest.getRequestPayload() != null) {
-      LOG.removedPayload(httpGet.getMethod());
-    }
-
-    return httpGet;
-  }
-
-  /**
-   * creates a HttpDelete representation of the request
-   *
-   * @param httpRequest the given request.
-   * @return {@link HttpDelete} the HttpDelete representation of the request.
-   */
-  public HttpDelete createHttpDelete(RestHttpRequest httpRequest) {
-    // handle endpoint
-    String requestUrl = handleRequestUrl(httpRequest.getRequestUrl());
-    HttpDelete httpDelete = new HttpDelete(requestUrl);
-
-    // handle headers
-    handleHeaders(httpDelete, httpRequest.getRequestHeaders());
-
-    // handle payload
-    if(httpRequest.getRequestPayload() != null) {
-      LOG.removedPayload(httpDelete.getMethod());
-    }
-
-    return httpDelete;
-  }
-
-  /**
-   * creates a HttpPut representation of the request
-   *
-   * @param httpRequest the given request.
-   * @return {@link HttpPut} the HttpPut representation of the request.
-   */
-  public HttpPut createHttpPut(RestHttpRequest httpRequest) {
-    // handle endpoint
-    String requestUrl = handleRequestUrl(httpRequest.getRequestUrl());
-    HttpPut httpPut = new HttpPut(requestUrl);
-
-    // handle headers
-    handleHeaders(httpPut, httpRequest.getRequestHeaders());
-
-    // handle payload
-    handlePayload(httpPut, httpRequest.getRequestPayload());
-
-    return httpPut;
-  }
-
-  /**
-   * creates a HttpPatch representation of the request
-   *
-   * @param httpRequest the given request.
-   * @return {@link HttpPatch} the HttpPatch representation of the request.
-   */
-  public HttpPatch createHttpPatch(RestHttpRequest httpRequest) {
-    // handle endpoint
-    String requestUrl = handleRequestUrl(httpRequest.getRequestUrl());
-    HttpPatch httpPatch = new HttpPatch(requestUrl);
-
-    // handle headers
-    handleHeaders(httpPatch, httpRequest.getRequestHeaders());
-
-    // handle payload
-    handlePayload(httpPatch, httpRequest.getRequestPayload());
-
-    return httpPatch;
-  }
-
-  /**
-   * Check if the requestUrl is not empty or null
-   *
-   * @param requestUrl target to which the request should be send
-   * @return target to which the request should be send
-   */
-  protected String handleRequestUrl(String requestUrl) {
-    if(requestUrl == null || requestUrl.isEmpty()) {
-      throw LOG.invalidRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_URL, "a request URL must be set");
-    }
-
-    return requestUrl;
-  }
-
-  /**
-   * Check if the headers are not null.
-   *
-   * @param headers current headers
-   * @param httpRequestBase apache request representation
-   */
-  protected void handleHeaders(HttpRequestBase httpRequestBase, Map headers) {
-    if(headers != null) {
-      for (Map.Entry entry : headers.entrySet()) {
-        httpRequestBase.setHeader(entry.getKey(), entry.getValue());
-        LOG.setHeader(entry.getKey(), entry.getValue());
-      }
-    }
-  }
-
-  /**
-   * Check if the payload are not empty or null.
-   *
-   * @param payload request data
-   * @param httpEntityEnclosingRequestBase apache request representation
-   */
-  protected void handlePayload(HttpEntityEnclosingRequestBase httpEntityEnclosingRequestBase, String payload) {
-    // handle payload
-    if(payload == null || payload.isEmpty()) {
-      throw LOG.invalidRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_PAYLOAD, "a payload must be set");
-    }
-    ByteArrayInputStream payloadStream = new ByteArrayInputStream(payload.getBytes(Charset.forName("utf-8")));
-    httpEntityEnclosingRequestBase.setEntity(new InputStreamEntity(payloadStream));
-  }
-}
diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnectorLogger.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnectorLogger.java
deleted file mode 100644
index a6d24fef85f..00000000000
--- a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpConnectorLogger.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Licensed 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.camunda.bpm.connect.rest.httpclient;
-
-import org.camunda.bpm.connect.ConnectorException;
-
-/**
- * @author Stefan Hentschel.
- */
-public class RestHttpConnectorLogger extends RestHttpLogger {
-
-  public void setHeader(String field, String value) {
-    logDebug("001", "Set header field '{}' to '{}'", field, value);
-  }
-
-  public ConnectorException unableToReadResponse(Exception cause) {
-    return new ConnectorException(exceptionMessage("001", "Unable to read connectorResponse: {}", cause.getMessage()), cause);
-  }
-
-  public ConnectorException invalidRequestParameter(String paramName, String value) {
-    return new ConnectorException(exceptionMessage("002", "Invalid value for request parameter '{}': '{}'", paramName, value));
-  }
-
-  public void removedPayload(String type) {
-    logDebug("003", "Request is of type: '{}'. Payload will not be send with this request!", type.toUpperCase());
-  }
-
-  public void removeNullHeader() {
-    logDebug("004", "Header cannot be null! Don't attach header to request.");
-  }
-
-  public ConnectorException unableToExecuteRequest(Exception cause) {
-    return new ConnectorException(exceptionMessage("005", "Unable to execute request"), cause);
-  }
-
-}
diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpRequest.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpRequest.java
deleted file mode 100644
index 43ce8d82329..00000000000
--- a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpRequest.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/* Licensed 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.camunda.bpm.connect.rest.httpclient;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.camunda.bpm.connect.impl.AbstractConnectorRequest;
-
-/**
- * @author Stefan Hentschel.
- */
-public class RestHttpRequest extends AbstractConnectorRequest {
-
-  private final RestHttpConnectorLogger LOG = RestHttpLogger.REST_CONNECTOR_LOGGER;
-
-  public static final String PARAM_NAME_REQUEST_URL = "requestUrl";
-  public static final String PARAM_NAME_REQUEST_HEADERS = "requestHeaders";
-  public static final String PARAM_NAME_REQUEST_TYPE = "requestType";
-  public static final String PARAM_NAME_REQUEST_PAYLOAD = "requestPayload";
-
-  public RestHttpRequest(RestHttpConnector connector) {
-    super(connector);
-  }
-
-  /**
-   * Set the url to which the request should be send.
-   *
-   * @param requestUrl url to which the request should be send
-   * @return {@link RestHttpRequest} current representation of the request
-   */
-  public RestHttpRequest requestUrl(String requestUrl) {
-    setRequestParameter(PARAM_NAME_REQUEST_URL, requestUrl);
-    return this;
-  }
-
-  /**
-   * Set a request type to the current request
-   * @param requestType type of the request
-   * @return {@link RestHttpRequest} current representation of the request
-   */
-  public RestHttpRequest requestType(String requestType) {
-    setRequestParameter(PARAM_NAME_REQUEST_TYPE, requestType.toUpperCase());
-    return this;
-  }
-
-  /**
-   * set a specific header.
-   *
-   * @param name name of the header
-   * @param value value of the header
-   * @return {@link RestHttpRequest} current representation of the request
-   */
-  public RestHttpRequest header(String name, String value) {
-
-    // A header with null name or null value would be senseless
-    if(name == null || value == null ) {
-      LOG.removeNullHeader();
-      return this;
-    }
-
-    Map headers = getRequestParameter(PARAM_NAME_REQUEST_HEADERS);
-
-    if(headers == null) {
-      headers = new HashMap();
-      setRequestParameter(PARAM_NAME_REQUEST_HEADERS, headers);
-    }
-    headers.put(name, value);
-    return this;
-  }
-
-  /**
-   * Set the request data for this request.
-   *
-   * @param payload request data
-   * @return {@link RestHttpRequest} current representation of the request
-   */
-  public RestHttpRequest requestPayload(String payload) {
-    setRequestParameter(PARAM_NAME_REQUEST_PAYLOAD, payload);
-    return this;
-  }
-
-  /**
-   * Set the content type of the current request
-   *
-   * @return RestHttpRequest the representation of the current request
-   */
-  public RestHttpRequest contentType(String value) {
-    return header("content-type", value);
-  }
-
-  /**
-   * Get the endpoint of the current request
-   *
-   * @return String request url
-   */
-  public String getRequestUrl() {
-    return getRequestParameter(PARAM_NAME_REQUEST_URL);
-  }
-
-  /**
-   * get all headers of the current request
-   *
-   * @return map of headers
-   */
-  public Map getRequestHeaders() {
-    return getRequestParameter(PARAM_NAME_REQUEST_HEADERS);
-  }
-
-  /**
-   * get the payload of the current request.
-   *
-   * @return String payload
-   */
-  public String getRequestPayload() {
-    return getRequestParameter(PARAM_NAME_REQUEST_PAYLOAD);
-  }
-
-  /**
-   * get the request type of the current request.
-   *
-   * @return String request type
-   */
-  public String getRequestType() {
-    return getRequestParameter(PARAM_NAME_REQUEST_TYPE);
-  }
-
-  /**
-   * Set POST as request type
-   *
-   * @return RestHttpRequest the representation of the current request
-   */
-  public RestHttpRequest post() {
-    return requestType("POST");
-  }
-
-  /**
-   * Set GET as request type
-   *
-   * @return RestHttpRequest the representation of the current request
-   */
-  public RestHttpRequest get() {
-    return requestType("GET");
-  }
-
-  /**
-   * Set PUT as request type
-   *
-   * @return RestHttpRequest the representation of the current request
-   */
-  public RestHttpRequest put() {
-    return requestType("PUT");
-  }
-
-  /**
-   * Set PATCH as request type
-   *
-   * @return RestHttpRequest the representation of the current request
-   */
-  public RestHttpRequest patch() {
-    return requestType("PATCH");
-  }
-
-  /**
-   * Set DELETE as request type
-   *
-   * @return RestHttpRequest the representation of the current request
-   */
-  public RestHttpRequest delete() {
-    return requestType("DELETE");
-  }
-}
diff --git a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpResponse.java b/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpResponse.java
deleted file mode 100644
index b3ff6b4ef78..00000000000
--- a/connect/rest-httpclient/src/main/java/org/camunda/bpm/connect/rest/httpclient/RestHttpResponse.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Licensed 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.camunda.bpm.connect.rest.httpclient;
-
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.camunda.bpm.connect.impl.AbstractConnectorResponse;
-import org.camunda.commons.utils.IoUtil;
-
-import java.io.IOException;
-import java.util.Map;
-
-/**
- * @author Stefan Hentschel.
- */
-public class RestHttpResponse extends AbstractConnectorResponse {
-
-  private final RestHttpConnectorLogger LOG = RestHttpLogger.REST_CONNECTOR_LOGGER;
-
-  public static final String PARAM_NAME_STATUS_CODE = "statusCode";
-  public static final String PARAM_NAME_RESPONSE = "response";
-
-  protected CloseableHttpResponse httpResponse;
-
-  public RestHttpResponse(CloseableHttpResponse httpResponse) {
-    this.httpResponse = httpResponse;
-  }
-
-  /**
-   * Fetch the status code of the response
-   *
-   * @return the status code of the response
-   */
-  public Integer getStatusCode() {
-    return getResponseParameter(PARAM_NAME_STATUS_CODE);
-  }
-
-  /**
-   * Fetch the body of the response
-   *
-   * @return the response body
-   */
-  public String getResponse() {
-    return getResponseParameter(PARAM_NAME_RESPONSE);
-  }
-
-  /**
-   * @param responseParameters response parameters.
-   */
-  protected void collectResponseParameters(Map responseParameters) {
-    try {
-      responseParameters.put(PARAM_NAME_STATUS_CODE, httpResponse.getStatusLine().getStatusCode());
-      responseParameters.put(PARAM_NAME_RESPONSE, IoUtil.inputStreamAsString(httpResponse.getEntity().getContent()));
-    } catch (IllegalStateException e) {
-      throw LOG.unableToReadResponse(e);
-    } catch (IOException e) {
-      throw LOG.unableToReadResponse(e);
-    } finally {
-      IoUtil.closeSilently(httpResponse);
-    }
-  }
-}
diff --git a/connect/rest-httpclient/src/main/resources/log4j.properties b/connect/rest-httpclient/src/main/resources/log4j.properties
deleted file mode 100644
index c39fc93db44..00000000000
--- a/connect/rest-httpclient/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-log4j.rootLogger=INFO, stdout
-
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n
-
-log4j.logger.org.apache.http=DEBUG
diff --git a/connect/rest-httpclient/src/test/java/RestHttpClientTest.java b/connect/rest-httpclient/src/test/java/RestHttpClientTest.java
deleted file mode 100644
index e3a4cd3d61b..00000000000
--- a/connect/rest-httpclient/src/test/java/RestHttpClientTest.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/* Licensed 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.
- */
-
-import org.apache.http.client.methods.*;
-import org.camunda.bpm.connect.ConnectorException;
-import org.camunda.bpm.connect.rest.httpclient.RestHttpConnector;
-import org.camunda.bpm.connect.rest.httpclient.RestHttpRequest;
-import org.camunda.commons.utils.IoUtil;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.io.IOException;
-import java.util.HashMap;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/**
- * @author Stefan Hentschel.
- */
-public class RestHttpClientTest {
-
-  private RestHttpConnector connector;
-  private RestHttpRequest request;
-
-  @Before
-  public void createRequest() {
-    connector = new RestHttpConnector();
-    request = connector.createRequest()
-      .requestUrl("http://camunda.org/rest")
-      .contentType("application/json")
-      .header("test", "test2")
-      .requestPayload("test");
-  }
-
-  @Test
-  public void shouldComposeHttpPost() throws IOException {
-    request.post();
-
-    HttpPost httpPost = connector.createTarget(request);
-
-    assertThat(httpPost.getMethod()).isEqualTo("POST");
-    assertThat(httpPost.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest");
-    assertThat(httpPost.getAllHeaders()).hasSize(2);
-    assertThat(httpPost.getFirstHeader("Content-Type").getValue()).isEqualTo("application/json");
-    String content = IoUtil.inputStreamAsString(httpPost.getEntity().getContent());
-    assertThat(content).isEqualTo("test");
-  }
-
-  @Test
-  public void shouldComposeHttpGet() throws IOException {
-    request.get();
-
-    HttpGet httpGet = connector.createTarget(request);
-
-    assertThat(httpGet.getMethod()).isEqualTo("GET");
-    assertThat(httpGet.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest");
-    assertThat(httpGet.getAllHeaders()).hasSize(2);
-    assertThat(httpGet.getFirstHeader("Content-Type").getValue()).isEqualTo("application/json");
-  }
-
-  @Test
-  public void shouldComposeHttpPut() throws IOException {
-    request.put();
-
-    HttpPut httpPut = connector.createTarget(request);
-
-    assertThat(httpPut.getMethod()).isEqualTo("PUT");
-    assertThat(httpPut.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest");
-    assertThat(httpPut.getAllHeaders()).hasSize(2);
-    assertThat(httpPut.getFirstHeader("Content-Type").getValue()).isEqualTo("application/json");
-  }
-
-  @Test
-  public void shouldComposeHttpPatch() throws IOException {
-    request.patch();
-
-    HttpPatch httpPatch = connector.createTarget(request);
-
-    assertThat(httpPatch.getMethod()).isEqualTo("PATCH");
-    assertThat(httpPatch.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest");
-    assertThat(httpPatch.getAllHeaders()).hasSize(2);
-    assertThat(httpPatch.getFirstHeader("Content-Type").getValue()).isEqualTo("application/json");
-  }
-
-  @Test
-  public void shouldComposeHttpDelete() throws IOException {
-    request.delete();
-
-    HttpDelete httpDelete = connector.createTarget(request);
-
-    assertThat(httpDelete.getMethod()).isEqualTo("DELETE");
-    assertThat(httpDelete.getURI().toASCIIString()).isEqualTo("http://camunda.org/rest");
-    assertThat(httpDelete.getAllHeaders()).hasSize(2);
-    assertThat(httpDelete.getFirstHeader("Content-Type").getValue()).isEqualTo("application/json");
-  }
-
-  @Test
-  public void shouldNotFailIfNoPayLoadIsSet() {
-    request.requestPayload(null);
-
-    connector.createHttpGet(request);
-    connector.createHttpDelete(request);
-  }
-
-  @Test
-  public void shouldNotFailIfNoHeadersAreSet() {
-    request.setRequestParameter(RestHttpRequest.PARAM_NAME_REQUEST_HEADERS, null);
-    request.post();
-    connector.createTarget(request);
-  }
-
-  @Test
-  public void shouldSetAdditionalHeaders() {
-    request.header("Accept", "application/xml");
-
-    HttpPost httpPost = connector.createHttpPost(request);
-
-    assertThat(httpPost.getFirstHeader("Accept").getValue()).isEqualTo("application/xml");
-  }
-
-  @Test
-  public void shouldNotSetAdditionalHeadersWithNull() {
-    request.header("Accept", null);
-
-    HttpPost httpPost = connector.createHttpPost(request);
-
-    assertThat(httpPost.getFirstHeader("Accept")).isEqualTo(null);
-  }
-
-  @Test
-  public void shouldSetAdditionalRequestParameters() {
-    HashMap params = new HashMap();
-    params.put("foo", "bar");
-    params.put("test", "test");
-
-    request
-      .get()
-      .setRequestParameter("hello", "world");
-    request.setRequestParameters(params);
-
-    assertThat(request.getRequestParameter("hello")).isEqualTo("world");
-    assertThat(request.getRequestParameter("foo")).isEqualTo("bar");
-    assertThat(request.getRequestParameter("test")).isEqualTo("test");
-  }
-
-  @Test(expected = ConnectorException.class)
-  public void shouldFailIfNoPostPayLoadIsSet() {
-
-    request.requestPayload(null);
-    connector.createHttpPost(request);
-  }
-
-  @Test(expected = ConnectorException.class)
-  public void shouldFailIfNoPutPostPayLoadIsSet() {
-
-    request.requestPayload(null);
-    connector.createHttpPut(request);
-  }
-
-  @Test(expected = ConnectorException.class)
-  public void shouldFailIfNoPatchPayLoadIsSet() {
-
-    request.requestPayload(null);
-    connector.createHttpPatch(request);
-  }
-
-  @Test(expected = ConnectorException.class)
-  public void shouldFailIfNoGetRequestUrlIsSet() {
-    request.requestUrl(null);
-    connector.createHttpGet(request);
-  }
-
-  @Test(expected = ConnectorException.class)
-  public void shouldFailIfNoPostRequestUrlIsSet() {
-    request.requestUrl(null);
-    connector.createHttpPost(request);
-  }
-
-  @Test(expected = ConnectorException.class)
-  public void shouldFailIfNoPutRequestUrlIsSet() {
-    request.requestUrl(null);
-    connector.createHttpPut(request);
-  }
-
-  @Test(expected = ConnectorException.class)
-  public void shouldFailIfNoPatchRequestUrlIsSet() {
-    request.requestUrl(null);
-    connector.createHttpPatch(request);
-  }
-
-  @Test(expected = ConnectorException.class)
-  public void shouldFailIfNoDeleteRequestUrlIsSet() {
-    request.requestUrl(null);
-    connector.createHttpDelete(request);
-  }
-}
diff --git a/connect/soap-httpclient/pom.xml b/connect/soap-http-client/pom.xml
similarity index 66%
rename from connect/soap-httpclient/pom.xml
rename to connect/soap-http-client/pom.xml
index 3c788c176ac..cf5fe3faf15 100644
--- a/connect/soap-httpclient/pom.xml
+++ b/connect/soap-http-client/pom.xml
@@ -7,36 +7,21 @@
     1.0.0-SNAPSHOT
   
 
-  camunda-connect-soap-httpclient
-  camunda BPM - connect - soap httpclient
+  camunda-connect-soap-http-client
+  camunda BPM - connect - soap http client
 
   
 
-    
-      org.camunda.commons
-      camunda-commons-logging
-    
-
-    
-      org.camunda.commons
-      camunda-commons-utils
-    
-
     
       org.camunda.connect
-      camunda-connect-core
+      camunda-connect-http-client
       ${project.version}
     
 
-    
-      org.apache.httpcomponents
-      httpclient
-    
-
     
       junit
       junit
-      provided
+      test
     
 
     
@@ -45,12 +30,6 @@
       test
     
 
-    
-      ch.qos.logback
-      logback-core
-      test
-    
-
     
       ch.qos.logback
       logback-classic
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java
new file mode 100644
index 00000000000..b2c5ac77ff9
--- /dev/null
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java
@@ -0,0 +1,22 @@
+/* Licensed 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.camunda.connect.httpclient.soap;
+
+import org.camunda.connect.Connectors;
+import org.camunda.connect.spi.Connector;
+
+public interface SoapHttpConnector extends Connector {
+
+  static final String ID = Connectors.SOAP_HTTP_CONNECTOR_ID;
+
+}
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorLogger.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorLogger.java
new file mode 100644
index 00000000000..13379e2b68e
--- /dev/null
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorLogger.java
@@ -0,0 +1,28 @@
+/* Licensed 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.camunda.connect.httpclient.soap;
+
+import org.camunda.connect.ConnectorRequestException;
+
+public class SoapHttpConnectorLogger extends SoapHttpLogger {
+
+  public ConnectorRequestException invalidRequestMethod(String method) {
+    return new ConnectorRequestException(exceptionMessage("001", "Invalid request method '{}'", method));
+  }
+
+  public ConnectorRequestException noPayloadSet() {
+    return new ConnectorRequestException(exceptionMessage("002", "No payload set on request"));
+  }
+
+}
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java
new file mode 100644
index 00000000000..c100e78d234
--- /dev/null
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java
@@ -0,0 +1,20 @@
+/* Licensed 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.camunda.connect.httpclient.soap;
+
+import org.camunda.connect.spi.ConnectorProvider;
+
+public interface SoapHttpConnectorProvider extends ConnectorProvider {
+
+}
diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpLogger.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpLogger.java
similarity index 86%
rename from connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpLogger.java
rename to connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpLogger.java
index d540db9c273..2c4c6c8ef14 100644
--- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpLogger.java
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpLogger.java
@@ -11,16 +11,14 @@
  * limitations under the License.
  */
 
-package org.camunda.bpm.connect.soap.httpclient;
+package org.camunda.connect.httpclient.soap;
 
 import org.camunda.commons.logging.BaseLogger;
 
-/**
- * @author Sebastian Menski
- */
-public class SoapHttpLogger extends BaseLogger {
+public abstract class SoapHttpLogger extends BaseLogger {
 
   public static final String PROJECT_CODE = "SOAPC";
 
   public static SoapHttpConnectorLogger SOAP_CONNECTOR_LOGGER = createLogger(SoapHttpConnectorLogger.class, PROJECT_CODE, "org.camunda.bpm.connect.soap.httpclient.connector", "01");
+
 }
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java
new file mode 100644
index 00000000000..691147122b2
--- /dev/null
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java
@@ -0,0 +1,35 @@
+/* Licensed 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.camunda.connect.httpclient.soap;
+
+import org.camunda.connect.httpclient.HttpBaseRequest;
+
+public interface SoapHttpRequest extends HttpBaseRequest {
+
+  String HEADER_SOAP_ACTION = "SOAPAction";
+
+  /**
+   * Sets the SOAPAction header field (used until SOAP 1.1).
+   *
+   * @param value the value to set
+   * @return this request
+   */
+  SoapHttpRequest soapAction(String value);
+
+  /**
+   * @return the SOAPAction header field value (used until SOAP 1.1) or null if not set
+   */
+  String getSoapAction();
+
+}
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java
new file mode 100644
index 00000000000..7ec5f583a13
--- /dev/null
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java
@@ -0,0 +1,19 @@
+/* Licensed 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.camunda.connect.httpclient.soap;
+
+import org.camunda.connect.httpclient.HttpResponse;
+
+public interface SoapHttpResponse extends HttpResponse {
+
+}
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java
new file mode 100644
index 00000000000..7ebbd48e8e9
--- /dev/null
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java
@@ -0,0 +1,62 @@
+/* Licensed 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.camunda.connect.httpclient.soap.impl;
+
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpRequestBase;
+import org.camunda.connect.httpclient.impl.AbstractHttpConnector;
+import org.camunda.connect.httpclient.impl.AbstractHttpRequest;
+import org.camunda.connect.httpclient.soap.SoapHttpConnector;
+import org.camunda.connect.httpclient.soap.SoapHttpConnectorLogger;
+import org.camunda.connect.httpclient.soap.SoapHttpLogger;
+import org.camunda.connect.httpclient.soap.SoapHttpRequest;
+import org.camunda.connect.httpclient.soap.SoapHttpResponse;
+
+public class SoapHttpConnectorImpl extends AbstractHttpConnector implements SoapHttpConnector {
+
+  protected static final SoapHttpConnectorLogger LOG = SoapHttpLogger.SOAP_CONNECTOR_LOGGER;
+
+  public SoapHttpConnectorImpl() {
+    super(SoapHttpConnector.ID);
+  }
+
+  public SoapHttpConnectorImpl(String connectorId) {
+    super(connectorId);
+  }
+
+  public SoapHttpRequest createRequest() {
+    return new SoapHttpRequestImpl(this);
+  }
+
+  protected SoapHttpResponse createResponse(CloseableHttpResponse response) {
+    return new SoapHttpResponseImpl(response);
+  }
+
+  @Override
+  public SoapHttpResponse execute(SoapHttpRequest request) {
+    // always use the POST method
+    ((AbstractHttpRequest) request).post();
+
+    return super.execute(request);
+  }
+
+  @Override
+  protected  void applyPayload(T httpRequest, SoapHttpRequest request) {
+    // SOAP requires soap envelop body
+    if (request.getPayload() == null || request.getPayload().trim().isEmpty()) {
+      throw LOG.noPayloadSet();
+    }
+    super.applyPayload(httpRequest, request);
+  }
+
+}
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java
new file mode 100644
index 00000000000..1baaa46a072
--- /dev/null
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java
@@ -0,0 +1,29 @@
+/* Licensed 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.camunda.connect.httpclient.soap.impl;
+
+import org.camunda.connect.httpclient.soap.SoapHttpConnector;
+import org.camunda.connect.spi.ConnectorProvider;
+
+public class SoapHttpConnectorProviderImpl implements ConnectorProvider {
+
+  public String getConnectorId() {
+    return SoapHttpConnector.ID;
+  }
+
+  public SoapHttpConnector createConnectorInstance() {
+    return new SoapHttpConnectorImpl(SoapHttpConnector.ID);
+  }
+
+}
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java
new file mode 100644
index 00000000000..b3b4ab515f1
--- /dev/null
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java
@@ -0,0 +1,49 @@
+/* Licensed 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.camunda.connect.httpclient.soap.impl;
+
+import org.apache.http.client.methods.HttpPost;
+import org.camunda.connect.httpclient.impl.AbstractHttpRequest;
+import org.camunda.connect.httpclient.soap.SoapHttpConnector;
+import org.camunda.connect.httpclient.soap.SoapHttpConnectorLogger;
+import org.camunda.connect.httpclient.soap.SoapHttpLogger;
+import org.camunda.connect.httpclient.soap.SoapHttpRequest;
+import org.camunda.connect.httpclient.soap.SoapHttpResponse;
+
+public class SoapHttpRequestImpl extends AbstractHttpRequest implements SoapHttpRequest {
+
+  protected static final SoapHttpConnectorLogger LOG = SoapHttpLogger.SOAP_CONNECTOR_LOGGER;
+
+  public SoapHttpRequestImpl(SoapHttpConnector connector) {
+    super(connector);
+  }
+
+  public SoapHttpRequest soapAction(String value) {
+    return header(HEADER_SOAP_ACTION, value);
+  }
+
+  public String getSoapAction() {
+    return getHeader(HEADER_SOAP_ACTION);
+  }
+
+  @Override
+  public SoapHttpRequest method(String method) {
+    // only allow post request
+    if (!HttpPost.METHOD_NAME.equals(method)) {
+      throw LOG.invalidRequestMethod(method);
+    }
+    super.method(method);
+    return this;
+  }
+
+}
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java
new file mode 100644
index 00000000000..800ab1c723f
--- /dev/null
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java
@@ -0,0 +1,25 @@
+/* Licensed 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.camunda.connect.httpclient.soap.impl;
+
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.camunda.connect.httpclient.impl.HttpResponseImpl;
+import org.camunda.connect.httpclient.soap.SoapHttpResponse;
+
+public class SoapHttpResponseImpl extends HttpResponseImpl implements SoapHttpResponse {
+
+  public SoapHttpResponseImpl(CloseableHttpResponse httpResponse) {
+    super(httpResponse);
+  }
+
+}
diff --git a/connect/soap-http-client/src/main/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider b/connect/soap-http-client/src/main/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
new file mode 100644
index 00000000000..020bf10c057
--- /dev/null
+++ b/connect/soap-http-client/src/main/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
@@ -0,0 +1 @@
+org.camunda.connect.httpclient.soap.impl.SoapHttpConnectorProviderImpl
diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java
new file mode 100644
index 00000000000..fd1c66748d4
--- /dev/null
+++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java
@@ -0,0 +1,52 @@
+/* Licensed 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.camunda.connect.soap.httpclient;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.apache.http.client.methods.HttpPost;
+import org.camunda.connect.Connectors;
+import org.camunda.connect.httpclient.soap.SoapHttpConnector;
+import org.camunda.connect.httpclient.soap.impl.SoapHttpConnectorImpl;
+import org.camunda.connect.impl.DebugRequestInterceptor;
+import org.camunda.connect.spi.Connector;
+import org.junit.Before;
+import org.junit.Test;
+
+public class SoapHttpConnectorTest {
+
+  public SoapHttpConnector connector;
+
+  @Before
+  public void createConnector() {
+    connector = new SoapHttpConnectorImpl();
+  }
+
+  @Test
+  public void shouldDiscoverConnector() {
+    Connector soap = Connectors.getConnector(SoapHttpConnector.ID);
+    assertThat(soap).isNotNull();
+  }
+
+  @Test
+  public void shouldCreateHttpPostRequestByDefault() {
+    DebugRequestInterceptor interceptor = new DebugRequestInterceptor(false);
+    connector.addRequestInterceptor(interceptor);
+    connector.createRequest().url("http://camunda.org").payload("test").soapAction("as").execute();
+
+    Object target = interceptor.getTarget();
+    assertThat(target).isInstanceOf(HttpPost.class);
+  }
+
+}
diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java
new file mode 100644
index 00000000000..7e3ff46a10f
--- /dev/null
+++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java
@@ -0,0 +1,38 @@
+/* Licensed 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.camunda.connect.soap.httpclient;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.camunda.connect.Connectors;
+import org.camunda.connect.httpclient.soap.SoapHttpConnector;
+import org.camunda.connect.httpclient.soap.SoapHttpRequest;
+import org.junit.Before;
+import org.junit.Test;
+
+public class SoapHttpRequestTest {
+
+  private SoapHttpConnector connector;
+
+  @Before
+  public void createRequest() {
+    connector = Connectors.getConnector(SoapHttpConnector.ID);
+  }
+
+  @Test
+  public void shouldSetSoapAction() {
+    SoapHttpRequest request = connector.createRequest().soapAction("test");
+    assertThat(request.getSoapAction()).isEqualTo("test");
+  }
+
+}
diff --git a/connect/soap-http-client/src/test/resources/logback-test.xml b/connect/soap-http-client/src/test/resources/logback-test.xml
new file mode 100644
index 00000000000..c8e6e5ee06a
--- /dev/null
+++ b/connect/soap-http-client/src/test/resources/logback-test.xml
@@ -0,0 +1,11 @@
+
+  
+    
+      %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+    
+  
+
+  
+    
+  
+
diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/HttpRequestInvocation.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/HttpRequestInvocation.java
deleted file mode 100644
index a4119e3540f..00000000000
--- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/HttpRequestInvocation.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Licensed 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.camunda.bpm.connect.soap.httpclient;
-
-import java.util.List;
-
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpPost;
-import org.camunda.bpm.connect.ConnectorRequest;
-import org.camunda.bpm.connect.impl.AbstractRequestInvocation;
-import org.camunda.bpm.connect.interceptor.RequestInterceptor;
-
-/**
- * @author Daniel Meyer
- *
- */
-public class HttpRequestInvocation extends  AbstractRequestInvocation {
-
-  protected HttpClient client;
-
-  /**
-   * @param target the HttpPostRequest
-   * @param interceptorChain the intceptor chain
-   * @param client the HttpClient to execute the request on
-   */
-  public HttpRequestInvocation(HttpPost target, ConnectorRequest request, List interceptorChain, HttpClient client) {
-    super(target, request, interceptorChain);
-    this.client = client;
-  }
-
-  public Object invokeTarget() throws Exception {
-    // execute the request
-    return client.execute(target);
-  }
-
-}
diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java
deleted file mode 100644
index bfc12ece992..00000000000
--- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnector.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Licensed 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.camunda.bpm.connect.soap.httpclient;
-
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.InputStreamEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.camunda.bpm.connect.impl.AbstractConnector;
-
-import java.io.ByteArrayInputStream;
-import java.nio.charset.Charset;
-import java.util.Map;
-import java.util.Map.Entry;
-
-/**
- * @author Daniel Meyer
- *
- */
-public class SoapHttpConnector extends AbstractConnector {
-
-  private static final SoapHttpConnectorLogger LOG = SoapHttpLogger.SOAP_CONNECTOR_LOGGER;
-
-  public static final String ID = "soap-http-connector";
-
-  protected CloseableHttpClient httpClient;
-
-  public SoapHttpConnector() {
-    httpClient = createClient();
-  }
-
-  public String getId() {
-    return ID;
-  }
-
-  // lifecycle and configuration //////////////////////////////
-
-  protected CloseableHttpClient createClient() {
-    return HttpClients.createDefault();
-  }
-
-  // request handling ////////////////////////////////////////
-
-  public SoapHttpRequest createRequest() {
-    return new SoapHttpRequest(this);
-  }
-
-  public SoapHttpResponse execute(SoapHttpRequest soapHttpRequest) {
-
-    // create the http post
-    HttpPost httpPost = createHttpPost(soapHttpRequest);
-
-    try {
-
-      HttpRequestInvocation invocation = new HttpRequestInvocation(httpPost, soapHttpRequest, requestInterceptors, httpClient);
-
-      // route request through interceptor chain
-      return new SoapHttpResponse((CloseableHttpResponse) invocation.proceed());
-
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
-
-    return null;
-  }
-
-  /**
-   * Transforms the {@link SoapHttpRequest} into a {@link HttpPost} object which can be executed by the HttpClient.
-   *
-   * @param soapHttpRequest the request object to transform
-   * @return the HttpPost object
-   */
-  protected HttpPost createHttpPost(SoapHttpRequest soapHttpRequest) {
-
-    // handle endpoint
-    String endpointUrl = soapHttpRequest.getEndpointUrl();
-    if(endpointUrl == null || endpointUrl.isEmpty()) {
-      throw LOG.invalidRequestParameter(SoapHttpRequest.PARAM_NAME_ENDPOINT_URL, "param must be set");
-    }
-    HttpPost httpPost = new HttpPost(endpointUrl);
-
-    // handle headers
-    Map headers = soapHttpRequest.getHeaders();
-    if(headers != null) {
-      for (Entry entry : headers.entrySet()) {
-        httpPost.setHeader(entry.getKey(), entry.getValue());
-        LOG.setHeader(entry.getKey(), entry.getValue());
-      }
-    }
-
-    // handle payload
-    String soapEnvelope = soapHttpRequest.getSoapEnvelope();
-    if(soapEnvelope == null || soapEnvelope.isEmpty()) {
-      throw LOG.invalidRequestParameter(SoapHttpRequest.PARAM_NAME_SOAP_ENVELOPE, "param must be set");
-    }
-    ByteArrayInputStream envelopeStream = new ByteArrayInputStream(soapEnvelope.getBytes(Charset.forName("utf-8")));
-    httpPost.setEntity(new InputStreamEntity(envelopeStream));
-
-    return httpPost;
-  }
-
-}
diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java
deleted file mode 100644
index bb3d673f6b5..00000000000
--- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpConnectorLogger.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Licensed 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.camunda.bpm.connect.soap.httpclient;
-
-import org.camunda.bpm.connect.ConnectorException;
-
-/**
- * @author Sebastian Menski
- */
-public class SoapHttpConnectorLogger extends SoapHttpLogger {
-
-  public void setHeader(String field, String value) {
-    logDebug("001", "Set header field '{}' to '{}'", field, value);
-  }
-
-  public ConnectorException unableToReadResponse(Exception cause) {
-    return new ConnectorException(exceptionMessage("001", "Unable to read connectorResponse: {}", cause.getMessage()), cause);
-  }
-
-  public ConnectorException invalidRequestParameter(String paramName, String value) {
-    return new ConnectorException(exceptionMessage("002", "Invalid value for request parameter '{}': '{}'", paramName, value));
-  }
-
-}
diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java
deleted file mode 100644
index a08d1547d52..00000000000
--- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpRequest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Licensed 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.camunda.bpm.connect.soap.httpclient;
-
-import org.camunda.bpm.connect.impl.AbstractConnectorRequest;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Defines a soap http request.
- *
- * @author Daniel Meyer
- *
- */
-public class SoapHttpRequest extends AbstractConnectorRequest {
-
-  public static final String PARAM_NAME_ENDPOINT_URL = "endpointUrl";
-  public static final String PARAM_NAME_SOAP_ENVELOPE = "soapEnvelope";
-  public static final String PARAM_NAME_HEADERS = "headers";
-
-  public SoapHttpRequest(SoapHttpConnector connector) {
-    super(connector);
-  }
-
-  // fluent configuration ///////////////////////
-
-  public SoapHttpRequest endpointUrl(String endpointUrl) {
-    setRequestParameter(PARAM_NAME_ENDPOINT_URL, endpointUrl);
-    return this;
-  }
-
-  public SoapHttpRequest soapEnvelope(String envelope) {
-    setRequestParameter(PARAM_NAME_SOAP_ENVELOPE, envelope);
-    return this;
-  }
-
-  public SoapHttpRequest header(String name, String value) {
-    Map headers = getRequestParameter(PARAM_NAME_HEADERS);
-    // ensure headers are initialized
-    if(headers == null) {
-      headers = new HashMap();
-      setRequestParameter(PARAM_NAME_HEADERS, headers);
-    }
-    headers.put(name, value);
-    return this;
-  }
-
-  public SoapHttpRequest soapAction(String value) {
-    return header("SOAPAction", value);
-  }
-
-  public SoapHttpRequest contentType(String value) {
-    return header("Content-Type", value);
-  }
-
-  // getters ///////////////////////////////////
-
-  public Map getHeaders() {
-    return getRequestParameter(PARAM_NAME_HEADERS);
-  }
-
-  public String getEndpointUrl() {
-    return getRequestParameter(PARAM_NAME_ENDPOINT_URL);
-  }
-
-  public String getSoapEnvelope() {
-    return getRequestParameter(PARAM_NAME_SOAP_ENVELOPE);
-  }
-}
diff --git a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java b/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java
deleted file mode 100644
index db53e3a073f..00000000000
--- a/connect/soap-httpclient/src/main/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpResponse.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Licensed 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.camunda.bpm.connect.soap.httpclient;
-
-import java.io.IOException;
-import java.util.Map;
-
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.camunda.bpm.connect.impl.AbstractConnectorResponse;
-import org.camunda.commons.utils.IoUtil;
-
-/**
- * @author Daniel Meyer
- *
- */
-public class SoapHttpResponse extends AbstractConnectorResponse {
-
-  private final SoapHttpConnectorLogger LOG = SoapHttpLogger.SOAP_CONNECTOR_LOGGER;
-
-  public static final String PARAM_NAME_STATUS_CODE = "statusCode";
-  public static final String PARAM_NAME_RESPONSE = "response";
-
-  protected CloseableHttpResponse httpResponse;
-
-  public SoapHttpResponse(CloseableHttpResponse httpResponse) {
-    this.httpResponse = httpResponse;
-  }
-
-  public Integer getStatusCode() {
-    return getResponseParameter(PARAM_NAME_STATUS_CODE);
-  }
-
-  public String getResponse() {
-    return getResponseParameter(PARAM_NAME_RESPONSE);
-  }
-
-  protected void collectResponseParameters(Map responseParameters) {
-    try {
-      responseParameters.put(PARAM_NAME_STATUS_CODE, httpResponse.getStatusLine().getStatusCode());
-      responseParameters.put(PARAM_NAME_RESPONSE, IoUtil.inputStreamAsString(httpResponse.getEntity().getContent()));
-
-    } catch (IllegalStateException e) {
-      throw LOG.unableToReadResponse(e);
-    } catch (IOException e) {
-      throw LOG.unableToReadResponse(e);
-    } finally {
-      IoUtil.closeSilently(httpResponse);
-    }
-  }
-
-}
diff --git a/connect/soap-httpclient/src/main/resources/log4j.properties b/connect/soap-httpclient/src/main/resources/log4j.properties
deleted file mode 100644
index c39fc93db44..00000000000
--- a/connect/soap-httpclient/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-log4j.rootLogger=INFO, stdout
-
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n
-
-log4j.logger.org.apache.http=DEBUG
diff --git a/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java b/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java
deleted file mode 100644
index 7ad8a6492cf..00000000000
--- a/connect/soap-httpclient/src/test/java/org/camunda/bpm/connect/soap/httpclient/SoapHttpClientTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Licensed 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.camunda.bpm.connect.soap.httpclient;
-
-import org.apache.http.client.methods.HttpPost;
-import org.camunda.bpm.connect.ConnectorException;
-import org.camunda.commons.utils.IoUtil;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.io.IOException;
-import java.util.HashMap;
-
-import static org.assertj.core.api.Assertions.assertThat;
-
-/**
- * @author Daniel Meyer
- *
- */
-public class SoapHttpClientTest {
-
-  private SoapHttpConnector connector;
-  private SoapHttpRequest request;
-
-  @Before
-  public void createRequest() {
-    connector = new SoapHttpConnector();
-    request = connector.createRequest()
-      .contentType("application/xml")
-      .endpointUrl("http://camunda.org/soap")
-      .soapAction("action")
-      .soapEnvelope("test");
-  }
-
-  @Test
-  public void shouldComposeHttpPost() throws IOException {
-    HttpPost httpPost = connector.createHttpPost(request);
-
-    assertThat(httpPost.getMethod()).isEqualTo("POST");
-    assertThat(httpPost.getURI().toASCIIString()).isEqualTo("http://camunda.org/soap");
-    assertThat(httpPost.getAllHeaders()).hasSize(2);
-    assertThat(httpPost.getFirstHeader("Content-Type").getValue()).isEqualTo("application/xml");
-    assertThat(httpPost.getFirstHeader("SOAPAction").getValue()).isEqualTo("action");
-    String content = IoUtil.inputStreamAsString(httpPost.getEntity().getContent());
-    assertThat(content).isEqualTo("test");
-  }
-
-  @Test(expected = ConnectorException.class)
-  public void shouldFailIfNoEnvelopeIsSet() {
-    request.soapEnvelope(null);
-    connector.createHttpPost(request);
-  }
-
-  @Test(expected = ConnectorException.class)
-  public void shouldFailIfNoEndpointUrlIsSet() {
-    request.endpointUrl(null);
-    connector.createHttpPost(request);
-  }
-
-  public void shouldNotFailIfNoHeadersAreSet() {
-    request.setRequestParameter(SoapHttpRequest.PARAM_NAME_HEADERS, null);
-    connector.createHttpPost(request);
-  }
-
-  @Test
-  public void shouldSetAdditionalHeaders() {
-    request.header("Accept", "application/xml");
-
-    HttpPost httpPost = connector.createHttpPost(request);
-
-    assertThat(httpPost.getFirstHeader("Accept").getValue()).isEqualTo("application/xml");
-  }
-
-  @Test
-  public void shouldSetAdditionalRequestParameters() {
-    request.setRequestParameter("hello", "world");
-
-    HashMap params = new HashMap();
-    params.put("foo", "bar");
-    params.put("test", "test");
-    request.setRequestParameters(params);
-
-    assertThat(request.getRequestParameter("hello")).isEqualTo("world");
-    assertThat(request.getRequestParameter("foo")).isEqualTo("bar");
-    assertThat(request.getRequestParameter("test")).isEqualTo("test");
-
-  }
-
-}

From b61ce3b1402650ed9c0ffbecac6164b643f8eb3e Mon Sep 17 00:00:00 2001
From: Sebastian Menski 
Date: Fri, 7 Nov 2014 12:01:04 +0100
Subject: [PATCH 033/200] feat(plugin): add process engine plugin for connector
 service task

related to #CAM-2706
---
 connect/bom/pom.xml                           |   6 +
 connect/dist/pom.xml                          |   6 +
 connect/docs/index.md                         |  37 ++++++
 connect/plugin/pom.xml                        | 109 +++++++++++++++++
 .../plugin/ConnectProcessEnginePlugin.java    |  39 ++++++
 .../plugin/ConnectorParseListener.java        |  47 ++++++++
 .../plugin/ConnectorVariableScope.java        |  66 +++++++++++
 .../plugin/ConnectorVariableStore.java        |  55 +++++++++
 .../ServiceTaskConnectorActivityBehavior.java | 100 ++++++++++++++++
 .../ConnectProcessEnginePluginTest.java       | 111 ++++++++++++++++++
 .../connect/plugin/util/TestConnector.java    |  55 +++++++++
 .../plugin/util/TestConnectorProvider.java    |  28 +++++
 .../plugin/util/TestConnectorRequest.java     |  28 +++++
 .../plugin/util/TestConnectorResponse.java    |  38 ++++++
 .../plugin/util/TestRequestInvocation.java    |  35 ++++++
 .../org.camunda.connect.spi.ConnectorProvider |   1 +
 .../plugin/src/test/resources/camunda.cfg.xml |  28 +++++
 ...ginePluginTest.testConnectorIdMissing.bpmn |  19 +++
 ...ginePluginTest.testConnectorIdUnknown.bpmn |  20 ++++
 ...EnginePluginTest.testConnectorInvoked.bpmn |  22 ++++
 ...ConnectorWithScriptInputOutputMapping.bpmn |  34 ++++++
 connect/pom.xml                               |   1 +
 22 files changed, 885 insertions(+)
 create mode 100644 connect/plugin/pom.xml
 create mode 100644 connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectProcessEnginePlugin.java
 create mode 100644 connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java
 create mode 100644 connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java
 create mode 100644 connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableStore.java
 create mode 100644 connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java
 create mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.java
 create mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnector.java
 create mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java
 create mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorRequest.java
 create mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorResponse.java
 create mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestRequestInvocation.java
 create mode 100644 connect/plugin/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
 create mode 100644 connect/plugin/src/test/resources/camunda.cfg.xml
 create mode 100644 connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdMissing.bpmn
 create mode 100644 connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdUnknown.bpmn
 create mode 100644 connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorInvoked.bpmn
 create mode 100644 connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorWithScriptInputOutputMapping.bpmn

diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml
index abb63b24f6b..2757aa5f3ce 100644
--- a/connect/bom/pom.xml
+++ b/connect/bom/pom.xml
@@ -42,6 +42,12 @@
         ${project.version}
       
 
+      
+        org.camunda.connect
+        camunda-connect-engine-plugin
+        ${project.version}
+      
+
     
   
 
diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml
index eb1c51f7370..62b057e615f 100644
--- a/connect/dist/pom.xml
+++ b/connect/dist/pom.xml
@@ -21,6 +21,12 @@
       org.camunda.connect
       camunda-connect-soap-http-client
     
+
+    
+      org.camunda.connect
+      camunda-connect-engine-plugin
+    
+
   
 
   
diff --git a/connect/docs/index.md b/connect/docs/index.md
index 555c2744d89..9ca438c7d21 100644
--- a/connect/docs/index.md
+++ b/connect/docs/index.md
@@ -3,3 +3,40 @@
 Welcome to the camunda Connect documentation
 
 * [User Guide](user-guide/index.md)
+
+## camunda BPM platform and camunda Connect
+
+To use Connect to enable connector service tasks in the camunda BPM platform you have to
+add the camunda Connect process engine plugin to your process engine. For more information
+of the plugin mechanism please see the [docs][plugins].  For example, a bpm-platform.xml file with
+the plugin enabled would look as follows:
+
+```xml
+
+
+
+  ...
+
+  
+    ...
+
+    
+      
+        org.camunda.connect.plugin.ConnectProcessEnginePlugin
+      
+    
+
+    ...
+  
+
+
+```
+
+After you enabled the plugin you can use connector services tasks as described in the [user
+guide][].
+
+
+[plugins]: http://docs.camunda.org/latest/guides/user-guide/#process-engine-process-engine-plugins
+[user guide]: http://stage.docs.camunda.org/guides/user-guide/#process-engine-connectors
diff --git a/connect/plugin/pom.xml b/connect/plugin/pom.xml
new file mode 100644
index 00000000000..a31bc2bb77e
--- /dev/null
+++ b/connect/plugin/pom.xml
@@ -0,0 +1,109 @@
+
+
+
+    
+        camunda-connect-root
+        org.camunda.connect
+        1.0.0-SNAPSHOT
+    
+    4.0.0
+
+    camunda-connect-engine-plugin
+    camunda BPM - connect - process engine plugin
+
+    
+        7.2.0-SNAPSHOT
+    
+
+    
+        
+
+          
+              org.camunda.bpm
+              camunda-bom
+              import
+              pom
+              ${version.camunda.bpm}
+          
+
+        
+    
+
+    
+
+        
+            org.camunda.bpm
+            camunda-engine
+            provided
+        
+
+        
+            org.camunda.connect
+            camunda-connect-core
+        
+
+        
+            org.camunda.connect
+            camunda-connect-http-client
+            test
+        
+
+        
+            org.camunda.connect
+            camunda-connect-soap-http-client
+            test
+        
+
+        
+            junit
+            junit
+            test
+        
+
+        
+            org.assertj
+            assertj-core
+            test
+        
+
+        
+            ch.qos.logback
+            logback-classic
+            test
+        
+
+        
+            com.h2database
+            h2
+            1.3.168
+            test
+        
+
+        
+            org.codehaus.groovy
+            groovy-all
+            2.3.5
+            test
+        
+
+    
+
+    
+        
+            
+                org.apache.felix
+                maven-bundle-plugin
+                
+                    
+                        bundle-manifest
+                        process-classes
+                        
+                            manifest
+                        
+                    
+                
+            
+        
+    
+
+
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectProcessEnginePlugin.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectProcessEnginePlugin.java
new file mode 100644
index 00000000000..9c5346375c4
--- /dev/null
+++ b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectProcessEnginePlugin.java
@@ -0,0 +1,39 @@
+/* Licensed 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.camunda.connect.plugin;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.camunda.bpm.engine.impl.bpmn.parser.BpmnParseListener;
+import org.camunda.bpm.engine.impl.cfg.AbstractProcessEnginePlugin;
+import org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl;
+
+public class ConnectProcessEnginePlugin extends AbstractProcessEnginePlugin {
+
+  @Override
+  public void preInit(ProcessEngineConfigurationImpl processEngineConfiguration) {
+    addConnectorParseListener(processEngineConfiguration);
+  }
+
+  private void addConnectorParseListener(ProcessEngineConfigurationImpl processEngineConfiguration) {
+    List preParseListeners = processEngineConfiguration.getCustomPreBPMNParseListeners();
+    if(preParseListeners == null) {
+      preParseListeners = new ArrayList();
+      processEngineConfiguration.setCustomPreBPMNParseListeners(preParseListeners);
+    }
+    preParseListeners.add(new ConnectorParseListener());
+  }
+
+}
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java
new file mode 100644
index 00000000000..5b4ce2c9fff
--- /dev/null
+++ b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java
@@ -0,0 +1,47 @@
+/* Licensed 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.camunda.connect.plugin;
+
+import static org.camunda.bpm.engine.impl.util.BpmnParseUtil.findCamundaExtensionElement;
+import static org.camunda.bpm.engine.impl.util.BpmnParseUtil.parseInputOutput;
+
+import org.camunda.bpm.engine.BpmnParseException;
+import org.camunda.bpm.engine.impl.bpmn.parser.AbstractBpmnParseListener;
+import org.camunda.bpm.engine.impl.core.variable.mapping.IoMapping;
+import org.camunda.bpm.engine.impl.pvm.process.ActivityImpl;
+import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl;
+import org.camunda.bpm.engine.impl.util.xml.Element;
+
+public class ConnectorParseListener extends AbstractBpmnParseListener {
+
+  @Override
+  public void parseServiceTask(Element serviceTaskElement, ScopeImpl scope, ActivityImpl activity) {
+    Element connectorDefinition = findCamundaExtensionElement(serviceTaskElement, "connector");
+    if (connectorDefinition != null) {
+      Element connectorIdElement = connectorDefinition.element("connectorId");
+
+      String connectorId = null;
+      if(connectorIdElement != null)  {
+        connectorId = connectorIdElement.getText().trim();
+      }
+      if(connectorIdElement == null || connectorId.isEmpty()) {
+        throw new BpmnParseException("No 'id' defined for connector.", connectorDefinition);
+      }
+
+      IoMapping ioMapping = parseInputOutput(connectorDefinition);
+      activity.setActivityBehavior(new ServiceTaskConnectorActivityBehavior(connectorId, ioMapping));
+    }
+  }
+
+}
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java
new file mode 100644
index 00000000000..96abc1f7420
--- /dev/null
+++ b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java
@@ -0,0 +1,66 @@
+/* Licensed 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.camunda.connect.plugin;
+
+import java.lang.Object;import java.lang.String;import java.util.Map;
+import java.util.Map.Entry;
+
+import org.camunda.connect.spi.ConnectorRequest;
+import org.camunda.connect.spi.ConnectorResponse;
+import org.camunda.bpm.engine.impl.core.variable.CoreVariableInstance;
+import org.camunda.bpm.engine.impl.core.variable.scope.AbstractVariableScope;
+import org.camunda.bpm.engine.impl.core.variable.scope.CoreVariableStore;
+
+/**
+ * Exposes a connector request as variableScope.
+ *
+ * @author Daniel Meyer
+ *
+ */
+public class ConnectorVariableScope extends AbstractVariableScope {
+
+  protected AbstractVariableScope parent;
+
+  protected ConnectorVariableStore variableStore;
+
+  public ConnectorVariableScope(AbstractVariableScope parent) {
+    this.parent = parent;
+    this.variableStore = new ConnectorVariableStore();
+  }
+
+  public String getVariableScopeKey() {
+    return "connector";
+  }
+
+  protected CoreVariableStore getVariableStore() {
+    return variableStore;
+  }
+
+  public AbstractVariableScope getParentVariableScope() {
+    return parent;
+  }
+
+  public void writeToRequest(ConnectorRequest request) {
+    for (CoreVariableInstance variable : variableStore.getVariableInstancesValues()) {
+      request.setRequestParameter(variable.getName(), variable.getTypedValue(true).getValue());
+    }
+  }
+
+  public void readFromResponse(ConnectorResponse response) {
+    Map responseParameters = response.getResponseParameters();
+    for (Entry entry : responseParameters.entrySet()) {
+      setVariableLocal(entry.getKey(), entry.getValue());
+    }
+  }
+
+}
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableStore.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableStore.java
new file mode 100644
index 00000000000..8b893a34d88
--- /dev/null
+++ b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableStore.java
@@ -0,0 +1,55 @@
+/* Licensed 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.camunda.connect.plugin;
+
+import org.camunda.bpm.engine.impl.core.variable.CoreVariableInstance;
+import org.camunda.bpm.engine.impl.core.variable.scope.AbstractVariableScope;
+import org.camunda.bpm.engine.impl.core.variable.scope.MapBasedVariableStore;
+import org.camunda.bpm.engine.variable.value.TypedValue;
+
+/**
+ * @author Daniel Meyer
+ *
+ */
+public class ConnectorVariableStore extends MapBasedVariableStore {
+
+  public static class ConnectorParamVariable implements CoreVariableInstance {
+
+    protected String name;
+    protected TypedValue value;
+
+    public ConnectorParamVariable(String name, TypedValue value) {
+      this.name = name;
+      this.value = value;
+    }
+
+    public String getName() {
+      return name;
+    }
+
+    public TypedValue getTypedValue(boolean deserializeObjectValue) {
+      return value;
+    }
+  }
+
+  public void setVariableValue(CoreVariableInstance variableInstance, TypedValue value, AbstractVariableScope sourceActivityExecution) {
+    ((ConnectorParamVariable)variableInstance).value = value;
+  }
+
+  public ConnectorParamVariable createVariableInstance(String variableName, TypedValue value, AbstractVariableScope sourceActivityExecution) {
+    ConnectorParamVariable variableInstance = new ConnectorParamVariable(variableName, value);
+    variables.put(variableName, variableInstance);
+    return variableInstance;
+  }
+
+}
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java
new file mode 100644
index 00000000000..78abd986c39
--- /dev/null
+++ b/connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java
@@ -0,0 +1,100 @@
+/* Licensed 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.camunda.connect.plugin;
+
+import org.camunda.bpm.engine.ProcessEngineException;
+import org.camunda.bpm.engine.impl.bpmn.behavior.TaskActivityBehavior;
+import org.camunda.bpm.engine.impl.core.variable.mapping.IoMapping;
+import org.camunda.bpm.engine.impl.core.variable.scope.AbstractVariableScope;
+import org.camunda.bpm.engine.impl.pvm.delegate.ActivityExecution;
+import org.camunda.connect.ConnectorException;
+import org.camunda.connect.Connectors;
+import org.camunda.connect.spi.Connector;
+import org.camunda.connect.spi.ConnectorRequest;
+import org.camunda.connect.spi.ConnectorResponse;
+
+/**
+ * @author Daniel Meyer
+ *
+ */
+public class ServiceTaskConnectorActivityBehavior extends TaskActivityBehavior {
+
+  /** the id of the connector */
+  protected String connectorId;
+
+  /** cached connector instance for this activity.
+   * Will be initialized after the first execution of this activity. */
+  protected Connector connectorInstance;
+
+  /** the local ioMapping for this connector. */
+  protected IoMapping ioMapping;
+
+  public ServiceTaskConnectorActivityBehavior(String connectorId, IoMapping ioMapping) {
+    this.connectorId = connectorId;
+    this.ioMapping = ioMapping;
+  }
+
+  public void execute(ActivityExecution execution) throws Exception {
+    ensureConnectorInitialized();
+
+    ConnectorRequest request = connectorInstance.createRequest();
+    applyInputParameters(execution, request);
+
+    try {
+      // execute the request and obtain a response:
+      ConnectorResponse response = request.execute();
+      applyOutputParameters(execution, response);
+    } catch(Exception e) {
+      throw new ProcessEngineException("Exception while invoking connector "+e.getMessage(), e);
+    }
+
+    // leave activity
+    leave(execution);
+  }
+
+  protected void applyInputParameters(ActivityExecution execution, ConnectorRequest request) {
+    if(ioMapping != null) {
+      // create variable scope for input parameters
+      ConnectorVariableScope connectorInputVariableScope = new ConnectorVariableScope((AbstractVariableScope) execution);
+      // execute the connector input parameters
+      ioMapping.executeInputParameters(connectorInputVariableScope);
+      // write the local variables to the request.
+      connectorInputVariableScope.writeToRequest(request);
+    }
+  }
+
+  protected void applyOutputParameters(ActivityExecution execution, ConnectorResponse response) {
+    if(ioMapping != null) {
+      // create variable scope for output parameters
+      ConnectorVariableScope connectorOutputVariableScope = new ConnectorVariableScope((AbstractVariableScope) execution);
+      // read parameters from response
+      connectorOutputVariableScope.readFromResponse(response);
+      // map variables to parent scope.
+      ioMapping.executeOutputParameters(connectorOutputVariableScope);
+    }
+  }
+
+  protected void ensureConnectorInitialized() {
+    if(connectorInstance == null) {
+      synchronized (this) {
+        if(connectorInstance == null) {
+          connectorInstance = Connectors.getConnector(connectorId);
+          if (connectorInstance == null) {
+            throw new ConnectorException("No connector found for connector id '" + connectorId + "'");
+          }
+        }
+      }
+    }
+  }
+
+}
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.java
new file mode 100644
index 00000000000..6890adbd1ad
--- /dev/null
+++ b/connect/plugin/src/test/java/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.java
@@ -0,0 +1,111 @@
+/* Licensed 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.camunda.connect.plugin;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.camunda.bpm.engine.BpmnParseException;
+import org.camunda.bpm.engine.ProcessEngineException;
+import org.camunda.bpm.engine.impl.test.PluggableProcessEngineTestCase;
+import org.camunda.bpm.engine.runtime.VariableInstance;
+import org.camunda.bpm.engine.test.Deployment;
+import org.camunda.connect.ConnectorException;
+import org.camunda.connect.Connectors;
+import org.camunda.connect.httpclient.HttpConnector;
+import org.camunda.connect.httpclient.soap.SoapHttpConnector;
+import org.camunda.connect.plugin.util.TestConnector;
+import org.camunda.connect.spi.Connector;
+
+public class ConnectProcessEnginePluginTest extends PluggableProcessEngineTestCase {
+
+  @Override
+  protected void setUp() throws Exception {
+    super.setUp();
+    TestConnector.responseParameters.clear();
+    TestConnector.requestParameters = null;
+  }
+
+  public void testConnectorsRegistered() {
+    Connector http = Connectors.getConnector(HttpConnector.ID);
+    assertNotNull(http);
+    Connector soap = Connectors.getConnector(SoapHttpConnector.ID);
+    assertNotNull(soap);
+    Connector test = Connectors.getConnector(TestConnector.ID);
+    assertNotNull(test);
+  }
+
+  public void testConnectorIdMissing() {
+    try {
+      repositoryService.createDeployment().addClasspathResource("org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdMissing.bpmn")
+        .deploy();
+      fail("Exception expected");
+    }
+    catch (ProcessEngineException e) {
+      assertFalse(e instanceof BpmnParseException);
+    }
+  }
+
+  @Deployment
+  public void testConnectorIdUnknown() {
+    try {
+      runtimeService.startProcessInstanceByKey("testProcess");
+      fail("Exception expected");
+    }
+    catch (ConnectorException e) {
+      // expected
+    }
+  }
+
+  @Deployment
+  public void testConnectorInvoked() {
+    String outputParamValue = "someOutputValue";
+    String inputVariableValue = "someInputVariableValue";
+
+    TestConnector.responseParameters.put("someOutputParameter", outputParamValue);
+
+    Map vars = new HashMap();
+    vars.put("someInputVariable", inputVariableValue);
+    runtimeService.startProcessInstanceByKey("testProcess", vars);
+
+    // validate input parameter
+    assertNotNull(TestConnector.requestParameters.get("reqParam1"));
+    assertEquals(inputVariableValue, TestConnector.requestParameters.get("reqParam1"));
+
+    // validate connector output
+    VariableInstance variable = runtimeService.createVariableInstanceQuery().variableName("out1").singleResult();
+    assertNotNull(variable);
+    assertEquals(outputParamValue, variable.getValue());
+  }
+
+  @Deployment
+  public void testConnectorWithScriptInputOutputMapping() {
+    int x = 3;
+    Map variables = new HashMap();
+    variables.put("x", x);
+    runtimeService.startProcessInstanceByKey("testProcess", variables);
+
+    // validate input parameter
+    Object in = TestConnector.requestParameters.get("in");
+    assertNotNull(in);
+    assertEquals(2 * x, in);
+
+    // validate output parameter
+    VariableInstance out = runtimeService.createVariableInstanceQuery().variableName("out").singleResult();
+    assertNotNull(out);
+    assertEquals(3 * x, out.getValue());
+  }
+
+}
+
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnector.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnector.java
new file mode 100644
index 00000000000..b4dabd3d3e5
--- /dev/null
+++ b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnector.java
@@ -0,0 +1,55 @@
+/* Licensed 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.camunda.connect.plugin.util;
+
+import java.lang.Exception;import java.lang.Object;import java.lang.RuntimeException;import java.lang.String;import java.util.HashMap;
+import java.util.Map;
+
+import org.camunda.connect.impl.AbstractConnector;
+
+/**
+ * @author Daniel Meyer
+ *
+ */
+public class TestConnector extends AbstractConnector {
+
+  public static final String ID = "testConnector";
+
+  public static Map requestParameters;
+  public static Map responseParameters = new HashMap();
+
+  public TestConnector(String connectorId) {
+    super(connectorId);
+  }
+
+  public TestConnectorRequest createRequest() {
+    return new TestConnectorRequest(this);
+  }
+
+  public TestConnectorResponse execute(TestConnectorRequest req) {
+    // capture request parameters
+    requestParameters = req.getRequestParameters();
+
+    TestRequestInvocation testRequestInvocation = new TestRequestInvocation(null, req, requestInterceptors);
+
+    try {
+      testRequestInvocation.proceed();
+      // use response parameters
+      return new TestConnectorResponse(responseParameters);
+
+    } catch (Exception e) {
+      throw new RuntimeException(e);
+    }
+  }
+
+}
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java
new file mode 100644
index 00000000000..1ab48e4a2c0
--- /dev/null
+++ b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java
@@ -0,0 +1,28 @@
+/* Licensed 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.camunda.connect.plugin.util;
+
+import org.camunda.connect.spi.Connector;
+import org.camunda.connect.spi.ConnectorProvider;
+
+public class TestConnectorProvider implements ConnectorProvider {
+
+  public String getConnectorId() {
+    return TestConnector.ID;
+  }
+
+  public Connector createConnectorInstance() {
+    return new TestConnector(TestConnector.ID);
+  }
+}
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorRequest.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorRequest.java
new file mode 100644
index 00000000000..eb4b51e5ecb
--- /dev/null
+++ b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorRequest.java
@@ -0,0 +1,28 @@
+/* Licensed 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.camunda.connect.plugin.util;
+
+import org.camunda.connect.impl.AbstractConnector;
+import org.camunda.connect.impl.AbstractConnectorRequest;
+
+/**
+ * @author Daniel Meyer
+ *
+ */
+public class TestConnectorRequest extends AbstractConnectorRequest {
+
+  public TestConnectorRequest(AbstractConnector connector) {
+    super(connector);
+  }
+
+}
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorResponse.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorResponse.java
new file mode 100644
index 00000000000..5f0eb4ecb3f
--- /dev/null
+++ b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorResponse.java
@@ -0,0 +1,38 @@
+/* Licensed 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.camunda.connect.plugin.util;
+
+import java.util.Map;
+
+import org.camunda.connect.impl.AbstractConnectorResponse;
+
+
+/**
+ * @author Daniel Meyer
+ *
+ */
+public class TestConnectorResponse extends AbstractConnectorResponse {
+
+  private Map responseParameters;
+
+  public TestConnectorResponse(Map responseParameters) {
+    this.responseParameters = responseParameters;
+  }
+
+  protected void collectResponseParameters(Map arg0) {
+    if(responseParameters != null) {
+      arg0.putAll(responseParameters);
+    }
+  }
+
+}
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestRequestInvocation.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestRequestInvocation.java
new file mode 100644
index 00000000000..ab70557d439
--- /dev/null
+++ b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestRequestInvocation.java
@@ -0,0 +1,35 @@
+/* Licensed 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.camunda.connect.plugin.util;
+
+import java.util.List;
+
+import org.camunda.connect.impl.AbstractRequestInvocation;
+import org.camunda.connect.spi.ConnectorRequest;
+import org.camunda.connect.spi.ConnectorRequestInterceptor;
+
+/**
+ * @author Daniel Meyer
+ *
+ */
+public class TestRequestInvocation extends AbstractRequestInvocation {
+
+  public TestRequestInvocation(Object target, ConnectorRequest request, List interceptorChain) {
+    super(target, request, interceptorChain);
+  }
+
+  public Object invokeTarget() throws Exception {
+    return null;
+  }
+
+}
diff --git a/connect/plugin/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider b/connect/plugin/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
new file mode 100644
index 00000000000..830b2e8d697
--- /dev/null
+++ b/connect/plugin/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
@@ -0,0 +1 @@
+org.camunda.connect.plugin.util.TestConnectorProvider
diff --git a/connect/plugin/src/test/resources/camunda.cfg.xml b/connect/plugin/src/test/resources/camunda.cfg.xml
new file mode 100644
index 00000000000..d31f68d9794
--- /dev/null
+++ b/connect/plugin/src/test/resources/camunda.cfg.xml
@@ -0,0 +1,28 @@
+
+
+
+
+  
+  
+    
+    
+    
+    
+    
+    
+    
+    
+    
+    
+
+    
+      
+        
+      
+    
+
+  
+
+
diff --git a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdMissing.bpmn b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdMissing.bpmn
new file mode 100644
index 00000000000..c60fdc37940
--- /dev/null
+++ b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdMissing.bpmn
@@ -0,0 +1,19 @@
+
+
+  
+    
+    
+    
+      
+        
+          
+            ${someInputVariable}
+            ${someOutputParameter}
+          
+        
+      
+    
+    
+    
+  
+
diff --git a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdUnknown.bpmn b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdUnknown.bpmn
new file mode 100644
index 00000000000..e8dc73b7f4e
--- /dev/null
+++ b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdUnknown.bpmn
@@ -0,0 +1,20 @@
+
+
+  
+    
+    
+    
+      
+        
+          unknownConnector
+          
+            ${someInputVariable}
+            ${someOutputParameter}
+          
+        
+      
+    
+    
+    
+  
+
diff --git a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorInvoked.bpmn b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorInvoked.bpmn
new file mode 100644
index 00000000000..7fe205f0bd2
--- /dev/null
+++ b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorInvoked.bpmn
@@ -0,0 +1,22 @@
+
+
+  
+    
+    
+    
+      
+        
+          testConnector
+          
+            ${someInputVariable}
+            ${someOutputParameter}
+          
+        
+      
+    
+    
+    
+    
+    
+  
+
diff --git a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorWithScriptInputOutputMapping.bpmn b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorWithScriptInputOutputMapping.bpmn
new file mode 100644
index 00000000000..311c0358b8f
--- /dev/null
+++ b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorWithScriptInputOutputMapping.bpmn
@@ -0,0 +1,34 @@
+
+
+  
+    
+    
+    
+      
+        
+          testConnector
+          
+            
+              
+                // test if execution is available
+                y = execution.getVariable('x')
+                y + y
+              
+            
+            
+              
+                // test if connector is available
+                y = connector.getVariable('x')
+                y + y + y
+              
+            
+          
+        
+      
+    
+    
+    
+    
+    
+  
+
diff --git a/connect/pom.xml b/connect/pom.xml
index 297b042bbb3..a1e45c530fc 100644
--- a/connect/pom.xml
+++ b/connect/pom.xml
@@ -18,6 +18,7 @@
     dist
     http-client
     soap-http-client
+    plugin
   
 
   

From 7cf5b30191fffb4a8aee8b700cec85bc401c4745 Mon Sep 17 00:00:00 2001
From: Sebastian Menski 
Date: Mon, 10 Nov 2014 11:48:15 +0100
Subject: [PATCH 034/200] chore(core): add static connectors method for easy
 use

related to #CAM-2706
---
 .../src/main/java/org/camunda/connect/Connectors.java    | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/connect/core/src/main/java/org/camunda/connect/Connectors.java b/connect/core/src/main/java/org/camunda/connect/Connectors.java
index c068f2e62fb..75a7fa794a0 100644
--- a/connect/core/src/main/java/org/camunda/connect/Connectors.java
+++ b/connect/core/src/main/java/org/camunda/connect/Connectors.java
@@ -71,6 +71,13 @@ public static  C getConnector(String connectorId) {
     return (C) INSTANCE.getConnectorById(connectorId);
   }
 
+  /**
+   * @return all register connectors
+   */
+  public static Set getAvailableConnectors() {
+    return INSTANCE.getAllAvailableConnectors();
+  }
+
   // instance //////////////////////////////////////////////////////////
 
   protected Map availableConnectors;
@@ -78,7 +85,7 @@ public static  C getConnector(String connectorId) {
   /**
    * @return all register connectors
    */
-  public Set getAvailableConnectors() {
+  public Set getAllAvailableConnectors() {
     ensureConnectorProvidersInitialized();
     return new HashSet(availableConnectors.values());
   }

From 71d269e3d2d4a0a36ddca5e97681e6fc4885271a Mon Sep 17 00:00:00 2001
From: Sebastian Menski 
Date: Mon, 10 Nov 2014 12:00:22 +0100
Subject: [PATCH 035/200] chore(pom): fix javadoc generation

---
 connect/dist/pom.xml | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml
index 62b057e615f..170a06cace8 100644
--- a/connect/dist/pom.xml
+++ b/connect/dist/pom.xml
@@ -10,6 +10,10 @@
   camunda-connect-all
   camunda BPM - connect - all in one
 
+  
+    7.2.0-SNAPSHOT
+  
+
   
 
     
@@ -71,7 +75,16 @@
         
           true
           true
-         org.camunda.connect:*
+          
+            org.camunda.connect:*
+          
+          
+            
+              org.camunda.bpm
+              camunda-engine
+              ${version.camunda.bpm}
+            
+          
         
       
       

From c9edaf9e0baafb2142141a5b5193c47807f6f5a8 Mon Sep 17 00:00:00 2001
From: Thorben Lindhauer 
Date: Tue, 11 Nov 2014 11:04:47 +0100
Subject: [PATCH 036/200] chore(core): code cleanup

related to CAM-2706
---
 .../camunda/connect/ConnectorException.java   |  2 ++
 .../connect/ConnectorRequestException.java    |  2 ++
 .../connect/ConnectorResponseException.java   |  2 ++
 .../java/org/camunda/connect/Connectors.java  | 32 ++++++++++---------
 .../connect/impl/DebugRequestInterceptor.java |  4 +--
 .../connect/spi/ConnectorConfigurator.java    |  2 +-
 .../connect/spi/ConnectorInvocation.java      |  2 +-
 .../connect/spi/ConnectorProvider.java        |  2 +-
 .../dummy/MyHttpConnectorProvider.java        |  2 +-
 .../camunda/connect/spi/ConnectorsTest.java   |  4 ++-
 .../plugin/ConnectorParseListener.java        |  4 +--
 .../plugin/ConnectorVariableScope.java        |  2 ++
 .../ServiceTaskConnectorActivityBehavior.java |  6 ++--
 .../plugin/util/TestConnectorProvider.java    |  2 +-
 14 files changed, 40 insertions(+), 28 deletions(-)

diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorException.java
index 6567d862911..30171f64854 100644
--- a/connect/core/src/main/java/org/camunda/connect/ConnectorException.java
+++ b/connect/core/src/main/java/org/camunda/connect/ConnectorException.java
@@ -17,6 +17,8 @@
  */
 public class ConnectorException extends RuntimeException {
 
+  private static final long serialVersionUID = 1L;
+
   public ConnectorException(String message) {
     super(message);
   }
diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java
index 9ed37ffbaca..c84c167f89f 100644
--- a/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java
+++ b/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java
@@ -18,6 +18,8 @@
  */
 public class ConnectorRequestException extends ConnectorException {
 
+  private static final long serialVersionUID = 1L;
+
   public ConnectorRequestException(String message) {
     super(message);
   }
diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java
index 3d62f47896c..95850600eb1 100644
--- a/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java
+++ b/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java
@@ -18,6 +18,8 @@
  */
 public class ConnectorResponseException extends ConnectorException {
 
+  private static final long serialVersionUID = 1L;
+
   public ConnectorResponseException(String message) {
     super(message);
   }
diff --git a/connect/core/src/main/java/org/camunda/connect/Connectors.java b/connect/core/src/main/java/org/camunda/connect/Connectors.java
index 75a7fa794a0..c057b99a4fd 100644
--- a/connect/core/src/main/java/org/camunda/connect/Connectors.java
+++ b/connect/core/src/main/java/org/camunda/connect/Connectors.java
@@ -22,6 +22,7 @@
 import org.camunda.connect.spi.Connector;
 import org.camunda.connect.spi.ConnectorConfigurator;
 import org.camunda.connect.spi.ConnectorProvider;
+import org.camunda.connect.spi.ConnectorRequest;
 
 /**
  * Provides access to all available connectors.
@@ -49,7 +50,7 @@ public static Connectors getInstance() {
    * no connector is registered for this id
    */
   @SuppressWarnings("unchecked")
-  public static  C http() {
+  public static >> C http() {
     return (C) INSTANCE.getConnectorById(HTTP_CONNECTOR_ID);
   }
 
@@ -58,7 +59,7 @@ public static  C http() {
    * if no connector is registered for this id
    */
   @SuppressWarnings("unchecked")
-  public static  C soap() {
+  public static >> C soap() {
     return (C) INSTANCE.getConnectorById(SOAP_HTTP_CONNECTOR_ID);
   }
 
@@ -67,27 +68,27 @@ public static  C soap() {
    * registered for this id
    */
   @SuppressWarnings("unchecked")
-  public static  C getConnector(String connectorId) {
+  public static >> C getConnector(String connectorId) {
     return (C) INSTANCE.getConnectorById(connectorId);
   }
 
   /**
    * @return all register connectors
    */
-  public static Set getAvailableConnectors() {
+  public static Set>> getAvailableConnectors() {
     return INSTANCE.getAllAvailableConnectors();
   }
 
   // instance //////////////////////////////////////////////////////////
 
-  protected Map availableConnectors;
+  protected Map> availableConnectors;
 
   /**
    * @return all register connectors
    */
-  public Set getAllAvailableConnectors() {
+  public Set>> getAllAvailableConnectors() {
     ensureConnectorProvidersInitialized();
-    return new HashSet(availableConnectors.values());
+    return new HashSet>(availableConnectors.values());
   }
 
   /**
@@ -95,7 +96,7 @@ public Set getAllAvailableConnectors() {
    * registered for this id
    */
   @SuppressWarnings("unchecked")
-  public  C getConnectorById(String connectorId) {
+  public >> C getConnectorById(String connectorId) {
     ensureConnectorProvidersInitialized();
     return (C) availableConnectors.get(connectorId);
   }
@@ -114,7 +115,7 @@ protected void ensureConnectorProvidersInitialized() {
   }
 
   protected void initializeConnectors() {
-    Map connectors = new HashMap();
+    Map> connectors = new HashMap>();
 
     // discover available custom connector providers on the classpath
     registerConnectors(connectors);
@@ -126,7 +127,7 @@ protected void initializeConnectors() {
 
   }
 
-  protected void registerConnectors(Map connectors) {
+  protected void registerConnectors(Map> connectors) {
     ServiceLoader providers = ServiceLoader.load(ConnectorProvider.class, Connectors.class.getClassLoader());
 
     for (ConnectorProvider provider : providers) {
@@ -134,19 +135,20 @@ protected void registerConnectors(Map connectors) {
     }
   }
 
-  protected void registerProvider(Map connectors, ConnectorProvider provider)  {
+  protected void registerProvider(Map> connectors, ConnectorProvider provider)  {
     String connectorId = provider.getConnectorId();
     if (connectors.containsKey(connectorId)) {
       throw LOG.multipleConnectorProvidersFound(connectorId);
     }
     else {
-      Connector connectorInstance = provider.createConnectorInstance();
+      Connector connectorInstance = provider.createConnectorInstance();
       LOG.connectorProviderDiscovered(provider, connectorId, connectorInstance);
       connectors.put(connectorId, connectorInstance);
     }
   }
 
-  protected void applyConfigurators(Map connectors) {
+  @SuppressWarnings("rawtypes")
+  protected void applyConfigurators(Map> connectors) {
     ServiceLoader configurators = ServiceLoader.load(ConnectorConfigurator.class, Connectors.class.getClassLoader());
 
     for (ConnectorConfigurator configurator : configurators) {
@@ -156,8 +158,8 @@ protected void applyConfigurators(Map connectors) {
   }
 
   @SuppressWarnings({ "rawtypes", "unchecked" })
-  protected void applyConfigurator(Map connectors, ConnectorConfigurator configurator) {
-    for (Connector connector : connectors.values()) {
+  protected void applyConfigurator(Map> connectors, ConnectorConfigurator configurator) {
+    for (Connector connector : connectors.values()) {
       if (configurator.getConnectorClass().isAssignableFrom(connector.getClass())) {
         configurator.configure(connector);
       }
diff --git a/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java b/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java
index 8d7d9e54577..c255b78e4b8 100644
--- a/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java
+++ b/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java
@@ -36,7 +36,7 @@ public class DebugRequestInterceptor implements ConnectorRequestInterceptor {
   protected Object response;
   protected boolean proceed;
 
-  private ConnectorRequest request;
+  private ConnectorRequest request;
   private Object target;
 
   public DebugRequestInterceptor() {
@@ -81,7 +81,7 @@ public  T getResponse() {
   }
 
   @SuppressWarnings("unchecked")
-  public  T getRequest() {
+  public > T getRequest() {
     return (T) request;
   }
 
diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java
index e0504354cae..80dd039696f 100644
--- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java
+++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java
@@ -20,7 +20,7 @@
  * may be used for further restrict configuration to connectors
  * with a specific id.
  */
-public interface ConnectorConfigurator {
+public interface ConnectorConfigurator> {
 
   /**
    * @return the class of connectors this configurator can configure (including subclasses)
diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java
index d915e570751..8559344b667 100644
--- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java
+++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java
@@ -38,7 +38,7 @@ public interface ConnectorInvocation {
    *
    * @return the connector request
    */
-  public ConnectorRequest getRequest();
+  public ConnectorRequest getRequest();
 
   /**
    * Makes the request proceed through the interceptor chain.
diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java
index 80a09826609..801c232004f 100644
--- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java
+++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java
@@ -22,6 +22,6 @@ public interface ConnectorProvider {
   String getConnectorId();
 
   /** Create a new instance of the connector created by this factory. */
-  Connector createConnectorInstance();
+  Connector createConnectorInstance();
 
 }
diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java
index 49ffa2b3a83..24883e11792 100644
--- a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java
+++ b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java
@@ -23,7 +23,7 @@ public String getConnectorId() {
     return Connectors.HTTP_CONNECTOR_ID;
   }
 
-  public Connector createConnectorInstance() {
+  public Connector createConnectorInstance() {
     return new MyHttpConnector(Connectors.HTTP_CONNECTOR_ID);
   }
 
diff --git a/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java b/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java
index e9cd1b03ae2..84569ed6fee 100644
--- a/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java
+++ b/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java
@@ -15,6 +15,8 @@
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+import java.util.Set;
+
 import org.camunda.connect.Connectors;
 import org.camunda.connect.dummy.DummyConnector;
 import org.junit.Test;
@@ -44,7 +46,7 @@ public void shouldDiscoverDummyConnector() {
     DummyConnector connector = Connectors.getConnector(DummyConnector.ID);
     assertThat(connector).isNotNull();
 
-    assertThat(Connectors.getInstance().getAvailableConnectors())
+    assertThat(Connectors.getAvailableConnectors())
       .hasSize(2)
       .contains(connector);
   }
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java
index 5b4ce2c9fff..c9fe8b35494 100644
--- a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java
+++ b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java
@@ -32,10 +32,10 @@ public void parseServiceTask(Element serviceTaskElement, ScopeImpl scope, Activi
       Element connectorIdElement = connectorDefinition.element("connectorId");
 
       String connectorId = null;
-      if(connectorIdElement != null)  {
+      if (connectorIdElement != null)  {
         connectorId = connectorIdElement.getText().trim();
       }
-      if(connectorIdElement == null || connectorId.isEmpty()) {
+      if (connectorIdElement == null || connectorId.isEmpty()) {
         throw new BpmnParseException("No 'id' defined for connector.", connectorDefinition);
       }
 
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java
index 96abc1f7420..7e468607be1 100644
--- a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java
+++ b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java
@@ -29,6 +29,8 @@
  */
 public class ConnectorVariableScope extends AbstractVariableScope {
 
+  private static final long serialVersionUID = 1L;
+
   protected AbstractVariableScope parent;
 
   protected ConnectorVariableStore variableStore;
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java
index 78abd986c39..5cac22c30db 100644
--- a/connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java
+++ b/connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java
@@ -34,7 +34,7 @@ public class ServiceTaskConnectorActivityBehavior extends TaskActivityBehavior {
 
   /** cached connector instance for this activity.
    * Will be initialized after the first execution of this activity. */
-  protected Connector connectorInstance;
+  protected Connector connectorInstance;
 
   /** the local ioMapping for this connector. */
   protected IoMapping ioMapping;
@@ -47,7 +47,7 @@ public ServiceTaskConnectorActivityBehavior(String connectorId, IoMapping ioMapp
   public void execute(ActivityExecution execution) throws Exception {
     ensureConnectorInitialized();
 
-    ConnectorRequest request = connectorInstance.createRequest();
+    ConnectorRequest request = connectorInstance.createRequest();
     applyInputParameters(execution, request);
 
     try {
@@ -62,7 +62,7 @@ public void execute(ActivityExecution execution) throws Exception {
     leave(execution);
   }
 
-  protected void applyInputParameters(ActivityExecution execution, ConnectorRequest request) {
+  protected void applyInputParameters(ActivityExecution execution, ConnectorRequest request) {
     if(ioMapping != null) {
       // create variable scope for input parameters
       ConnectorVariableScope connectorInputVariableScope = new ConnectorVariableScope((AbstractVariableScope) execution);
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java
index 1ab48e4a2c0..e7f2e16fa1c 100644
--- a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java
+++ b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java
@@ -22,7 +22,7 @@ public String getConnectorId() {
     return TestConnector.ID;
   }
 
-  public Connector createConnectorInstance() {
+  public Connector createConnectorInstance() {
     return new TestConnector(TestConnector.ID);
   }
 }

From 0d7ef26f874eabb931d05f69fd7febacc4588d70 Mon Sep 17 00:00:00 2001
From: Thorben Lindhauer 
Date: Tue, 11 Nov 2014 13:29:37 +0100
Subject: [PATCH 037/200] chore(docs): remove engine integration docs

- moved to docs.camunda.org user guide

related to CAM-2706
---
 connect/docs/index.md | 37 -------------------------------------
 1 file changed, 37 deletions(-)

diff --git a/connect/docs/index.md b/connect/docs/index.md
index 9ca438c7d21..555c2744d89 100644
--- a/connect/docs/index.md
+++ b/connect/docs/index.md
@@ -3,40 +3,3 @@
 Welcome to the camunda Connect documentation
 
 * [User Guide](user-guide/index.md)
-
-## camunda BPM platform and camunda Connect
-
-To use Connect to enable connector service tasks in the camunda BPM platform you have to
-add the camunda Connect process engine plugin to your process engine. For more information
-of the plugin mechanism please see the [docs][plugins].  For example, a bpm-platform.xml file with
-the plugin enabled would look as follows:
-
-```xml
-
-
-
-  ...
-
-  
-    ...
-
-    
-      
-        org.camunda.connect.plugin.ConnectProcessEnginePlugin
-      
-    
-
-    ...
-  
-
-
-```
-
-After you enabled the plugin you can use connector services tasks as described in the [user
-guide][].
-
-
-[plugins]: http://docs.camunda.org/latest/guides/user-guide/#process-engine-process-engine-plugins
-[user guide]: http://stage.docs.camunda.org/guides/user-guide/#process-engine-connectors

From f565642ed0478eeb069f6030ec2637ca25043e5c Mon Sep 17 00:00:00 2001
From: Daniel Meyer 
Date: Wed, 12 Nov 2014 11:19:34 +0100
Subject: [PATCH 038/200] chore(plugin): move engine plugin to bpm-platform

related to #CAM-3061
---
 connect/bom/pom.xml                           |   6 -
 connect/dist/pom.xml                          |   5 -
 connect/plugin/pom.xml                        | 109 -----------------
 .../plugin/ConnectProcessEnginePlugin.java    |  39 ------
 .../plugin/ConnectorParseListener.java        |  47 --------
 .../plugin/ConnectorVariableScope.java        |  68 -----------
 .../plugin/ConnectorVariableStore.java        |  55 ---------
 .../ServiceTaskConnectorActivityBehavior.java | 100 ----------------
 .../ConnectProcessEnginePluginTest.java       | 111 ------------------
 .../connect/plugin/util/TestConnector.java    |  55 ---------
 .../plugin/util/TestConnectorProvider.java    |  28 -----
 .../plugin/util/TestConnectorRequest.java     |  28 -----
 .../plugin/util/TestConnectorResponse.java    |  38 ------
 .../plugin/util/TestRequestInvocation.java    |  35 ------
 .../org.camunda.connect.spi.ConnectorProvider |   1 -
 .../plugin/src/test/resources/camunda.cfg.xml |  28 -----
 ...ginePluginTest.testConnectorIdMissing.bpmn |  19 ---
 ...ginePluginTest.testConnectorIdUnknown.bpmn |  20 ----
 ...EnginePluginTest.testConnectorInvoked.bpmn |  22 ----
 ...ConnectorWithScriptInputOutputMapping.bpmn |  34 ------
 connect/pom.xml                               |   1 -
 21 files changed, 849 deletions(-)
 delete mode 100644 connect/plugin/pom.xml
 delete mode 100644 connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectProcessEnginePlugin.java
 delete mode 100644 connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java
 delete mode 100644 connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java
 delete mode 100644 connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableStore.java
 delete mode 100644 connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java
 delete mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.java
 delete mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnector.java
 delete mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java
 delete mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorRequest.java
 delete mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorResponse.java
 delete mode 100644 connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestRequestInvocation.java
 delete mode 100644 connect/plugin/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
 delete mode 100644 connect/plugin/src/test/resources/camunda.cfg.xml
 delete mode 100644 connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdMissing.bpmn
 delete mode 100644 connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdUnknown.bpmn
 delete mode 100644 connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorInvoked.bpmn
 delete mode 100644 connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorWithScriptInputOutputMapping.bpmn

diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml
index 2757aa5f3ce..abb63b24f6b 100644
--- a/connect/bom/pom.xml
+++ b/connect/bom/pom.xml
@@ -42,12 +42,6 @@
         ${project.version}
       
 
-      
-        org.camunda.connect
-        camunda-connect-engine-plugin
-        ${project.version}
-      
-
     
   
 
diff --git a/connect/dist/pom.xml b/connect/dist/pom.xml
index 170a06cace8..fad9f7b0848 100644
--- a/connect/dist/pom.xml
+++ b/connect/dist/pom.xml
@@ -26,11 +26,6 @@
       camunda-connect-soap-http-client
     
 
-    
-      org.camunda.connect
-      camunda-connect-engine-plugin
-    
-
   
 
   
diff --git a/connect/plugin/pom.xml b/connect/plugin/pom.xml
deleted file mode 100644
index a31bc2bb77e..00000000000
--- a/connect/plugin/pom.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-    
-        camunda-connect-root
-        org.camunda.connect
-        1.0.0-SNAPSHOT
-    
-    4.0.0
-
-    camunda-connect-engine-plugin
-    camunda BPM - connect - process engine plugin
-
-    
-        7.2.0-SNAPSHOT
-    
-
-    
-        
-
-          
-              org.camunda.bpm
-              camunda-bom
-              import
-              pom
-              ${version.camunda.bpm}
-          
-
-        
-    
-
-    
-
-        
-            org.camunda.bpm
-            camunda-engine
-            provided
-        
-
-        
-            org.camunda.connect
-            camunda-connect-core
-        
-
-        
-            org.camunda.connect
-            camunda-connect-http-client
-            test
-        
-
-        
-            org.camunda.connect
-            camunda-connect-soap-http-client
-            test
-        
-
-        
-            junit
-            junit
-            test
-        
-
-        
-            org.assertj
-            assertj-core
-            test
-        
-
-        
-            ch.qos.logback
-            logback-classic
-            test
-        
-
-        
-            com.h2database
-            h2
-            1.3.168
-            test
-        
-
-        
-            org.codehaus.groovy
-            groovy-all
-            2.3.5
-            test
-        
-
-    
-
-    
-        
-            
-                org.apache.felix
-                maven-bundle-plugin
-                
-                    
-                        bundle-manifest
-                        process-classes
-                        
-                            manifest
-                        
-                    
-                
-            
-        
-    
-
-
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectProcessEnginePlugin.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectProcessEnginePlugin.java
deleted file mode 100644
index 9c5346375c4..00000000000
--- a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectProcessEnginePlugin.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Licensed 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.camunda.connect.plugin;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.camunda.bpm.engine.impl.bpmn.parser.BpmnParseListener;
-import org.camunda.bpm.engine.impl.cfg.AbstractProcessEnginePlugin;
-import org.camunda.bpm.engine.impl.cfg.ProcessEngineConfigurationImpl;
-
-public class ConnectProcessEnginePlugin extends AbstractProcessEnginePlugin {
-
-  @Override
-  public void preInit(ProcessEngineConfigurationImpl processEngineConfiguration) {
-    addConnectorParseListener(processEngineConfiguration);
-  }
-
-  private void addConnectorParseListener(ProcessEngineConfigurationImpl processEngineConfiguration) {
-    List preParseListeners = processEngineConfiguration.getCustomPreBPMNParseListeners();
-    if(preParseListeners == null) {
-      preParseListeners = new ArrayList();
-      processEngineConfiguration.setCustomPreBPMNParseListeners(preParseListeners);
-    }
-    preParseListeners.add(new ConnectorParseListener());
-  }
-
-}
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java
deleted file mode 100644
index c9fe8b35494..00000000000
--- a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorParseListener.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Licensed 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.camunda.connect.plugin;
-
-import static org.camunda.bpm.engine.impl.util.BpmnParseUtil.findCamundaExtensionElement;
-import static org.camunda.bpm.engine.impl.util.BpmnParseUtil.parseInputOutput;
-
-import org.camunda.bpm.engine.BpmnParseException;
-import org.camunda.bpm.engine.impl.bpmn.parser.AbstractBpmnParseListener;
-import org.camunda.bpm.engine.impl.core.variable.mapping.IoMapping;
-import org.camunda.bpm.engine.impl.pvm.process.ActivityImpl;
-import org.camunda.bpm.engine.impl.pvm.process.ScopeImpl;
-import org.camunda.bpm.engine.impl.util.xml.Element;
-
-public class ConnectorParseListener extends AbstractBpmnParseListener {
-
-  @Override
-  public void parseServiceTask(Element serviceTaskElement, ScopeImpl scope, ActivityImpl activity) {
-    Element connectorDefinition = findCamundaExtensionElement(serviceTaskElement, "connector");
-    if (connectorDefinition != null) {
-      Element connectorIdElement = connectorDefinition.element("connectorId");
-
-      String connectorId = null;
-      if (connectorIdElement != null)  {
-        connectorId = connectorIdElement.getText().trim();
-      }
-      if (connectorIdElement == null || connectorId.isEmpty()) {
-        throw new BpmnParseException("No 'id' defined for connector.", connectorDefinition);
-      }
-
-      IoMapping ioMapping = parseInputOutput(connectorDefinition);
-      activity.setActivityBehavior(new ServiceTaskConnectorActivityBehavior(connectorId, ioMapping));
-    }
-  }
-
-}
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java
deleted file mode 100644
index 7e468607be1..00000000000
--- a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableScope.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Licensed 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.camunda.connect.plugin;
-
-import java.lang.Object;import java.lang.String;import java.util.Map;
-import java.util.Map.Entry;
-
-import org.camunda.connect.spi.ConnectorRequest;
-import org.camunda.connect.spi.ConnectorResponse;
-import org.camunda.bpm.engine.impl.core.variable.CoreVariableInstance;
-import org.camunda.bpm.engine.impl.core.variable.scope.AbstractVariableScope;
-import org.camunda.bpm.engine.impl.core.variable.scope.CoreVariableStore;
-
-/**
- * Exposes a connector request as variableScope.
- *
- * @author Daniel Meyer
- *
- */
-public class ConnectorVariableScope extends AbstractVariableScope {
-
-  private static final long serialVersionUID = 1L;
-
-  protected AbstractVariableScope parent;
-
-  protected ConnectorVariableStore variableStore;
-
-  public ConnectorVariableScope(AbstractVariableScope parent) {
-    this.parent = parent;
-    this.variableStore = new ConnectorVariableStore();
-  }
-
-  public String getVariableScopeKey() {
-    return "connector";
-  }
-
-  protected CoreVariableStore getVariableStore() {
-    return variableStore;
-  }
-
-  public AbstractVariableScope getParentVariableScope() {
-    return parent;
-  }
-
-  public void writeToRequest(ConnectorRequest request) {
-    for (CoreVariableInstance variable : variableStore.getVariableInstancesValues()) {
-      request.setRequestParameter(variable.getName(), variable.getTypedValue(true).getValue());
-    }
-  }
-
-  public void readFromResponse(ConnectorResponse response) {
-    Map responseParameters = response.getResponseParameters();
-    for (Entry entry : responseParameters.entrySet()) {
-      setVariableLocal(entry.getKey(), entry.getValue());
-    }
-  }
-
-}
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableStore.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableStore.java
deleted file mode 100644
index 8b893a34d88..00000000000
--- a/connect/plugin/src/main/java/org/camunda/connect/plugin/ConnectorVariableStore.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Licensed 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.camunda.connect.plugin;
-
-import org.camunda.bpm.engine.impl.core.variable.CoreVariableInstance;
-import org.camunda.bpm.engine.impl.core.variable.scope.AbstractVariableScope;
-import org.camunda.bpm.engine.impl.core.variable.scope.MapBasedVariableStore;
-import org.camunda.bpm.engine.variable.value.TypedValue;
-
-/**
- * @author Daniel Meyer
- *
- */
-public class ConnectorVariableStore extends MapBasedVariableStore {
-
-  public static class ConnectorParamVariable implements CoreVariableInstance {
-
-    protected String name;
-    protected TypedValue value;
-
-    public ConnectorParamVariable(String name, TypedValue value) {
-      this.name = name;
-      this.value = value;
-    }
-
-    public String getName() {
-      return name;
-    }
-
-    public TypedValue getTypedValue(boolean deserializeObjectValue) {
-      return value;
-    }
-  }
-
-  public void setVariableValue(CoreVariableInstance variableInstance, TypedValue value, AbstractVariableScope sourceActivityExecution) {
-    ((ConnectorParamVariable)variableInstance).value = value;
-  }
-
-  public ConnectorParamVariable createVariableInstance(String variableName, TypedValue value, AbstractVariableScope sourceActivityExecution) {
-    ConnectorParamVariable variableInstance = new ConnectorParamVariable(variableName, value);
-    variables.put(variableName, variableInstance);
-    return variableInstance;
-  }
-
-}
diff --git a/connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java b/connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java
deleted file mode 100644
index 5cac22c30db..00000000000
--- a/connect/plugin/src/main/java/org/camunda/connect/plugin/ServiceTaskConnectorActivityBehavior.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Licensed 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.camunda.connect.plugin;
-
-import org.camunda.bpm.engine.ProcessEngineException;
-import org.camunda.bpm.engine.impl.bpmn.behavior.TaskActivityBehavior;
-import org.camunda.bpm.engine.impl.core.variable.mapping.IoMapping;
-import org.camunda.bpm.engine.impl.core.variable.scope.AbstractVariableScope;
-import org.camunda.bpm.engine.impl.pvm.delegate.ActivityExecution;
-import org.camunda.connect.ConnectorException;
-import org.camunda.connect.Connectors;
-import org.camunda.connect.spi.Connector;
-import org.camunda.connect.spi.ConnectorRequest;
-import org.camunda.connect.spi.ConnectorResponse;
-
-/**
- * @author Daniel Meyer
- *
- */
-public class ServiceTaskConnectorActivityBehavior extends TaskActivityBehavior {
-
-  /** the id of the connector */
-  protected String connectorId;
-
-  /** cached connector instance for this activity.
-   * Will be initialized after the first execution of this activity. */
-  protected Connector connectorInstance;
-
-  /** the local ioMapping for this connector. */
-  protected IoMapping ioMapping;
-
-  public ServiceTaskConnectorActivityBehavior(String connectorId, IoMapping ioMapping) {
-    this.connectorId = connectorId;
-    this.ioMapping = ioMapping;
-  }
-
-  public void execute(ActivityExecution execution) throws Exception {
-    ensureConnectorInitialized();
-
-    ConnectorRequest request = connectorInstance.createRequest();
-    applyInputParameters(execution, request);
-
-    try {
-      // execute the request and obtain a response:
-      ConnectorResponse response = request.execute();
-      applyOutputParameters(execution, response);
-    } catch(Exception e) {
-      throw new ProcessEngineException("Exception while invoking connector "+e.getMessage(), e);
-    }
-
-    // leave activity
-    leave(execution);
-  }
-
-  protected void applyInputParameters(ActivityExecution execution, ConnectorRequest request) {
-    if(ioMapping != null) {
-      // create variable scope for input parameters
-      ConnectorVariableScope connectorInputVariableScope = new ConnectorVariableScope((AbstractVariableScope) execution);
-      // execute the connector input parameters
-      ioMapping.executeInputParameters(connectorInputVariableScope);
-      // write the local variables to the request.
-      connectorInputVariableScope.writeToRequest(request);
-    }
-  }
-
-  protected void applyOutputParameters(ActivityExecution execution, ConnectorResponse response) {
-    if(ioMapping != null) {
-      // create variable scope for output parameters
-      ConnectorVariableScope connectorOutputVariableScope = new ConnectorVariableScope((AbstractVariableScope) execution);
-      // read parameters from response
-      connectorOutputVariableScope.readFromResponse(response);
-      // map variables to parent scope.
-      ioMapping.executeOutputParameters(connectorOutputVariableScope);
-    }
-  }
-
-  protected void ensureConnectorInitialized() {
-    if(connectorInstance == null) {
-      synchronized (this) {
-        if(connectorInstance == null) {
-          connectorInstance = Connectors.getConnector(connectorId);
-          if (connectorInstance == null) {
-            throw new ConnectorException("No connector found for connector id '" + connectorId + "'");
-          }
-        }
-      }
-    }
-  }
-
-}
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.java
deleted file mode 100644
index 6890adbd1ad..00000000000
--- a/connect/plugin/src/test/java/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Licensed 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.camunda.connect.plugin;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.camunda.bpm.engine.BpmnParseException;
-import org.camunda.bpm.engine.ProcessEngineException;
-import org.camunda.bpm.engine.impl.test.PluggableProcessEngineTestCase;
-import org.camunda.bpm.engine.runtime.VariableInstance;
-import org.camunda.bpm.engine.test.Deployment;
-import org.camunda.connect.ConnectorException;
-import org.camunda.connect.Connectors;
-import org.camunda.connect.httpclient.HttpConnector;
-import org.camunda.connect.httpclient.soap.SoapHttpConnector;
-import org.camunda.connect.plugin.util.TestConnector;
-import org.camunda.connect.spi.Connector;
-
-public class ConnectProcessEnginePluginTest extends PluggableProcessEngineTestCase {
-
-  @Override
-  protected void setUp() throws Exception {
-    super.setUp();
-    TestConnector.responseParameters.clear();
-    TestConnector.requestParameters = null;
-  }
-
-  public void testConnectorsRegistered() {
-    Connector http = Connectors.getConnector(HttpConnector.ID);
-    assertNotNull(http);
-    Connector soap = Connectors.getConnector(SoapHttpConnector.ID);
-    assertNotNull(soap);
-    Connector test = Connectors.getConnector(TestConnector.ID);
-    assertNotNull(test);
-  }
-
-  public void testConnectorIdMissing() {
-    try {
-      repositoryService.createDeployment().addClasspathResource("org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdMissing.bpmn")
-        .deploy();
-      fail("Exception expected");
-    }
-    catch (ProcessEngineException e) {
-      assertFalse(e instanceof BpmnParseException);
-    }
-  }
-
-  @Deployment
-  public void testConnectorIdUnknown() {
-    try {
-      runtimeService.startProcessInstanceByKey("testProcess");
-      fail("Exception expected");
-    }
-    catch (ConnectorException e) {
-      // expected
-    }
-  }
-
-  @Deployment
-  public void testConnectorInvoked() {
-    String outputParamValue = "someOutputValue";
-    String inputVariableValue = "someInputVariableValue";
-
-    TestConnector.responseParameters.put("someOutputParameter", outputParamValue);
-
-    Map vars = new HashMap();
-    vars.put("someInputVariable", inputVariableValue);
-    runtimeService.startProcessInstanceByKey("testProcess", vars);
-
-    // validate input parameter
-    assertNotNull(TestConnector.requestParameters.get("reqParam1"));
-    assertEquals(inputVariableValue, TestConnector.requestParameters.get("reqParam1"));
-
-    // validate connector output
-    VariableInstance variable = runtimeService.createVariableInstanceQuery().variableName("out1").singleResult();
-    assertNotNull(variable);
-    assertEquals(outputParamValue, variable.getValue());
-  }
-
-  @Deployment
-  public void testConnectorWithScriptInputOutputMapping() {
-    int x = 3;
-    Map variables = new HashMap();
-    variables.put("x", x);
-    runtimeService.startProcessInstanceByKey("testProcess", variables);
-
-    // validate input parameter
-    Object in = TestConnector.requestParameters.get("in");
-    assertNotNull(in);
-    assertEquals(2 * x, in);
-
-    // validate output parameter
-    VariableInstance out = runtimeService.createVariableInstanceQuery().variableName("out").singleResult();
-    assertNotNull(out);
-    assertEquals(3 * x, out.getValue());
-  }
-
-}
-
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnector.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnector.java
deleted file mode 100644
index b4dabd3d3e5..00000000000
--- a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnector.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Licensed 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.camunda.connect.plugin.util;
-
-import java.lang.Exception;import java.lang.Object;import java.lang.RuntimeException;import java.lang.String;import java.util.HashMap;
-import java.util.Map;
-
-import org.camunda.connect.impl.AbstractConnector;
-
-/**
- * @author Daniel Meyer
- *
- */
-public class TestConnector extends AbstractConnector {
-
-  public static final String ID = "testConnector";
-
-  public static Map requestParameters;
-  public static Map responseParameters = new HashMap();
-
-  public TestConnector(String connectorId) {
-    super(connectorId);
-  }
-
-  public TestConnectorRequest createRequest() {
-    return new TestConnectorRequest(this);
-  }
-
-  public TestConnectorResponse execute(TestConnectorRequest req) {
-    // capture request parameters
-    requestParameters = req.getRequestParameters();
-
-    TestRequestInvocation testRequestInvocation = new TestRequestInvocation(null, req, requestInterceptors);
-
-    try {
-      testRequestInvocation.proceed();
-      // use response parameters
-      return new TestConnectorResponse(responseParameters);
-
-    } catch (Exception e) {
-      throw new RuntimeException(e);
-    }
-  }
-
-}
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java
deleted file mode 100644
index e7f2e16fa1c..00000000000
--- a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorProvider.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Licensed 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.camunda.connect.plugin.util;
-
-import org.camunda.connect.spi.Connector;
-import org.camunda.connect.spi.ConnectorProvider;
-
-public class TestConnectorProvider implements ConnectorProvider {
-
-  public String getConnectorId() {
-    return TestConnector.ID;
-  }
-
-  public Connector createConnectorInstance() {
-    return new TestConnector(TestConnector.ID);
-  }
-}
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorRequest.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorRequest.java
deleted file mode 100644
index eb4b51e5ecb..00000000000
--- a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorRequest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Licensed 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.camunda.connect.plugin.util;
-
-import org.camunda.connect.impl.AbstractConnector;
-import org.camunda.connect.impl.AbstractConnectorRequest;
-
-/**
- * @author Daniel Meyer
- *
- */
-public class TestConnectorRequest extends AbstractConnectorRequest {
-
-  public TestConnectorRequest(AbstractConnector connector) {
-    super(connector);
-  }
-
-}
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorResponse.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorResponse.java
deleted file mode 100644
index 5f0eb4ecb3f..00000000000
--- a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestConnectorResponse.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Licensed 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.camunda.connect.plugin.util;
-
-import java.util.Map;
-
-import org.camunda.connect.impl.AbstractConnectorResponse;
-
-
-/**
- * @author Daniel Meyer
- *
- */
-public class TestConnectorResponse extends AbstractConnectorResponse {
-
-  private Map responseParameters;
-
-  public TestConnectorResponse(Map responseParameters) {
-    this.responseParameters = responseParameters;
-  }
-
-  protected void collectResponseParameters(Map arg0) {
-    if(responseParameters != null) {
-      arg0.putAll(responseParameters);
-    }
-  }
-
-}
diff --git a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestRequestInvocation.java b/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestRequestInvocation.java
deleted file mode 100644
index ab70557d439..00000000000
--- a/connect/plugin/src/test/java/org/camunda/connect/plugin/util/TestRequestInvocation.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Licensed 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.camunda.connect.plugin.util;
-
-import java.util.List;
-
-import org.camunda.connect.impl.AbstractRequestInvocation;
-import org.camunda.connect.spi.ConnectorRequest;
-import org.camunda.connect.spi.ConnectorRequestInterceptor;
-
-/**
- * @author Daniel Meyer
- *
- */
-public class TestRequestInvocation extends AbstractRequestInvocation {
-
-  public TestRequestInvocation(Object target, ConnectorRequest request, List interceptorChain) {
-    super(target, request, interceptorChain);
-  }
-
-  public Object invokeTarget() throws Exception {
-    return null;
-  }
-
-}
diff --git a/connect/plugin/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider b/connect/plugin/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
deleted file mode 100644
index 830b2e8d697..00000000000
--- a/connect/plugin/src/test/resources/META-INF/services/org.camunda.connect.spi.ConnectorProvider
+++ /dev/null
@@ -1 +0,0 @@
-org.camunda.connect.plugin.util.TestConnectorProvider
diff --git a/connect/plugin/src/test/resources/camunda.cfg.xml b/connect/plugin/src/test/resources/camunda.cfg.xml
deleted file mode 100644
index d31f68d9794..00000000000
--- a/connect/plugin/src/test/resources/camunda.cfg.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-  
-  
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-
-    
-      
-        
-      
-    
-
-  
-
-
diff --git a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdMissing.bpmn b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdMissing.bpmn
deleted file mode 100644
index c60fdc37940..00000000000
--- a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdMissing.bpmn
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-  
-    
-    
-    
-      
-        
-          
-            ${someInputVariable}
-            ${someOutputParameter}
-          
-        
-      
-    
-    
-    
-  
-
diff --git a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdUnknown.bpmn b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdUnknown.bpmn
deleted file mode 100644
index e8dc73b7f4e..00000000000
--- a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorIdUnknown.bpmn
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-  
-    
-    
-    
-      
-        
-          unknownConnector
-          
-            ${someInputVariable}
-            ${someOutputParameter}
-          
-        
-      
-    
-    
-    
-  
-
diff --git a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorInvoked.bpmn b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorInvoked.bpmn
deleted file mode 100644
index 7fe205f0bd2..00000000000
--- a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorInvoked.bpmn
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-  
-    
-    
-    
-      
-        
-          testConnector
-          
-            ${someInputVariable}
-            ${someOutputParameter}
-          
-        
-      
-    
-    
-    
-    
-    
-  
-
diff --git a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorWithScriptInputOutputMapping.bpmn b/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorWithScriptInputOutputMapping.bpmn
deleted file mode 100644
index 311c0358b8f..00000000000
--- a/connect/plugin/src/test/resources/org/camunda/connect/plugin/ConnectProcessEnginePluginTest.testConnectorWithScriptInputOutputMapping.bpmn
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-  
-    
-    
-    
-      
-        
-          testConnector
-          
-            
-              
-                // test if execution is available
-                y = execution.getVariable('x')
-                y + y
-              
-            
-            
-              
-                // test if connector is available
-                y = connector.getVariable('x')
-                y + y + y
-              
-            
-          
-        
-      
-    
-    
-    
-    
-    
-  
-
diff --git a/connect/pom.xml b/connect/pom.xml
index a1e45c530fc..297b042bbb3 100644
--- a/connect/pom.xml
+++ b/connect/pom.xml
@@ -18,7 +18,6 @@
     dist
     http-client
     soap-http-client
-    plugin
   
 
   

From 80a703b643d68c8c708d2ae34c8c33d6c91b3629 Mon Sep 17 00:00:00 2001
From: Sebastian Menski 
Date: Wed, 12 Nov 2014 13:19:32 +0100
Subject: [PATCH 039/200] chore(all): replace connect-all with connectors-all

- distribution of all connectors with apache http client shaded

related to #CAM-3061
---
 connect/bom/pom.xml                                         | 6 +++---
 connect/{dist => connectors-all}/pom.xml                    | 6 +++---
 .../src/main/resources/META-INF/MANIFEST.MF                 | 0
 connect/pom.xml                                             | 2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)
 rename connect/{dist => connectors-all}/pom.xml (96%)
 rename connect/{dist => connectors-all}/src/main/resources/META-INF/MANIFEST.MF (100%)

diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml
index abb63b24f6b..cb5445c2b94 100644
--- a/connect/bom/pom.xml
+++ b/connect/bom/pom.xml
@@ -26,19 +26,19 @@
 
       
         org.camunda.connect
-        camunda-connect-all
+        camunda-connect-http-client
         ${project.version}
       
 
       
         org.camunda.connect
-        camunda-connect-http-client
+        camunda-connect-soap-http-client
         ${project.version}
       
 
       
         org.camunda.connect
-        camunda-connect-soap-http-client
+        camunda-connect-connectors-all
         ${project.version}
       
 
diff --git a/connect/dist/pom.xml b/connect/connectors-all/pom.xml
similarity index 96%
rename from connect/dist/pom.xml
rename to connect/connectors-all/pom.xml
index fad9f7b0848..bba2c362184 100644
--- a/connect/dist/pom.xml
+++ b/connect/connectors-all/pom.xml
@@ -1,14 +1,14 @@
 
   4.0.0
-  
+
   
     org.camunda.connect
     camunda-connect-root
     1.0.0-SNAPSHOT
   
 
-  camunda-connect-all
-  camunda BPM - connect - all in one
+  camunda-connect-connectors-all
+  camunda BPM - connect - all connectors in one
 
   
     7.2.0-SNAPSHOT
diff --git a/connect/dist/src/main/resources/META-INF/MANIFEST.MF b/connect/connectors-all/src/main/resources/META-INF/MANIFEST.MF
similarity index 100%
rename from connect/dist/src/main/resources/META-INF/MANIFEST.MF
rename to connect/connectors-all/src/main/resources/META-INF/MANIFEST.MF
diff --git a/connect/pom.xml b/connect/pom.xml
index 297b042bbb3..3cd3927fb69 100644
--- a/connect/pom.xml
+++ b/connect/pom.xml
@@ -15,9 +15,9 @@
   
     bom
     core
-    dist
     http-client
     soap-http-client
+    connectors-all
   
 
   

From 1751a2f06ee256b731da5e9b2daa1f87139c6520 Mon Sep 17 00:00:00 2001
From: Daniel Meyer 
Date: Wed, 12 Nov 2014 13:58:36 +0100
Subject: [PATCH 040/200] chore(connectors): load connectors from classloader

related to #CAM-3061
---
 .../java/org/camunda/connect/Connectors.java  | 28 +++++++++++++------
 1 file changed, 20 insertions(+), 8 deletions(-)

diff --git a/connect/core/src/main/java/org/camunda/connect/Connectors.java b/connect/core/src/main/java/org/camunda/connect/Connectors.java
index c057b99a4fd..98ab1c01661 100644
--- a/connect/core/src/main/java/org/camunda/connect/Connectors.java
+++ b/connect/core/src/main/java/org/camunda/connect/Connectors.java
@@ -108,27 +108,31 @@ protected void ensureConnectorProvidersInitialized() {
     if (availableConnectors == null) {
       synchronized (Connectors.class) {
         if (availableConnectors == null) {
-          initializeConnectors();
+          initializeConnectors(null);
         }
       }
     }
   }
 
-  protected void initializeConnectors() {
+  protected void initializeConnectors(ClassLoader classLoader) {
     Map> connectors = new HashMap>();
 
+    if(classLoader == null) {
+      classLoader = Connectors.class.getClassLoader();
+    }
+
     // discover available custom connector providers on the classpath
-    registerConnectors(connectors);
+    registerConnectors(connectors, classLoader);
 
     // discover and apply connector configurators on the classpath
-    applyConfigurators(connectors);
+    applyConfigurators(connectors, classLoader);
 
     this.availableConnectors = connectors;
 
   }
 
-  protected void registerConnectors(Map> connectors) {
-    ServiceLoader providers = ServiceLoader.load(ConnectorProvider.class, Connectors.class.getClassLoader());
+  protected void registerConnectors(Map> connectors, ClassLoader classLoader) {
+    ServiceLoader providers = ServiceLoader.load(ConnectorProvider.class, classLoader);
 
     for (ConnectorProvider provider : providers) {
       registerProvider(connectors, provider);
@@ -148,8 +152,8 @@ protected void registerProvider(Map> connectors, ConnectorP
   }
 
   @SuppressWarnings("rawtypes")
-  protected void applyConfigurators(Map> connectors) {
-    ServiceLoader configurators = ServiceLoader.load(ConnectorConfigurator.class, Connectors.class.getClassLoader());
+  protected void applyConfigurators(Map> connectors, ClassLoader classLoader) {
+    ServiceLoader configurators = ServiceLoader.load(ConnectorConfigurator.class, classLoader);
 
     for (ConnectorConfigurator configurator : configurators) {
       LOG.connectorConfiguratorDiscovered(configurator);
@@ -166,4 +170,12 @@ protected void applyConfigurator(Map> connectors, Connector
     }
   }
 
+  public static void loadConnectors() {
+    loadConnectors(null);
+  }
+
+  public static void loadConnectors(ClassLoader classloader) {
+    INSTANCE.initializeConnectors(classloader);
+  }
+
 }

From aa939bfc0c5f9f7498d38def5327862dfc6b3307 Mon Sep 17 00:00:00 2001
From: Sebastian Menski 
Date: Wed, 12 Nov 2014 17:52:09 +0100
Subject: [PATCH 041/200] chore(core): add method to register own connector

related to #CAM-3061
---
 .../java/org/camunda/connect/Connectors.java  | 42 +++++++++++++++----
 1 file changed, 34 insertions(+), 8 deletions(-)

diff --git a/connect/core/src/main/java/org/camunda/connect/Connectors.java b/connect/core/src/main/java/org/camunda/connect/Connectors.java
index 98ab1c01661..b4ef89a5d0c 100644
--- a/connect/core/src/main/java/org/camunda/connect/Connectors.java
+++ b/connect/core/src/main/java/org/camunda/connect/Connectors.java
@@ -79,6 +79,35 @@ public static Set>> getAvailableConnecto
     return INSTANCE.getAllAvailableConnectors();
   }
 
+  /**
+   * Load all available connectors.
+   */
+  public static void loadConnectors() {
+    loadConnectors(null);
+  }
+
+  /**
+   * Load all available connectors with the given classloader.
+   */
+  public static void loadConnectors(ClassLoader classloader) {
+    INSTANCE.initializeConnectors(classloader);
+  }
+
+  /**
+   * Register a new connector.
+   */
+  public static void registerConnector(Connector connector) {
+    registerConnector(connector.getId(), connector);
+  }
+
+  /**
+   * Register a new connector under the given connector id.
+   */
+  public static void registerConnector(String connectorId, Connector connector) {
+    INSTANCE.registerConnectorInstance(connectorId, connector);
+  }
+
+
   // instance //////////////////////////////////////////////////////////
 
   protected Map> availableConnectors;
@@ -151,6 +180,11 @@ protected void registerProvider(Map> connectors, ConnectorP
     }
   }
 
+  protected void registerConnectorInstance(String connectorId, Connector connector) {
+    ensureConnectorProvidersInitialized();
+    availableConnectors.put(connectorId, connector);
+  }
+
   @SuppressWarnings("rawtypes")
   protected void applyConfigurators(Map> connectors, ClassLoader classLoader) {
     ServiceLoader configurators = ServiceLoader.load(ConnectorConfigurator.class, classLoader);
@@ -170,12 +204,4 @@ protected void applyConfigurator(Map> connectors, Connector
     }
   }
 
-  public static void loadConnectors() {
-    loadConnectors(null);
-  }
-
-  public static void loadConnectors(ClassLoader classloader) {
-    INSTANCE.initializeConnectors(classloader);
-  }
-
 }

From 3f07af6c758a90404afbaae177ac29c17898698b Mon Sep 17 00:00:00 2001
From: Sebastian Menski 
Date: Thu, 13 Nov 2014 13:12:16 +0100
Subject: [PATCH 042/200] chore(docs): adjust maven coordinates

related to #CAM-3061
---
 connect/docs/user-guide/http/index.md | 50 ++++++++++++++++++---------
 connect/docs/user-guide/soap/index.md | 49 +++++++++++++++++---------
 2 files changed, 65 insertions(+), 34 deletions(-)

diff --git a/connect/docs/user-guide/http/index.md b/connect/docs/user-guide/http/index.md
index 9cb10f8add8..319ad0c3dce 100644
--- a/connect/docs/user-guide/http/index.md
+++ b/connect/docs/user-guide/http/index.md
@@ -6,25 +6,41 @@ it can be used to connect to a REST service.
 
 ## Adding the maven dependency
 
-To use the camunda connect HTTP connector in your project import the `camunda-connect-bom`
-dependency with the current `VERSION`. Also add a dependency either for the
-`camunda-connect-http-client` or the `camunda-connect-all` artifact. The later includes every
-artifact of the camunda connect project. If you also use other components of the camunda BPM
-platform please use the `camunda-bom` instead which already imports the `camunda-connect-bom`.
+To use the camunda connect HTTP connector in your project import the
+`camunda-connect-bom` dependency with the current `VERSION`. Also add a
+dependency either for the `camunda-conenct-core` and the
+`camunda-connect-http-client` or the `camunda-connect-connectors-all` artifact.
+The later includes every artifact of the camunda connect project. If you also
+use other components of the camunda BPM platform please use the `camunda-bom`
+instead which already imports the `camunda-connect-bom`.
+
+
+```xml
+
+  
+    
+      org.camunda.connect
+      camunda-connect-bom
+      import
+      pom
+      ${version.connect}
+    
+  
+
+```
 
 ```xml
-
-  org.camunda.connect
-  camunda-connect-bom
-  import
-  pom
-  VERSION
-
-
-
-  org.camunda.connect
-  camunda-connect-http-client
-
+
+  
+    org.camunda.connect
+    camunda-connect-core
+  
+
+  
+    org.camunda.connect
+    camunda-connect-http-client
+  
+
 ```
 
 
diff --git a/connect/docs/user-guide/soap/index.md b/connect/docs/user-guide/soap/index.md
index e28a9fe7eb8..7904037f3af 100644
--- a/connect/docs/user-guide/soap/index.md
+++ b/connect/docs/user-guide/soap/index.md
@@ -5,25 +5,40 @@ This connector allows you to easily connect to a SOAP service.
 
 ## Adding the maven dependency
 
-To use the camunda connect SOAP connector in your project import the `camunda-connect-bom`
-dependency with the current `VERSION`. Also add a dependency either for the
-`camunda-connect-soap-http-client` or the `camunda-connect-all` artifact. The later includes every
-artifact of the camunda connect project. If you also use other components of the camunda BPM
-platform please use the `camunda-bom` instead which already imports the `camunda-connect-bom`.
+To use the camunda connect SOAP connector in your project import the
+`camunda-connect-bom` dependency with the current `VERSION`. Also add a
+dependency either for the `camunda-connect-core` and
+`camunda-connect-soap-http-client` or the `camunda-connect-connectors-all`
+artifact. The later includes every artifact of the camunda connect project. If
+you also use other components of the camunda BPM platform please use the
+`camunda-bom` instead which already imports the `camunda-connect-bom`.
 
 ```xml
-
-  org.camunda.connect
-  camunda-connect-bom
-  import
-  pom
-  VERSION
-
-
-
-  org.camunda.connect
-  camunda-connect-soap-http-client
-
+
+  
+    
+      org.camunda.connect
+      camunda-connect-bom
+      import
+      pom
+      ${version.connect}
+    
+  
+
+```
+
+```xml
+
+  
+    org.camunda.connect
+    camunda-connect-core
+  
+
+  
+    org.camunda.connect
+    camunda-connect-soap-http-client
+  
+
 ```
 
 

From 276e28def397dddde8033a5d275788b1afe71ccf Mon Sep 17 00:00:00 2001
From: Thorben Lindhauer 
Date: Thu, 13 Nov 2014 13:47:50 +0100
Subject: [PATCH 043/200] chore(core): make register methods protected

- should not be public API for now

related to CAM-3061
---
 .../java/org/camunda/connect/Connectors.java  | 21 +++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/connect/core/src/main/java/org/camunda/connect/Connectors.java b/connect/core/src/main/java/org/camunda/connect/Connectors.java
index b4ef89a5d0c..454c42efbea 100644
--- a/connect/core/src/main/java/org/camunda/connect/Connectors.java
+++ b/connect/core/src/main/java/org/camunda/connect/Connectors.java
@@ -96,17 +96,21 @@ public static void loadConnectors(ClassLoader classloader) {
   /**
    * Register a new connector.
    */
-  public static void registerConnector(Connector connector) {
+  protected static void registerConnector(Connector connector) {
     registerConnector(connector.getId(), connector);
   }
 
   /**
    * Register a new connector under the given connector id.
    */
-  public static void registerConnector(String connectorId, Connector connector) {
+  protected static void registerConnector(String connectorId, Connector connector) {
     INSTANCE.registerConnectorInstance(connectorId, connector);
   }
 
+  protected static void unregisterConnector(String connectorId) {
+    INSTANCE.unregisterConnectorInstance(connectorId);
+  }
+
 
   // instance //////////////////////////////////////////////////////////
 
@@ -180,9 +184,18 @@ protected void registerProvider(Map> connectors, ConnectorP
     }
   }
 
-  protected void registerConnectorInstance(String connectorId, Connector connector) {
+  protected void registerConnectorInstance(String connectorId, Connector connector) {
     ensureConnectorProvidersInitialized();
-    availableConnectors.put(connectorId, connector);
+    synchronized (Connectors.class) {
+      availableConnectors.put(connectorId, connector);
+    }
+  }
+
+  protected void unregisterConnectorInstance(String connectorId) {
+    ensureConnectorProvidersInitialized();
+    synchronized (Connectors.class) {
+      availableConnectors.remove(connectorId);
+    }
   }
 
   @SuppressWarnings("rawtypes")

From 61f94355d6b78fba1696946ce616591ed224e52f Mon Sep 17 00:00:00 2001
From: Daniel Meyer 
Date: Thu, 13 Nov 2014 14:13:18 +0100
Subject: [PATCH 044/200] chore(connect): move loggers to impl

---
 .../core/src/main/java/org/camunda/connect/Connectors.java    | 2 ++
 .../connect/impl/AbstractCloseableConnectorResponse.java      | 2 --
 .../org/camunda/connect/{ => impl}/ConnectCoreLogger.java     | 3 ++-
 .../java/org/camunda/connect/{ => impl}/ConnectLogger.java    | 2 +-
 .../connect/httpclient/impl/AbstractHttpConnector.java        | 2 --
 .../camunda/connect/httpclient/impl/AbstractHttpRequest.java  | 2 --
 .../connect/httpclient/{ => impl}/HttpConnectorLogger.java    | 4 ++--
 .../org/camunda/connect/httpclient/{ => impl}/HttpLogger.java | 2 +-
 .../org/camunda/connect/httpclient/impl/HttpResponseImpl.java | 2 --
 .../connect/httpclient/soap/impl/SoapHttpConnectorImpl.java   | 2 --
 .../httpclient/soap/{ => impl}/SoapHttpConnectorLogger.java   | 2 +-
 .../connect/httpclient/soap/{ => impl}/SoapHttpLogger.java    | 2 +-
 .../connect/httpclient/soap/impl/SoapHttpRequestImpl.java     | 2 --
 13 files changed, 10 insertions(+), 19 deletions(-)
 rename connect/core/src/main/java/org/camunda/connect/{ => impl}/ConnectCoreLogger.java (96%)
 rename connect/core/src/main/java/org/camunda/connect/{ => impl}/ConnectLogger.java (96%)
 rename connect/http-client/src/main/java/org/camunda/connect/httpclient/{ => impl}/HttpConnectorLogger.java (95%)
 rename connect/http-client/src/main/java/org/camunda/connect/httpclient/{ => impl}/HttpLogger.java (95%)
 rename connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/{ => impl}/SoapHttpConnectorLogger.java (95%)
 rename connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/{ => impl}/SoapHttpLogger.java (94%)

diff --git a/connect/core/src/main/java/org/camunda/connect/Connectors.java b/connect/core/src/main/java/org/camunda/connect/Connectors.java
index 454c42efbea..4986a3882d3 100644
--- a/connect/core/src/main/java/org/camunda/connect/Connectors.java
+++ b/connect/core/src/main/java/org/camunda/connect/Connectors.java
@@ -19,6 +19,8 @@
 import java.util.ServiceLoader;
 import java.util.Set;
 
+import org.camunda.connect.impl.ConnectCoreLogger;
+import org.camunda.connect.impl.ConnectLogger;
 import org.camunda.connect.spi.Connector;
 import org.camunda.connect.spi.ConnectorConfigurator;
 import org.camunda.connect.spi.ConnectorProvider;
diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java
index c21d009b354..7a4e7e1752a 100644
--- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java
+++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java
@@ -15,8 +15,6 @@
 import java.io.Closeable;
 import java.io.IOException;
 
-import org.camunda.connect.ConnectCoreLogger;
-import org.camunda.connect.ConnectLogger;
 import org.camunda.connect.spi.CloseableConnectorResponse;
 
 /**
diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectCoreLogger.java b/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java
similarity index 96%
rename from connect/core/src/main/java/org/camunda/connect/ConnectCoreLogger.java
rename to connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java
index 4046b5fa48b..ba9c7f8feed 100644
--- a/connect/core/src/main/java/org/camunda/connect/ConnectCoreLogger.java
+++ b/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java
@@ -10,8 +10,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.camunda.connect;
+package org.camunda.connect.impl;
 
+import org.camunda.connect.ConnectorException;
 import org.camunda.connect.spi.CloseableConnectorResponse;
 import org.camunda.connect.spi.Connector;
 import org.camunda.connect.spi.ConnectorConfigurator;
diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectLogger.java b/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java
similarity index 96%
rename from connect/core/src/main/java/org/camunda/connect/ConnectLogger.java
rename to connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java
index eae9e2f119b..8ad34aa54aa 100644
--- a/connect/core/src/main/java/org/camunda/connect/ConnectLogger.java
+++ b/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java
@@ -10,7 +10,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.camunda.connect;
+package org.camunda.connect.impl;
 
 import org.camunda.commons.logging.BaseLogger;
 
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java
index 8aa26277293..9b992999450 100644
--- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java
@@ -32,8 +32,6 @@
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.camunda.connect.httpclient.HttpBaseRequest;
-import org.camunda.connect.httpclient.HttpConnectorLogger;
-import org.camunda.connect.httpclient.HttpLogger;
 import org.camunda.connect.httpclient.HttpResponse;
 import org.camunda.connect.impl.AbstractConnector;
 
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java
index b3c66f6a3a7..42b57642c94 100644
--- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java
@@ -25,8 +25,6 @@
 import org.apache.http.client.methods.HttpPut;
 import org.apache.http.client.methods.HttpTrace;
 import org.camunda.connect.httpclient.HttpBaseRequest;
-import org.camunda.connect.httpclient.HttpConnectorLogger;
-import org.camunda.connect.httpclient.HttpLogger;
 import org.camunda.connect.httpclient.HttpResponse;
 import org.camunda.connect.impl.AbstractConnectorRequest;
 import org.camunda.connect.spi.Connector;
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java
similarity index 95%
rename from connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorLogger.java
rename to connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java
index 197679113a9..ec687eac444 100644
--- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorLogger.java
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java
@@ -11,11 +11,11 @@
  * limitations under the License.
  */
 
-package org.camunda.connect.httpclient;
+package org.camunda.connect.httpclient.impl;
 
-import org.camunda.connect.ConnectLogger;
 import org.camunda.connect.ConnectorRequestException;
 import org.camunda.connect.ConnectorResponseException;
+import org.camunda.connect.impl.ConnectLogger;
 
 public class HttpConnectorLogger extends ConnectLogger {
 
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java
similarity index 95%
rename from connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpLogger.java
rename to connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java
index aed0372cb5a..9973e05b780 100644
--- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpLogger.java
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java
@@ -11,7 +11,7 @@
  * limitations under the License.
  */
 
-package org.camunda.connect.httpclient;
+package org.camunda.connect.httpclient.impl;
 
 import org.camunda.commons.logging.BaseLogger;
 
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java
index c0cddef578d..88d028fb790 100644
--- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java
+++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java
@@ -20,8 +20,6 @@
 
 import org.apache.http.Header;
 import org.apache.http.client.methods.CloseableHttpResponse;
-import org.camunda.connect.httpclient.HttpConnectorLogger;
-import org.camunda.connect.httpclient.HttpLogger;
 import org.camunda.connect.httpclient.HttpResponse;
 import org.camunda.connect.impl.AbstractCloseableConnectorResponse;
 import org.camunda.commons.utils.IoUtil;
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java
index 7ebbd48e8e9..96712a6a0ea 100644
--- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java
@@ -17,8 +17,6 @@
 import org.camunda.connect.httpclient.impl.AbstractHttpConnector;
 import org.camunda.connect.httpclient.impl.AbstractHttpRequest;
 import org.camunda.connect.httpclient.soap.SoapHttpConnector;
-import org.camunda.connect.httpclient.soap.SoapHttpConnectorLogger;
-import org.camunda.connect.httpclient.soap.SoapHttpLogger;
 import org.camunda.connect.httpclient.soap.SoapHttpRequest;
 import org.camunda.connect.httpclient.soap.SoapHttpResponse;
 
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorLogger.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java
similarity index 95%
rename from connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorLogger.java
rename to connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java
index 13379e2b68e..a8d6c5069bf 100644
--- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorLogger.java
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java
@@ -11,7 +11,7 @@
  * limitations under the License.
  */
 
-package org.camunda.connect.httpclient.soap;
+package org.camunda.connect.httpclient.soap.impl;
 
 import org.camunda.connect.ConnectorRequestException;
 
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpLogger.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java
similarity index 94%
rename from connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpLogger.java
rename to connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java
index 2c4c6c8ef14..d3dd20f00e1 100644
--- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpLogger.java
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java
@@ -11,7 +11,7 @@
  * limitations under the License.
  */
 
-package org.camunda.connect.httpclient.soap;
+package org.camunda.connect.httpclient.soap.impl;
 
 import org.camunda.commons.logging.BaseLogger;
 
diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java
index b3b4ab515f1..be46c0979cf 100644
--- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java
+++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java
@@ -15,8 +15,6 @@
 import org.apache.http.client.methods.HttpPost;
 import org.camunda.connect.httpclient.impl.AbstractHttpRequest;
 import org.camunda.connect.httpclient.soap.SoapHttpConnector;
-import org.camunda.connect.httpclient.soap.SoapHttpConnectorLogger;
-import org.camunda.connect.httpclient.soap.SoapHttpLogger;
 import org.camunda.connect.httpclient.soap.SoapHttpRequest;
 import org.camunda.connect.httpclient.soap.SoapHttpResponse;
 

From 8515d4aa8c379de8c6dff3c7bcd7f6325cd84862 Mon Sep 17 00:00:00 2001
From: Sebastian Menski 
Date: Thu, 13 Nov 2014 15:54:05 +0100
Subject: [PATCH 045/200] chore(pom): add scm info to root pom

---
 connect/pom.xml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/connect/pom.xml b/connect/pom.xml
index 3cd3927fb69..eb724bc225e 100644
--- a/connect/pom.xml
+++ b/connect/pom.xml
@@ -85,4 +85,11 @@
     
   
 
+  
+    https://github.com/camunda/camunda-connect
+    scm:git:git@github.com:camunda/camunda-connect.git
+    scm:git:git@github.com:camunda/camunda-connect.git
+    HEAD
+  
+
 

From 926d14f3260c0b5b725e4efd924ff0f21744e61e Mon Sep 17 00:00:00 2001
From: Jenkins 
Date: Thu, 13 Nov 2014 16:01:50 +0100
Subject: [PATCH 046/200] [maven-release-plugin] prepare release 1.0.0-alpha4

---
 connect/bom/pom.xml              | 4 ++--
 connect/connectors-all/pom.xml   | 4 ++--
 connect/core/pom.xml             | 2 +-
 connect/http-client/pom.xml      | 2 +-
 connect/pom.xml                  | 4 ++--
 connect/soap-http-client/pom.xml | 2 +-
 6 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml
index cb5445c2b94..7d8da61a652 100644
--- a/connect/bom/pom.xml
+++ b/connect/bom/pom.xml
@@ -11,7 +11,7 @@
 
   org.camunda.connect
   camunda-connect-bom
-  1.0.0-SNAPSHOT
+  1.0.0-alpha4
   camunda BPM - connect - bom
   pom
 
@@ -49,7 +49,7 @@
     https://github.com/camunda/camunda-connect
     scm:git:git@github.com:camunda/camunda-connect.git
     scm:git:git@github.com:camunda/camunda-connect.git
-    HEAD
+    1.0.0-alpha4
   
 
 
diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml
index bba2c362184..5f5cf8858f2 100644
--- a/connect/connectors-all/pom.xml
+++ b/connect/connectors-all/pom.xml
@@ -4,7 +4,7 @@
   
     org.camunda.connect
     camunda-connect-root
-    1.0.0-SNAPSHOT
+    1.0.0-alpha4
   
 
   camunda-connect-connectors-all
@@ -57,7 +57,7 @@
                 
               
               
-                
+                
               
             
           
diff --git a/connect/core/pom.xml b/connect/core/pom.xml
index 83db6758e2c..aefc860b1b7 100644
--- a/connect/core/pom.xml
+++ b/connect/core/pom.xml
@@ -4,7 +4,7 @@
   
     org.camunda.connect
     camunda-connect-root
-    1.0.0-SNAPSHOT
+    1.0.0-alpha4
   
 
   camunda-connect-core
diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml
index 422e41fa82f..9a4494c7404 100644
--- a/connect/http-client/pom.xml
+++ b/connect/http-client/pom.xml
@@ -4,7 +4,7 @@
     
         camunda-connect-root
         org.camunda.connect
-        1.0.0-SNAPSHOT
+        1.0.0-alpha4
     
     4.0.0
 
diff --git a/connect/pom.xml b/connect/pom.xml
index eb724bc225e..826b014d427 100644
--- a/connect/pom.xml
+++ b/connect/pom.xml
@@ -4,7 +4,7 @@
   
     org.camunda.connect
     camunda-connect-bom
-    1.0.0-SNAPSHOT
+    1.0.0-alpha4
     bom
   
 
@@ -89,7 +89,7 @@
     https://github.com/camunda/camunda-connect
     scm:git:git@github.com:camunda/camunda-connect.git
     scm:git:git@github.com:camunda/camunda-connect.git
-    HEAD
+    1.0.0-alpha4
   
 
 
diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml
index cf5fe3faf15..8974080703a 100644
--- a/connect/soap-http-client/pom.xml
+++ b/connect/soap-http-client/pom.xml
@@ -4,7 +4,7 @@
   
     org.camunda.connect
     camunda-connect-root
-    1.0.0-SNAPSHOT
+    1.0.0-alpha4
   
 
   camunda-connect-soap-http-client

From 90a414fda6b0b11272fe9e3fdd4cb74eb1a57127 Mon Sep 17 00:00:00 2001
From: Jenkins 
Date: Thu, 13 Nov 2014 16:01:54 +0100
Subject: [PATCH 047/200] [maven-release-plugin] prepare for next development
 iteration

---
 connect/bom/pom.xml              | 4 ++--
 connect/connectors-all/pom.xml   | 2 +-
 connect/core/pom.xml             | 2 +-
 connect/http-client/pom.xml      | 2 +-
 connect/pom.xml                  | 4 ++--
 connect/soap-http-client/pom.xml | 2 +-
 6 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml
index 7d8da61a652..cb5445c2b94 100644
--- a/connect/bom/pom.xml
+++ b/connect/bom/pom.xml
@@ -11,7 +11,7 @@
 
   org.camunda.connect
   camunda-connect-bom
-  1.0.0-alpha4
+  1.0.0-SNAPSHOT
   camunda BPM - connect - bom
   pom
 
@@ -49,7 +49,7 @@
     https://github.com/camunda/camunda-connect
     scm:git:git@github.com:camunda/camunda-connect.git
     scm:git:git@github.com:camunda/camunda-connect.git
-    1.0.0-alpha4
+    HEAD
   
 
 
diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml
index 5f5cf8858f2..20cb682f2b4 100644
--- a/connect/connectors-all/pom.xml
+++ b/connect/connectors-all/pom.xml
@@ -4,7 +4,7 @@
   
     org.camunda.connect
     camunda-connect-root
-    1.0.0-alpha4
+    1.0.0-SNAPSHOT
   
 
   camunda-connect-connectors-all
diff --git a/connect/core/pom.xml b/connect/core/pom.xml
index aefc860b1b7..83db6758e2c 100644
--- a/connect/core/pom.xml
+++ b/connect/core/pom.xml
@@ -4,7 +4,7 @@
   
     org.camunda.connect
     camunda-connect-root
-    1.0.0-alpha4
+    1.0.0-SNAPSHOT
   
 
   camunda-connect-core
diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml
index 9a4494c7404..422e41fa82f 100644
--- a/connect/http-client/pom.xml
+++ b/connect/http-client/pom.xml
@@ -4,7 +4,7 @@
     
         camunda-connect-root
         org.camunda.connect
-        1.0.0-alpha4
+        1.0.0-SNAPSHOT
     
     4.0.0
 
diff --git a/connect/pom.xml b/connect/pom.xml
index 826b014d427..eb724bc225e 100644
--- a/connect/pom.xml
+++ b/connect/pom.xml
@@ -4,7 +4,7 @@
   
     org.camunda.connect
     camunda-connect-bom
-    1.0.0-alpha4
+    1.0.0-SNAPSHOT
     bom
   
 
@@ -89,7 +89,7 @@
     https://github.com/camunda/camunda-connect
     scm:git:git@github.com:camunda/camunda-connect.git
     scm:git:git@github.com:camunda/camunda-connect.git
-    1.0.0-alpha4
+    HEAD
   
 
 
diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml
index 8974080703a..cf5fe3faf15 100644
--- a/connect/soap-http-client/pom.xml
+++ b/connect/soap-http-client/pom.xml
@@ -4,7 +4,7 @@
   
     org.camunda.connect
     camunda-connect-root
-    1.0.0-alpha4
+    1.0.0-SNAPSHOT
   
 
   camunda-connect-soap-http-client

From c3127e4987fdbfba5de6becad6e98b64892a3c1c Mon Sep 17 00:00:00 2001
From: Sebastian Menski 
Date: Fri, 14 Nov 2014 11:42:37 +0100
Subject: [PATCH 048/200] chore(pom): rename parent to root

related to #CAM-2998
---
 connect/pom.xml                  | 2 +-
 connect/soap-http-client/pom.xml | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/connect/pom.xml b/connect/pom.xml
index eb724bc225e..fde39bfb950 100644
--- a/connect/pom.xml
+++ b/connect/pom.xml
@@ -9,7 +9,7 @@
   
 
   camunda-connect-root
-  camunda BPM - connect - parent
+  camunda BPM - connect - root
   pom
 
   
diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml
index cf5fe3faf15..384fd5827cb 100644
--- a/connect/soap-http-client/pom.xml
+++ b/connect/soap-http-client/pom.xml
@@ -15,7 +15,6 @@
     
       org.camunda.connect
       camunda-connect-http-client
-      ${project.version}
     
 
     

From 179c378b53d2bb1fe54a6cf42b0cf7f5545b0e89 Mon Sep 17 00:00:00 2001
From: Sebastian Menski 
Date: Fri, 21 Nov 2014 14:18:52 +0100
Subject: [PATCH 049/200] chore(docs): move docs from github to
 docs.camunda.org

related to #CAM-3029
---
 connect/README.md                     |   6 +-
 connect/docs/index.md                 |   5 -
 connect/docs/user-guide/http/index.md | 181 --------------------------
 connect/docs/user-guide/index.md      |   4 -
 connect/docs/user-guide/soap/index.md | 167 ------------------------
 5 files changed, 1 insertion(+), 362 deletions(-)
 delete mode 100644 connect/docs/index.md
 delete mode 100644 connect/docs/user-guide/http/index.md
 delete mode 100644 connect/docs/user-guide/index.md
 delete mode 100644 connect/docs/user-guide/soap/index.md

diff --git a/connect/README.md b/connect/README.md
index 8bf70967987..ad4d37228fb 100644
--- a/connect/README.md
+++ b/connect/README.md
@@ -3,7 +3,7 @@ camunda-connect
 
 

Home | - Documentation | + Documentation | Forum | Issues | License | @@ -59,10 +59,6 @@ request.setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_PAYLOAD, requestM SoapHttpResponse response = request.execute(); ``` -# Documentation - -The sources of the documentation are located in the [docs folder](docs/index.md) of this repository. - # Contributing camunda Connect is licensed under the Apache 2.0 License. Check [CONTRIBUTING.md][] diff --git a/connect/docs/index.md b/connect/docs/index.md deleted file mode 100644 index 555c2744d89..00000000000 --- a/connect/docs/index.md +++ /dev/null @@ -1,5 +0,0 @@ -# Connect Documentation - -Welcome to the camunda Connect documentation - -* [User Guide](user-guide/index.md) diff --git a/connect/docs/user-guide/http/index.md b/connect/docs/user-guide/http/index.md deleted file mode 100644 index 319ad0c3dce..00000000000 --- a/connect/docs/user-guide/http/index.md +++ /dev/null @@ -1,181 +0,0 @@ -# Using the HTTP Connector - -This connector allows you to easily create and send HTTP requests. For example -it can be used to connect to a REST service. - - -## Adding the maven dependency - -To use the camunda connect HTTP connector in your project import the -`camunda-connect-bom` dependency with the current `VERSION`. Also add a -dependency either for the `camunda-conenct-core` and the -`camunda-connect-http-client` or the `camunda-connect-connectors-all` artifact. -The later includes every artifact of the camunda connect project. If you also -use other components of the camunda BPM platform please use the `camunda-bom` -instead which already imports the `camunda-connect-bom`. - - -```xml - - - - org.camunda.connect - camunda-connect-bom - import - pom - ${version.connect} - - - -``` - -```xml - - - org.camunda.connect - camunda-connect-core - - - - org.camunda.connect - camunda-connect-http-client - - -``` - - -## Getting a new HTTP connector - -There a exists a `Connectors` class which automatically detects every connector in the -classpath. It can be used to generate a new connector instance by connector ID. - -```java -HttpConnector http = Connectors.getConnector(HttpConnector.ID); -``` - - -## Creating a simple request - -The HTTP connector can be used to create a new request, set a method, URL, content type -and payload. - -A simple GET request: - -```java -HttpResponse response = http.createRequest() - .get() - .url("http://camunda.org") - .execute(); -``` - -A POST request with a content type and payload set: - -```java -HttpResponse response = http.createRequest() - .post() - .url("http://camunda.org") - .contentType("text/plain") - .payload("Hello World!") - .execute(); -``` - -The HTTP methods PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE -are also available. - - -## Adding HTTP headers to a request - -To add own headers to the HTTP request the method `header` is -available. - -```java -HttpResponse response = http.createRequest() - .get() - .header("Accept", "application/json") - .url("http://camunda.org") - .execute(); -``` - - -## Handle responses - -A response contains the status code, response headers and body. - -```java -Integer statusCode = response.getStatusCode(); -String contentTypeHeader = response.getHeader("Content-Type"); -String body = response.getResponse(); -``` - -After the response was processed it should be closed. - -```java -response.close() -``` - - -## Add request interceptors - -During the request invocation an interceptor chain is passed. The user can add own -interceptors to this chain. The interceptor is called for every request -of this connector. - -```java -connector.addRequestInterceptor(interceptor).createRequest(); -``` - - -## Enable logging - -camunda connect uses [camunda-commons-logging][] which itself uses [SLF4J][] as a logging backend. To -enable logging a SLF4J implementation has to be part of your classpath. For example -`slf4j-simple`, `log4j12` or `logback-classic`. - -To also enable logging for the Apache HTTP client you can use a [SLF4J bridge][] like -`jcl-over-slf4j` as the Apache HTTP Client doesn't support SLF4J. - - -## Configure Apache HTTP client - -camunda connect HTTP client uses the Apache HTTP client with its default configuration. If -you want to configure another connection manager or similar the easiest way is to register -a new connector configurator. - -```java -package org.camunda.connect.example; - -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.camunda.connect.httpclient.impl.AbstractHttpConnector; -import org.camunda.connect.spi.ConnectorConfigurator; - -public class HttpConnectorConfigurator implements ConnectorConfigurator { - - public Class getConnectorClass() { - return HttpConnector.class; - } - - public void configure(HttpConnector connector) { - CloseableHttpClient client = HttpClients.custom() - .setMaxConnPerRoute(10) - .setMaxConnTotal(200) - .build(); - ((AbstractHttpConnector) connector).setHttpClient(client); - } - -} -``` - -To enable auto detection of your new configurator please add a file called -`org.camunda.bpm.connect.spi.ConnectorConfigurator` to your -`resources/META-INF/services` directory with class name as content. - -``` -org.camunda.connect.example.HttpConnectorConfigurator -``` - - - -[camunda-commons-logging]: https://github.com/camunda/camunda-commons/tree/master/logging -[SLF4J]: http://slf4j.org -[SLF4J bridge]: http://www.slf4j.org/legacy.html diff --git a/connect/docs/user-guide/index.md b/connect/docs/user-guide/index.md deleted file mode 100644 index bc67951a726..00000000000 --- a/connect/docs/user-guide/index.md +++ /dev/null @@ -1,4 +0,0 @@ -# Connect User Guide - -* [HTTP Connector](http/index.md) -* [SOAP Connector](soap/index.md) diff --git a/connect/docs/user-guide/soap/index.md b/connect/docs/user-guide/soap/index.md deleted file mode 100644 index 7904037f3af..00000000000 --- a/connect/docs/user-guide/soap/index.md +++ /dev/null @@ -1,167 +0,0 @@ -# Using the SOAP HTTP Connector - -This connector allows you to easily connect to a SOAP service. - - -## Adding the maven dependency - -To use the camunda connect SOAP connector in your project import the -`camunda-connect-bom` dependency with the current `VERSION`. Also add a -dependency either for the `camunda-connect-core` and -`camunda-connect-soap-http-client` or the `camunda-connect-connectors-all` -artifact. The later includes every artifact of the camunda connect project. If -you also use other components of the camunda BPM platform please use the -`camunda-bom` instead which already imports the `camunda-connect-bom`. - -```xml - - - - org.camunda.connect - camunda-connect-bom - import - pom - ${version.connect} - - - -``` - -```xml - - - org.camunda.connect - camunda-connect-core - - - - org.camunda.connect - camunda-connect-soap-http-client - - -``` - - -## Getting a new SOAP HTTP connector - -There a exists a `Connectors` class which automatically detects every connector in the -classpath. It can be used to generate a new connector instance by connector ID. - -```java -SoapHttpConnector soap = Connectors.getConnector(SoapHttpConnector.ID); -``` - - -## Creating a request - -The SOAP HTTP connector can be used to create a new request, set a URL, content type -and payload. - -```java -SoapHttpResponse response = connector.createRequest() - .url("http://camunda.org/soap") - .soapAction("doIt") - .contentType("application/soap+xml") - .payload(soap_envelope) - .execute(); -``` - -## Adding HTTP headers to a request - -To add own headers to the HTTP request the method `header` is -available. - -```java -SoapHttpResponse response = connector.createRequest() - .url("http://camunda.org/soap") - .soapAction("doIt") - .contentType("application/soap+xml") - .header("Accept", "application/xml") - .payload(soap_envelope) - .execute(); -``` - - -## Handle responses - -A response contains the status code, response headers and body. - -```java -Integer statusCode = response.getStatusCode(); -String contentTypeHeader = response.getHeader("Content-Type"); -String body = response.getResponse(); -``` - -After the response was processed it should be closed. - -```java -response.close() -``` - - -## Add request interceptors - - -During the request invocation an interceptor chain is passed. The user can add own -interceptors to this chain. The interceptor is called for every request -of this connector. - -```java -connector.addRequestInterceptor(interceptor).createRequest(); -``` - - -## Enable logging - -camunda connect uses [camunda-commons-logging][] which itself uses [SLF4J][] as a logging backend. -To enable logging a SLF4J implementation has to be part of your classpath. For example -`slf4j-simple`, `log4j12` or `logback-classic`. - -To also enable logging for the Apache HTTP client you can use a [SLF4J bridge][] like -`jcl-over-slf4j` as the Apache HTTP Client doesn't support SLF4J. - - -## Configure Apache HTTP client - -camunda connect HTTP client uses the Apache HTTP client with its default configuration. If -you want to configure another connection manager or similar the easiest way is to register -a new connector factory. - -```java -package org.camunda.connect.example; - -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.camunda.connect.httpclient.impl.AbstractHttpConnector; -import org.camunda.connect.spi.ConnectorConfigurator; - -public class HttpConnectorConfigurator implements ConnectorConfigurator { - - public Class getConnectorClass() { - return HttpConnector.class; - } - - public void configure(HttpConnector connector) { - CloseableHttpClient client = HttpClients.custom() - .setMaxConnPerRoute(10) - .setMaxConnTotal(200) - .build(); - ((AbstractHttpConnector) connector).setHttpClient(client); - } - -} -``` - -To enable auto detection of your new configurator please add a file called -`org.camunda.bpm.connect.spi.ConnectorConfigurator` to your -`resources/META-INF/services` directory with class name as content. - -``` -org.camunda.connect.example.HttpConnectorConfigurator -``` - - - -[camunda-commons-logging]: https://github.com/camunda/camunda-commons/tree/master/logging -[SLF4J]: http://slf4j.org -[SLF4J bridge]: http://www.slf4j.org/legacy.html From ef30926d2929bd180382a23396f6058192bb8557 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Wed, 26 Nov 2014 10:48:30 +0100 Subject: [PATCH 050/200] chore(pom): update commons version --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index fde39bfb950..7a5076690fe 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -26,7 +26,7 @@ org.camunda.commons camunda-commons-bom - 1.0.5 + 1.0.6 import pom From c1ececae47c5d9fccadb4a219e75f27b55795248 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Wed, 26 Nov 2014 10:53:35 +0100 Subject: [PATCH 051/200] [maven-release-plugin] prepare release 1.0.0 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index cb5445c2b94..691aa236fa2 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.0-SNAPSHOT + 1.0.0 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.0 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 20cb682f2b4..cd65aeceada 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 83db6758e2c..3d885c2f01b 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 422e41fa82f..73675032f14 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.0-SNAPSHOT + 1.0.0 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 7a5076690fe..398451c9e36 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.0-SNAPSHOT + 1.0.0 bom @@ -89,7 +89,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.0 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 384fd5827cb..e45563fd2d5 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0-SNAPSHOT + 1.0.0 camunda-connect-soap-http-client From b2509dd0c97de06db206f275034010240dc15048 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Wed, 26 Nov 2014 10:53:38 +0100 Subject: [PATCH 052/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 691aa236fa2..89dcc350bda 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.0 + 1.1.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.0 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index cd65aeceada..6a60b97015d 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0 + 1.1.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 3d885c2f01b..d7d25938dc2 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0 + 1.1.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 73675032f14..2a9c7971e2f 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.0 + 1.1.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 398451c9e36..e707fb4e8c9 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.0 + 1.1.0-SNAPSHOT bom @@ -89,7 +89,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.0 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index e45563fd2d5..a6ce1d09fe0 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.0 + 1.1.0-SNAPSHOT camunda-connect-soap-http-client From 5c072c0007b8a88b29801f15e282480699c44473 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Wed, 7 Jan 2015 09:24:19 +0100 Subject: [PATCH 053/200] chore(README): remove outdated documentation --- connect/README.md | 39 +-------------------------------------- 1 file changed, 1 insertion(+), 38 deletions(-) diff --git a/connect/README.md b/connect/README.md index ad4d37228fb..9cd0028488e 100644 --- a/connect/README.md +++ b/connect/README.md @@ -20,44 +20,7 @@ Simple API for connecting HTTP Services and other things. # Using a Connector camunda Connect API aims at two usage scenarios, usage in a generic system such as camunda BPM -process engine and standalone usage via API. - -## Standalone: Programmer friendly fluent API -For standalone usage in Java or Scripting Languages, the connectors expose a fluent API: - -```java -// use connectors provider -SoapHttpConnector soapConnector = Connectors.getConnector(SoapHttpConnector.ID); -// or instantiate a new connector -soapConnector = new SoapHttpConnector(); - -SoapHttpResponse response = soapConnector.createRequest() - .url("https://examaple.com/api/soap/21.0/") - .soapAction("Login") - .payload(requestMessage) - .execute(); -``` - -## Embedded: Generic API -For usage in a generic system such as camunda BPM process engine, the connectors expose a generic, -property-based API: - -```java -SoapHttpConnector soapConnector = new SoapHttpConnector(); - -// create the request -SoapHttpRequest request = soapConnector.createRequest(); - -// configure the request -request.setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_URL, "https://examaple.com/api/soap/21.0/"); -HashMap headers = new HashMap(); -headers.put(SoapHttpRequest.HEADER_SOAP_ACTION, "Login"); -request.setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_HEADERS, headers); -request.setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_PAYLOAD, requestMessage); - -// execute the request -SoapHttpResponse response = request.execute(); -``` +process engine and standalone usage via API. Please see the [official documentation](http://docs.camunda.org/latest/api-references/connect/) for more information. # Contributing From 11fd6a2b553e61a382239794f315c3de003caf97 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Tue, 13 Jan 2015 15:47:05 +0100 Subject: [PATCH 054/200] fix(javadoc): correct ConnectorRequest javadoc --- .../main/java/org/camunda/connect/spi/ConnectorRequest.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java index 500fdec30f8..528201e8d4e 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java @@ -43,8 +43,9 @@ * This makes it easy to use the connector in a standalone way. *

* - *

The request may return a value representing the output of the connector - * invocation. Requests not returning a value should be of type {@link Void}.

+ *

A request must return a {@link ConnectorResponse} that contains response + * data. Requests for which the response contains no payload or is not relevant should + * return an empty response that provides no data.

* * @author Daniel Meyer * From 20298bfc6b1c6b949c66477ca0fb6574e6e29c7a Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Fri, 22 May 2015 13:13:34 +0200 Subject: [PATCH 055/200] chore(pom): remove camunda-bpm-platform dependency for javadoc related to #CAM-3914 --- connect/connectors-all/pom.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 6a60b97015d..fbbdd1a7647 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -10,10 +10,6 @@ camunda-connect-connectors-all camunda BPM - connect - all connectors in one - - 7.2.0-SNAPSHOT - - @@ -73,13 +69,6 @@ org.camunda.connect:* - - - org.camunda.bpm - camunda-engine - ${version.camunda.bpm} - - From 4f4fbaaaa13ce36b39f507d9c263268f04e4da18 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 22 May 2015 13:17:42 +0200 Subject: [PATCH 056/200] [maven-release-plugin] prepare release 1.0.1 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 89dcc350bda..a55482a4d0c 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.0-SNAPSHOT + 1.0.1 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.1 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index fbbdd1a7647..261ec078ac0 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.0.1 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index d7d25938dc2..d7dcf8c24b1 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.0.1 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 2a9c7971e2f..50229058a36 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.0-SNAPSHOT + 1.0.1 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index e707fb4e8c9..25866f1ea18 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.0-SNAPSHOT + 1.0.1 bom @@ -89,7 +89,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.1 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index a6ce1d09fe0..368a7fe3b33 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.0.1 camunda-connect-soap-http-client From ee668f1e56a5ee3729fe8e72406d50b75cd19662 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 22 May 2015 13:17:46 +0200 Subject: [PATCH 057/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index a55482a4d0c..93284f6aa33 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.1 + 1.0.2-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.1 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 261ec078ac0..3eb95a0c1ba 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.1 + 1.0.2-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index d7dcf8c24b1..fb95775b48a 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.1 + 1.0.2-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 50229058a36..7026bcf0539 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.1 + 1.0.2-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 25866f1ea18..f221d08f205 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.1 + 1.0.2-SNAPSHOT bom @@ -89,7 +89,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.1 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 368a7fe3b33..69afb39a126 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.1 + 1.0.2-SNAPSHOT camunda-connect-soap-http-client From 6c587b8c838c9bab3cfbbca3015bd13c9faa5a61 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Tue, 24 Nov 2015 09:40:54 +0100 Subject: [PATCH 058/200] fix(connectors-all): exclude connect-core from connectors-all artifact related to #CAM-5036 --- connect/connectors-all/pom.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 3eb95a0c1ba..f711737c83d 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -12,6 +12,13 @@ + + + org.camunda.connect + camunda-connect-core + provided + + org.camunda.connect camunda-connect-http-client From c970d0f444b763e940f4f77d0559b0adeb79efd0 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Tue, 24 Nov 2015 09:46:57 +0100 Subject: [PATCH 059/200] chore(pom): update commons version to 1.2.0 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index f221d08f205..cfe57696278 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -26,7 +26,7 @@ org.camunda.commons camunda-commons-bom - 1.0.6 + 1.2.0 import pom From b0aba3951713e78653edafeafffe5559d8ebe6a6 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Tue, 24 Nov 2015 10:35:42 +0100 Subject: [PATCH 060/200] chore(connectors-all): only exclude connect-core from shade-plugin not dependencies - this way connect-core still is a transitive dependency of connectors-all related to #CAM-5036 --- connect/connectors-all/pom.xml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index f711737c83d..298642f645e 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -12,13 +12,6 @@ - - - org.camunda.connect - camunda-connect-core - provided - - org.camunda.connect camunda-connect-http-client @@ -50,6 +43,7 @@ org.camunda.commons:* + org.camunda.connect:camunda-connect-core org.slf4j:* From 24a7b407d9d17e7a9690b4946053572e82d4878c Mon Sep 17 00:00:00 2001 From: Jenkins Date: Tue, 24 Nov 2015 15:21:21 +0100 Subject: [PATCH 061/200] [maven-release-plugin] prepare release 1.0.2 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 93284f6aa33..1dc0ef7eb5c 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.2-SNAPSHOT + 1.0.2 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.2 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 298642f645e..c0ce07091c3 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.2-SNAPSHOT + 1.0.2 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index fb95775b48a..47051e3ceed 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.2-SNAPSHOT + 1.0.2 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 7026bcf0539..6d24ad6901e 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.2-SNAPSHOT + 1.0.2 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index cfe57696278..6fe2966261e 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.2-SNAPSHOT + 1.0.2 bom @@ -89,7 +89,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.2 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 69afb39a126..f95f08bdbaf 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.2-SNAPSHOT + 1.0.2 camunda-connect-soap-http-client From d0e2c01d3742d7275310bdac24f129f68a8d705b Mon Sep 17 00:00:00 2001 From: Jenkins Date: Tue, 24 Nov 2015 15:21:25 +0100 Subject: [PATCH 062/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 1dc0ef7eb5c..6067af04cb8 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.2 + 1.0.3-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.2 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index c0ce07091c3..5e9cab6eb07 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.2 + 1.0.3-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 47051e3ceed..66d943efcdc 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.2 + 1.0.3-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 6d24ad6901e..0b8b3bbd783 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.2 + 1.0.3-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 6fe2966261e..000db22009b 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.2 + 1.0.3-SNAPSHOT bom @@ -89,7 +89,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.2 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index f95f08bdbaf..4f985d6fe23 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.2 + 1.0.3-SNAPSHOT camunda-connect-soap-http-client From d060598ca8d40380f899f1e6555ad6915df593fb Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Mon, 1 Feb 2016 09:45:44 +0100 Subject: [PATCH 063/200] fix(http-connector): use system properties when building http client related to CAM-5335 --- connect/http-client/pom.xml | 7 ++ .../impl/AbstractHttpConnector.java | 3 +- .../HttpConnectorSystemPropertiesTest.java | 85 +++++++++++++++++++ 3 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 0b8b3bbd783..b1f2165bb13 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -41,6 +41,13 @@ logback-classic test + + + com.github.tomakehurst + wiremock + 1.58 + test + diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java index 9b992999450..434ed698ff1 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java @@ -47,7 +47,7 @@ public AbstractHttpConnector(String connectorId) { } protected CloseableHttpClient createClient() { - return HttpClients.createDefault(); + return HttpClients.createSystem(); } public CloseableHttpClient getHttpClient() { @@ -83,7 +83,6 @@ public R execute(Q request) { * @param request the given request * @return {@link HttpRequestBase} an apache representation of the request */ - @SuppressWarnings("unchecked") protected T createHttpRequest(Q request) { T httpRequest = createHttpRequestBase(request); diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java new file mode 100644 index 00000000000..d66147386d3 --- /dev/null +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java @@ -0,0 +1,85 @@ +/* Licensed 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.camunda.connect.httpclient; + +import java.util.HashSet; +import java.util.Set; + +import org.apache.http.protocol.HTTP; +import org.camunda.connect.httpclient.impl.HttpConnectorImpl; +import org.junit.After; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; + +import static com.github.tomakehurst.wiremock.client.WireMock.*; + +import com.github.tomakehurst.wiremock.core.WireMockConfiguration; +import com.github.tomakehurst.wiremock.junit.WireMockRule; + +/** + * Since Apache HTTP client makes it extremely hard to test the proper configuration + * of a http client, this is more of an integration test that checks that a + * system property is respected + * + * @author Thorben Lindhauer + */ +public class HttpConnectorSystemPropertiesTest { + + public static final int PORT = 51234; + + @Rule + public WireMockRule wireMockRule = new WireMockRule( + WireMockConfiguration.wireMockConfig().port(PORT)); + + protected Set updatedSystemProperties; + + @Before + public void setUp() { + updatedSystemProperties = new HashSet(); + wireMockRule.stubFor(get(urlEqualTo("/")).willReturn(aResponse().withStatus(200))); + } + + @After + public void clearCustomSystemProperties() { + for (String property : updatedSystemProperties) { + System.getProperties().remove(property); + } + } + + public void setSystemProperty(String property, String value) { + if (!System.getProperties().containsKey(property)) { + updatedSystemProperties.add(property); + System.setProperty(property, value); + } + else { + throw new RuntimeException("Cannot perform test: System property " + + property + " is already set. Will not attempt to overwrite this property."); + } + } + + @Test + public void shouldSetUserAgentFromSystemProperty() { + // given + setSystemProperty("http.agent", "foo"); + + HttpConnector customConnector = new HttpConnectorImpl(); + + // when + customConnector.createRequest().url("http://localhost:" + PORT).get().execute(); + + // then + verify(getRequestedFor(urlEqualTo("/")).withHeader(HTTP.USER_AGENT, equalTo("foo"))); + + } +} From 764364960de7e365e84baec1af78d6b6bd9fcea1 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Mon, 1 Feb 2016 11:35:46 +0100 Subject: [PATCH 064/200] test(soap): add system properties test to soap connector related to #CAM-5335 --- connect/soap-http-client/pom.xml | 7 ++ ...SoapHttpConnectorSystemPropertiesTest.java | 94 +++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 4f985d6fe23..107f75c2836 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -35,6 +35,13 @@ test + + com.github.tomakehurst + wiremock + 1.58 + test + + diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java new file mode 100644 index 00000000000..6c15b058391 --- /dev/null +++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java @@ -0,0 +1,94 @@ +/* Licensed 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.camunda.connect.soap.httpclient; + +import static com.github.tomakehurst.wiremock.client.WireMock.*; +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.equalTo; +import static com.github.tomakehurst.wiremock.client.WireMock.get; +import static com.github.tomakehurst.wiremock.client.WireMock.getRequestedFor; +import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; +import static com.github.tomakehurst.wiremock.client.WireMock.verify; + +import java.util.HashSet; +import java.util.Set; + +import org.apache.http.protocol.HTTP; +import org.camunda.connect.httpclient.HttpConnector; +import org.camunda.connect.httpclient.impl.HttpConnectorImpl; +import org.camunda.connect.httpclient.soap.SoapHttpConnector; +import org.camunda.connect.httpclient.soap.impl.SoapHttpConnectorImpl; +import org.junit.After; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; + +import com.github.tomakehurst.wiremock.core.WireMockConfiguration; +import com.github.tomakehurst.wiremock.junit.WireMockRule; + +/** + * Since Apache HTTP client makes it extremely hard to test the proper configuration + * of a http client, this is more of an integration test that checks that a + * system property is respected + * + * @author Thorben Lindhauer + */ +public class SoapHttpConnectorSystemPropertiesTest { + + public static final int PORT = 51234; + + @Rule + public WireMockRule wireMockRule = new WireMockRule( + WireMockConfiguration.wireMockConfig().port(PORT)); + + protected Set updatedSystemProperties; + + @Before + public void setUp() { + updatedSystemProperties = new HashSet(); + wireMockRule.stubFor(get(urlEqualTo("/")).willReturn(aResponse().withStatus(200))); + } + + @After + public void clearCustomSystemProperties() { + for (String property : updatedSystemProperties) { + System.getProperties().remove(property); + } + } + + public void setSystemProperty(String property, String value) { + if (!System.getProperties().containsKey(property)) { + updatedSystemProperties.add(property); + System.setProperty(property, value); + } + else { + throw new RuntimeException("Cannot perform test: System property " + + property + " is already set. Will not attempt to overwrite this property."); + } + } + + @Test + public void shouldSetUserAgentFromSystemProperty() { + // given + setSystemProperty("http.agent", "foo"); + + SoapHttpConnector customConnector = new SoapHttpConnectorImpl(); + + // when + customConnector.createRequest().url("http://localhost:" + PORT).payload("test").execute(); + + // then + verify(postRequestedFor(urlEqualTo("/")).withHeader(HTTP.USER_AGENT, equalTo("foo"))); + + } +} From 68db07d4ea60948f96c4b3468f02aec8a9b2892c Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 19 Feb 2016 09:30:47 +0100 Subject: [PATCH 065/200] [maven-release-plugin] prepare release 1.0.3 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 6067af04cb8..8d9d232c25d 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.3-SNAPSHOT + 1.0.3 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.3 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 5e9cab6eb07..bb658ea325e 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.3-SNAPSHOT + 1.0.3 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 66d943efcdc..ee4d07f86ad 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.3-SNAPSHOT + 1.0.3 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index b1f2165bb13..3250e8458e1 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.3-SNAPSHOT + 1.0.3 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 000db22009b..62fdf9254ae 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.3-SNAPSHOT + 1.0.3 bom @@ -89,7 +89,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.3 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 107f75c2836..0f6fa30480f 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.3-SNAPSHOT + 1.0.3 camunda-connect-soap-http-client From 630fe9c5dd8f2b4f5dab7eaef4c722d34e3a2d24 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Fri, 19 Feb 2016 09:30:52 +0100 Subject: [PATCH 066/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 8d9d232c25d..705744c285a 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.3 + 1.0.4-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.3 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index bb658ea325e..d7f4dab0034 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.3 + 1.0.4-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index ee4d07f86ad..e531d5c4e54 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.3 + 1.0.4-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 3250e8458e1..6dad784495f 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.3 + 1.0.4-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 62fdf9254ae..5a45335b58f 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.3 + 1.0.4-SNAPSHOT bom @@ -89,7 +89,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.3 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 0f6fa30480f..113457d99b1 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.3 + 1.0.4-SNAPSHOT camunda-connect-soap-http-client From 9028e8be15db2a8f72e4eb187825ca250edcc50f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ronny=20Br=C3=A4unlich?= Date: Sun, 10 Jul 2016 14:49:27 +0900 Subject: [PATCH 067/200] fix(pom): export impl packages -change configuration for maven-bundle-plugin because http-client and soap-http-client use the impl package from core and soap-http-client uses the impl package from http-client, so they have to be exported --- connect/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 5a45335b58f..1db44e2c77b 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -67,7 +67,6 @@ - !*impl*, org.camunda.connect* From 200a1c43529041dcfa4aea8b8672ca069ab3ac83 Mon Sep 17 00:00:00 2001 From: Christian Lipphardt Date: Thu, 1 Sep 2016 15:55:52 +0200 Subject: [PATCH 068/200] chore(maven): execute api-compatibility-check profile during build related to #CAM-6276 --- connect/core/.clirr-jenkins-ignore.xml | 14 +++++++ connect/core/pom.xml | 52 ++++++++++++++++++++++++++ connect/pom.xml | 4 ++ 3 files changed, 70 insertions(+) create mode 100644 connect/core/.clirr-jenkins-ignore.xml diff --git a/connect/core/.clirr-jenkins-ignore.xml b/connect/core/.clirr-jenkins-ignore.xml new file mode 100644 index 00000000000..a56634296b0 --- /dev/null +++ b/connect/core/.clirr-jenkins-ignore.xml @@ -0,0 +1,14 @@ + + + + ** + 5000 + ** + + + + ** + 7012 + * + + diff --git a/connect/core/pom.xml b/connect/core/pom.xml index e531d5c4e54..c76f77010a7 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -59,4 +59,56 @@ + + + + + check-api-compatibility + + true + + + + + org.codehaus.mojo + clirr-maven-plugin + 2.7 + + ${connect.version.old} + true + + org/camunda/connect/impl/** + + + + + all + verify + + check-no-fork + + + ${project.build.directory}/clirr-all.txt + false + false + + + + restrictive + verify + + check-no-fork + + + ${project.build.directory}/clirr-restrictive.txt + true + .clirr-jenkins-ignore.xml + + + + + + + + diff --git a/connect/pom.xml b/connect/pom.xml index 1db44e2c77b..64239d9a38e 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -12,6 +12,10 @@ camunda BPM - connect - root pom + + 1.0.0 + + bom core From 56be62bcb174614c748de1e9471e06d1e1a0bdf9 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Wed, 14 Sep 2016 16:05:46 +0200 Subject: [PATCH 069/200] chore(clirr): add clirr profile to all code modules related to #CAM-6276 --- connect/{core => }/.clirr-jenkins-ignore.xml | 0 connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 164 ++++++++++++------- connect/soap-http-client/pom.xml | 53 ++++++ 4 files changed, 162 insertions(+), 57 deletions(-) rename connect/{core => }/.clirr-jenkins-ignore.xml (100%) diff --git a/connect/core/.clirr-jenkins-ignore.xml b/connect/.clirr-jenkins-ignore.xml similarity index 100% rename from connect/core/.clirr-jenkins-ignore.xml rename to connect/.clirr-jenkins-ignore.xml diff --git a/connect/core/pom.xml b/connect/core/pom.xml index c76f77010a7..b2e3db88121 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -102,7 +102,7 @@ ${project.build.directory}/clirr-restrictive.txt true - .clirr-jenkins-ignore.xml + ../.clirr-jenkins-ignore.xml diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 6dad784495f..d0a118fc71b 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -1,72 +1,124 @@ - - camunda-connect-root - org.camunda.connect - 1.0.4-SNAPSHOT - - 4.0.0 + + camunda-connect-root + org.camunda.connect + 1.0.4-SNAPSHOT + + 4.0.0 - camunda-connect-http-client - camunda BPM - connect - http client + camunda-connect-http-client + camunda BPM - connect - http client - + - - org.camunda.connect - camunda-connect-core - ${project.version} - + + org.camunda.connect + camunda-connect-core + ${project.version} + - - org.apache.httpcomponents - httpclient - + + org.apache.httpcomponents + httpclient + - - junit - junit - test - + + junit + junit + test + - - org.assertj - assertj-core - test - + + org.assertj + assertj-core + test + - - ch.qos.logback - logback-classic - test - - - - com.github.tomakehurst - wiremock - 1.58 - test - + + ch.qos.logback + logback-classic + test + - + + com.github.tomakehurst + wiremock + 1.58 + test + - + + + + + + org.apache.felix + maven-bundle-plugin + + + bundle-manifest + process-classes + + manifest + + + + + + + + + + + check-api-compatibility + + true + + - - org.apache.felix - maven-bundle-plugin - - - bundle-manifest - process-classes - - manifest - - - - + + org.codehaus.mojo + clirr-maven-plugin + 2.7 + + ${connect.version.old} + true + + org/camunda/connect/httpclient/impl/** + + + + + all + verify + + check-no-fork + + + ${project.build.directory}/clirr-all.txt + false + false + + + + restrictive + verify + + check-no-fork + + + ${project.build.directory}/clirr-restrictive.txt + true + ../.clirr-jenkins-ignore.xml + + + + - + + + diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 113457d99b1..6ff302befb1 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -61,4 +61,57 @@ + + + + + check-api-compatibility + + true + + + + + org.codehaus.mojo + clirr-maven-plugin + 2.7 + + ${connect.version.old} + true + + org/camunda/connect/httpclient/soap/impl/** + + + + + all + verify + + check-no-fork + + + ${project.build.directory}/clirr-all.txt + false + false + + + + restrictive + verify + + check-no-fork + + + ${project.build.directory}/clirr-restrictive.txt + true + ../.clirr-jenkins-ignore.xml + + + + + + + + + From 6be0a19b487c6bc2ab2ffbaf160ea114c987f05d Mon Sep 17 00:00:00 2001 From: Johannes Heinemann Date: Mon, 19 Sep 2016 13:51:11 +0200 Subject: [PATCH 070/200] chore(maven): update camunda commons version related to #CAM-6752 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 64239d9a38e..505e2b7ef24 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -30,7 +30,7 @@ org.camunda.commons camunda-commons-bom - 1.2.0 + 1.4.0-alpha2 import pom From e32095520f0bb3e435bcc97928efc28788c00d32 Mon Sep 17 00:00:00 2001 From: Johannes Heinemann Date: Wed, 28 Sep 2016 17:59:48 +0200 Subject: [PATCH 071/200] chore(maven): update camunda commons version related to #CAM-6803 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 505e2b7ef24..cf60b0668b2 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -30,7 +30,7 @@ org.camunda.commons camunda-commons-bom - 1.4.0-alpha2 + 1.4.0-alpha3 import pom From d3d2f80eabea5276132055b1ba979f8b9e1471b0 Mon Sep 17 00:00:00 2001 From: Johannes Heinemann Date: Fri, 7 Oct 2016 09:42:02 +0200 Subject: [PATCH 072/200] chore(maven): update camunda commons version related to #CAM-6822 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index cf60b0668b2..68401e25684 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -30,7 +30,7 @@ org.camunda.commons camunda-commons-bom - 1.4.0-alpha3 + 1.4.0-alpha4 import pom From 9b038b286dd25bcfbdadf51703e82260f8ac700d Mon Sep 17 00:00:00 2001 From: Johannes Heinemann Date: Fri, 18 Nov 2016 15:50:32 +0100 Subject: [PATCH 073/200] chore(maven): update camunda commons version related to #CAM-7031 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 68401e25684..4ea7cf85bc1 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -30,7 +30,7 @@ org.camunda.commons camunda-commons-bom - 1.4.0-alpha4 + 1.4.0 import pom From b385ff02da0981f76f3146c0c3f75f7b6a4f6005 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Fri, 19 May 2017 12:58:06 +0200 Subject: [PATCH 074/200] [maven-release-plugin] prepare release 1.0.4 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 705744c285a..e1a54247729 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.4-SNAPSHOT + 1.0.4 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.4 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index d7f4dab0034..30bab684b18 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.4-SNAPSHOT + 1.0.4 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index b2e3db88121..e691d85ac67 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.4-SNAPSHOT + 1.0.4 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index d0a118fc71b..61ce4a35eff 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.4-SNAPSHOT + 1.0.4 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 4ea7cf85bc1..2a334848e6e 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.4-SNAPSHOT + 1.0.4 bom @@ -92,7 +92,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.4 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 6ff302befb1..a476069ef3b 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.4-SNAPSHOT + 1.0.4 camunda-connect-soap-http-client From 927d37244e7240b35f5919c03cbb02ef4d79109d Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Fri, 19 May 2017 12:58:12 +0200 Subject: [PATCH 075/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index e1a54247729..5bde69e5522 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.4 + 1.0.5-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.4 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 30bab684b18..abd156831ce 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.4 + 1.0.5-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index e691d85ac67..cc7a3d8384e 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.4 + 1.0.5-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 61ce4a35eff..cf642762037 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.4 + 1.0.5-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 2a334848e6e..e29c70c1767 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.4 + 1.0.5-SNAPSHOT bom @@ -92,7 +92,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.4 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index a476069ef3b..34e33084cf5 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.4 + 1.0.5-SNAPSHOT camunda-connect-soap-http-client From 2bb9f49e88a0e0138d1061d7d4e304ed3a59a962 Mon Sep 17 00:00:00 2001 From: Claude Gex Date: Fri, 9 Jun 2017 15:27:42 +0200 Subject: [PATCH 076/200] Update Link to Official Documentation Existing link pointed to camunda 7.3 --- connect/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/README.md b/connect/README.md index 9cd0028488e..68f203affe0 100644 --- a/connect/README.md +++ b/connect/README.md @@ -20,7 +20,7 @@ Simple API for connecting HTTP Services and other things. # Using a Connector camunda Connect API aims at two usage scenarios, usage in a generic system such as camunda BPM -process engine and standalone usage via API. Please see the [official documentation](http://docs.camunda.org/latest/api-references/connect/) for more information. +process engine and standalone usage via API. Please see the [official documentation](https://docs.camunda.org/manual/latest/reference/connect/) for more information. # Contributing From c9d6a14d7f17e36e5f6cebdf518dbd74bb358289 Mon Sep 17 00:00:00 2001 From: Sebastian Menski Date: Wed, 6 Sep 2017 22:00:54 +0200 Subject: [PATCH 077/200] feat(http-client): set content-length of request related to #CAM-8194 --- .../connect/httpclient/impl/AbstractHttpConnector.java | 8 ++++++-- .../camunda/connect/httpclient/HttpConnectorTest.java | 9 +++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java index 434ed698ff1..db8f52c4de9 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java @@ -40,10 +40,12 @@ public abstract class AbstractHttpConnector, R e protected static HttpConnectorLogger LOG = HttpLogger.HTTP_LOGGER; protected CloseableHttpClient httpClient; + protected final Charset charset; public AbstractHttpConnector(String connectorId) { super(connectorId); httpClient = createClient(); + charset = Charset.forName("utf-8"); } protected CloseableHttpClient createClient() { @@ -135,8 +137,10 @@ protected void applyHeaders(T httpRequest, Map void applyPayload(T httpRequest, Q request) { if (httpMethodSupportsPayload(httpRequest)) { if (request.getPayload() != null) { - ByteArrayInputStream payload = new ByteArrayInputStream(request.getPayload().getBytes(Charset.forName("utf-8"))); - ((HttpEntityEnclosingRequestBase) httpRequest).setEntity(new InputStreamEntity(payload)); + byte[] bytes = request.getPayload().getBytes(charset); + ByteArrayInputStream payload = new ByteArrayInputStream(bytes); + InputStreamEntity entity = new InputStreamEntity(payload, bytes.length); + ((HttpEntityEnclosingRequestBase) httpRequest).setEntity(entity); } } else if (request.getPayload() != null) { diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java index 95d4e41293d..5f082f8dd4f 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java @@ -161,6 +161,15 @@ public void shouldSetPayloadOnHttpRequest() throws IOException { assertThat(content).isEqualTo(EXAMPLE_PAYLOAD); } + @Test + public void shouldSetContentLength() { + connector.createRequest().url(EXAMPLE_URL).payload(EXAMPLE_PAYLOAD).post().execute(); + HttpPost request = interceptor.getTarget(); + long contentLength = request.getEntity().getContentLength(); + + assertThat(contentLength).isEqualTo(EXAMPLE_PAYLOAD.length()); + } + protected void verifyHttpRequest(Class requestClass) { Object target = interceptor.getTarget(); assertThat(target).isInstanceOf(requestClass); From 7d70bcf9eed7544c0e1c10be8c39ca7a92ecb5aa Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 28 Sep 2017 13:15:48 +0200 Subject: [PATCH 078/200] [maven-release-plugin] prepare release 1.0.5 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 5bde69e5522..33ab1bee60c 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.5-SNAPSHOT + 1.0.5 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.5 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index abd156831ce..9221ed7e93c 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.5-SNAPSHOT + 1.0.5 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index cc7a3d8384e..482bbf5b2a5 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.5-SNAPSHOT + 1.0.5 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index cf642762037..5cc497df375 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.5-SNAPSHOT + 1.0.5 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index e29c70c1767..793e4e7168f 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.5-SNAPSHOT + 1.0.5 bom @@ -92,7 +92,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.5 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 34e33084cf5..d3145ea88f1 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.5-SNAPSHOT + 1.0.5 camunda-connect-soap-http-client From ece58dbfab8d9f6ff3b6f1b7945b87c0b7d959fe Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 28 Sep 2017 13:15:55 +0200 Subject: [PATCH 079/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 33ab1bee60c..89dcc350bda 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.5 + 1.1.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.5 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 9221ed7e93c..265be816edc 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.5 + 1.1.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 482bbf5b2a5..c0b33e67766 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.5 + 1.1.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 5cc497df375..b983285da77 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.5 + 1.1.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 793e4e7168f..980d8564488 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.5 + 1.1.0-SNAPSHOT bom @@ -92,7 +92,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.5 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index d3145ea88f1..12fd8c54f90 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.5 + 1.1.0-SNAPSHOT camunda-connect-soap-http-client From 5557ba64a21f41aae5c315fafa825577a4c71274 Mon Sep 17 00:00:00 2001 From: Christian Lipphardt Date: Mon, 30 Oct 2017 15:23:02 +0100 Subject: [PATCH 080/200] chore(ci): add camunda ci file related to #CAM-6681 --- connect/.ci.cambpm | 1 + 1 file changed, 1 insertion(+) create mode 100644 connect/.ci.cambpm diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm new file mode 100644 index 00000000000..f202e89eea9 --- /dev/null +++ b/connect/.ci.cambpm @@ -0,0 +1 @@ +buildMavenAndDeployToMavenCentral([jdk:7]) From 867e74e1330f8b9a920221186e49f9830541a4ff Mon Sep 17 00:00:00 2001 From: Svetlana Dorokhova Date: Wed, 31 Jan 2018 13:50:56 +0100 Subject: [PATCH 081/200] chore(pom): update commons dependency version --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 980d8564488..548341aacb8 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -30,7 +30,7 @@ org.camunda.commons camunda-commons-bom - 1.4.0 + 1.5.0 import pom From 08f56102cdd503bbc994cbbe93d738d57ff9fb27 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Wed, 31 Jan 2018 13:55:45 +0100 Subject: [PATCH 082/200] [maven-release-plugin] prepare release 1.0.6 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 89dcc350bda..6e080d60e6e 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.0-SNAPSHOT + 1.0.6 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.6 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 265be816edc..1f55cebc3f7 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.0.6 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index c0b33e67766..3da7c4550a1 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.0.6 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index b983285da77..45e1acdac21 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.0-SNAPSHOT + 1.0.6 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 548341aacb8..801dfeaf64c 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.0-SNAPSHOT + 1.0.6 bom @@ -92,7 +92,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.6 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 12fd8c54f90..f5d4d02e8f0 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.0.6 camunda-connect-soap-http-client From 31bc26db5eed9e542a1a473c323640d8778a1a69 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Wed, 31 Jan 2018 13:55:51 +0100 Subject: [PATCH 083/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 6e080d60e6e..89dcc350bda 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.6 + 1.1.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.6 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 1f55cebc3f7..265be816edc 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.6 + 1.1.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 3da7c4550a1..c0b33e67766 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.6 + 1.1.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 45e1acdac21..b983285da77 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.6 + 1.1.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 801dfeaf64c..548341aacb8 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.6 + 1.1.0-SNAPSHOT bom @@ -92,7 +92,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.6 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index f5d4d02e8f0..12fd8c54f90 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.6 + 1.1.0-SNAPSHOT camunda-connect-soap-http-client From 0c51af53982a2c41120d4842b0c6eb73f95eea3c Mon Sep 17 00:00:00 2001 From: Svetlana Dorokhova Date: Wed, 31 Jan 2018 14:00:42 +0100 Subject: [PATCH 084/200] chore(pom): update old version --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 548341aacb8..cb1b0d80e96 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -13,7 +13,7 @@ pom - 1.0.0 + 1.0.5 From 25f15eea6ea527ef0617b40d4015401adf9c40b8 Mon Sep 17 00:00:00 2001 From: Roman Date: Thu, 15 Mar 2018 14:10:37 +0100 Subject: [PATCH 085/200] chore(license): use license maven plugin to collect third-party deps related to CAM-8699 --- connect/pom.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/connect/pom.xml b/connect/pom.xml index cb1b0d80e96..5f60806e5e9 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,6 +14,7 @@ 1.0.5 + false @@ -86,6 +87,17 @@ + + + org.codehaus.mojo + license-maven-plugin + 1.14 + + true + test + + + From 19cf3ce5791596a3f950f43c94c982528ef22c0c Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Mon, 4 Jun 2018 14:47:34 +0200 Subject: [PATCH 086/200] chore(pom): bump to 1.6.0-snapshot commons version --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 5f60806e5e9..94aab654461 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -31,7 +31,7 @@ org.camunda.commons camunda-commons-bom - 1.5.0 + 1.6.0-SNAPSHOT import pom From ca3c73f2f46c578f9f573fda06f099dd87f0a4bc Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Wed, 6 Jun 2018 11:51:57 +0200 Subject: [PATCH 087/200] chore(pom): bump to 1.5.1 commons version --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 94aab654461..e2cfe4d94d8 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -31,7 +31,7 @@ org.camunda.commons camunda-commons-bom - 1.6.0-SNAPSHOT + 1.5.1 import pom From f7d647e5fa6c0ea953840352941013058ca82b75 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Wed, 6 Jun 2018 13:32:49 +0200 Subject: [PATCH 088/200] [maven-release-plugin] prepare release 1.0.7 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 89dcc350bda..d6b1e9a20eb 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.0-SNAPSHOT + 1.0.7 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.7 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 265be816edc..6c493115187 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.0.7 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index c0b33e67766..ef02aacad5e 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.0.7 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index b983285da77..be1ca77c3d1 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.0-SNAPSHOT + 1.0.7 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index e2cfe4d94d8..f9f6e855234 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.0-SNAPSHOT + 1.0.7 bom @@ -104,7 +104,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.0.7 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 12fd8c54f90..99b128a0481 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.0.7 camunda-connect-soap-http-client From 91f62c78dc37d3b9e0ee97c14a706ea1d9eef241 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Wed, 6 Jun 2018 13:32:56 +0200 Subject: [PATCH 089/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index d6b1e9a20eb..89dcc350bda 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.0.7 + 1.1.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.7 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 6c493115187..265be816edc 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.7 + 1.1.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index ef02aacad5e..c0b33e67766 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.7 + 1.1.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index be1ca77c3d1..b983285da77 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.0.7 + 1.1.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index f9f6e855234..e2cfe4d94d8 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.0.7 + 1.1.0-SNAPSHOT bom @@ -104,7 +104,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.0.7 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 99b128a0481..12fd8c54f90 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.0.7 + 1.1.0-SNAPSHOT camunda-connect-soap-http-client From e80fcaa1d2bb6c6adf3befbd8ccf1b0bca4e7158 Mon Sep 17 00:00:00 2001 From: yanavasileva Date: Wed, 6 Jun 2018 13:36:39 +0200 Subject: [PATCH 090/200] chore(pom): update old version to 1.0.6 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index e2cfe4d94d8..f15b3679dec 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -13,7 +13,7 @@ pom - 1.0.5 + 1.0.6 false From 2a705d920648cfcec0af31fa51618abddf224223 Mon Sep 17 00:00:00 2001 From: yanavasileva Date: Fri, 7 Sep 2018 11:43:09 +0200 Subject: [PATCH 091/200] chore(pom): update commons dependency version --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index f15b3679dec..74f0dccec55 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -31,7 +31,7 @@ org.camunda.commons camunda-commons-bom - 1.5.1 + 1.6.0-SNAPSHOT import pom From 85cc6e6bab34873568bbb5dd1611e10e396680cb Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Fri, 7 Sep 2018 14:55:34 +0200 Subject: [PATCH 092/200] chore(pom): update release parent version to 3.0 Related to CAM-9299 --- connect/bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 89dcc350bda..547d4289219 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-release-parent - 2.5 + 3.0 From 060f92cd727c6ac3b63a264edeba6032ab88c209 Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Thu, 13 Sep 2018 11:57:52 +0200 Subject: [PATCH 093/200] chore(pom): update commons to 1.6.0 version --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 74f0dccec55..5515e30379e 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -31,7 +31,7 @@ org.camunda.commons camunda-commons-bom - 1.6.0-SNAPSHOT + 1.6.0 import pom From 135431b0b23f970203da1075a69955e51df4921c Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 13 Sep 2018 12:43:11 +0200 Subject: [PATCH 094/200] [maven-release-plugin] prepare release 1.1.0 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 547d4289219..06fa6315326 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.0-SNAPSHOT + 1.1.0 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.1.0 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 265be816edc..e13333b0e87 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.1.0 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index c0b33e67766..44c6ee7a2b1 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.1.0 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index b983285da77..80e790443be 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.0-SNAPSHOT + 1.1.0 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 5515e30379e..d0357be5bae 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.0-SNAPSHOT + 1.1.0 bom @@ -104,7 +104,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.1.0 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 12fd8c54f90..f9a639cbb6f 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0-SNAPSHOT + 1.1.0 camunda-connect-soap-http-client From f69e1c102c93ec7ffb0e9b13ee867ffcdc596969 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 13 Sep 2018 12:43:18 +0200 Subject: [PATCH 095/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 06fa6315326..f50d588635c 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.0 + 1.2.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.1.0 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index e13333b0e87..a3c04154927 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0 + 1.2.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 44c6ee7a2b1..9ca25728960 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0 + 1.2.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 80e790443be..85eac81b671 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.0 + 1.2.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index d0357be5bae..3c813dd8ce1 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.0 + 1.2.0-SNAPSHOT bom @@ -104,7 +104,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.1.0 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index f9a639cbb6f..19e7b76184a 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.0 + 1.2.0-SNAPSHOT camunda-connect-soap-http-client From e1ff2850cdbdecf7ca604b3f8c3485f77188c7ed Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Thu, 13 Sep 2018 12:52:05 +0200 Subject: [PATCH 096/200] chore(pom): update old version to 1.0.7 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 3c813dd8ce1..31a45ec97e3 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -13,7 +13,7 @@ pom - 1.0.6 + 1.0.7 false From 8cdbf0de432e938d414284880932176dfddcc4bc Mon Sep 17 00:00:00 2001 From: Christian Lipphardt Date: Mon, 24 Sep 2018 17:24:02 +0200 Subject: [PATCH 097/200] chore(pom): update release parent version to 3.1 - only use nexus-staging-plugin for deploy Related to SRE-257 --- connect/bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index f50d588635c..67d145f25fc 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-release-parent - 3.0 + 3.1 From 7a73eb88d65d5c3f0ce01d816b487dfaaea1a354 Mon Sep 17 00:00:00 2001 From: Nikola Koevski Date: Thu, 15 Nov 2018 21:08:16 +0100 Subject: [PATCH 098/200] chore(engine): add & reformat license headers to files * Add missing license headers to java source files; * Format existing license headers in java source files to get a consitent pattern. Related to CAM-9524 --- .../main/java/org/camunda/connect/ConnectorException.java | 7 +++++-- .../org/camunda/connect/ConnectorRequestException.java | 6 ++++-- .../org/camunda/connect/ConnectorResponseException.java | 6 ++++-- .../src/main/java/org/camunda/connect/Connectors.java | 6 ++++-- .../connect/impl/AbstractCloseableConnectorResponse.java | 7 +++++-- .../java/org/camunda/connect/impl/AbstractConnector.java | 7 +++++-- .../camunda/connect/impl/AbstractConnectorRequest.java | 7 +++++-- .../camunda/connect/impl/AbstractConnectorResponse.java | 7 +++++-- .../camunda/connect/impl/AbstractRequestInvocation.java | 7 +++++-- .../java/org/camunda/connect/impl/ConnectCoreLogger.java | 7 +++++-- .../main/java/org/camunda/connect/impl/ConnectLogger.java | 7 +++++-- .../org/camunda/connect/impl/DebugRequestInterceptor.java | 6 ++++-- .../camunda/connect/spi/CloseableConnectorResponse.java | 7 +++++-- .../src/main/java/org/camunda/connect/spi/Connector.java | 7 +++++-- .../org/camunda/connect/spi/ConnectorConfigurator.java | 6 ++++-- .../java/org/camunda/connect/spi/ConnectorInvocation.java | 7 +++++-- .../java/org/camunda/connect/spi/ConnectorProvider.java | 6 ++++-- .../java/org/camunda/connect/spi/ConnectorRequest.java | 7 +++++-- .../camunda/connect/spi/ConnectorRequestInterceptor.java | 7 +++++-- .../java/org/camunda/connect/spi/ConnectorResponse.java | 7 +++++-- .../java/org/camunda/connect/dummy/DummyConnector.java | 6 ++++-- .../camunda/connect/dummy/DummyConnectorConfigurator.java | 6 ++++-- .../org/camunda/connect/dummy/DummyConnectorProvider.java | 6 ++++-- .../test/java/org/camunda/connect/dummy/DummyRequest.java | 6 ++++-- .../java/org/camunda/connect/dummy/DummyResponse.java | 6 ++++-- .../java/org/camunda/connect/dummy/MyHttpConnector.java | 6 ++++-- .../camunda/connect/dummy/MyHttpConnectorProvider.java | 6 ++++-- .../test/java/org/camunda/connect/spi/ConnectorsTest.java | 6 ++++-- .../org/camunda/connect/httpclient/HttpBaseRequest.java | 6 ++++-- .../org/camunda/connect/httpclient/HttpConnector.java | 7 +++++-- .../camunda/connect/httpclient/HttpConnectorProvider.java | 6 ++++-- .../org/camunda/connect/httpclient/HttpMethodRequest.java | 6 ++++-- .../java/org/camunda/connect/httpclient/HttpRequest.java | 7 +++++-- .../java/org/camunda/connect/httpclient/HttpResponse.java | 7 +++++-- .../connect/httpclient/impl/AbstractHttpConnector.java | 6 ++++-- .../connect/httpclient/impl/AbstractHttpRequest.java | 6 ++++-- .../connect/httpclient/impl/HttpConnectorImpl.java | 7 +++++-- .../connect/httpclient/impl/HttpConnectorLogger.java | 6 ++++-- .../httpclient/impl/HttpConnectorProviderImpl.java | 6 ++++-- .../org/camunda/connect/httpclient/impl/HttpLogger.java | 6 ++++-- .../camunda/connect/httpclient/impl/HttpRequestImpl.java | 6 ++++-- .../connect/httpclient/impl/HttpRequestInvocation.java | 6 ++++-- .../camunda/connect/httpclient/impl/HttpResponseImpl.java | 6 ++++-- .../httpclient/HttpConnectorSystemPropertiesTest.java | 7 +++++-- .../org/camunda/connect/httpclient/HttpConnectorTest.java | 7 +++++-- .../org/camunda/connect/httpclient/HttpRequestTest.java | 8 +++++--- .../org/camunda/connect/httpclient/HttpResponseTest.java | 6 ++++-- .../java/org/camunda/connect/httpclient/TestResponse.java | 6 ++++-- .../connect/httpclient/soap/SoapHttpConnector.java | 7 +++++-- .../httpclient/soap/SoapHttpConnectorProvider.java | 6 ++++-- .../camunda/connect/httpclient/soap/SoapHttpRequest.java | 6 ++++-- .../camunda/connect/httpclient/soap/SoapHttpResponse.java | 7 +++++-- .../httpclient/soap/impl/SoapHttpConnectorImpl.java | 7 +++++-- .../httpclient/soap/impl/SoapHttpConnectorLogger.java | 6 ++++-- .../soap/impl/SoapHttpConnectorProviderImpl.java | 6 ++++-- .../connect/httpclient/soap/impl/SoapHttpLogger.java | 6 ++++-- .../connect/httpclient/soap/impl/SoapHttpRequestImpl.java | 7 +++++-- .../httpclient/soap/impl/SoapHttpResponseImpl.java | 7 +++++-- .../httpclient/SoapHttpConnectorSystemPropertiesTest.java | 7 +++++-- .../connect/soap/httpclient/SoapHttpConnectorTest.java | 6 ++++-- .../connect/soap/httpclient/SoapHttpRequestTest.java | 7 +++++-- 61 files changed, 272 insertions(+), 123 deletions(-) diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorException.java index 30171f64854..f90a569c17f 100644 --- a/connect/core/src/main/java/org/camunda/connect/ConnectorException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorException.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java index c84c167f89f..7140f847de1 100644 --- a/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect; /** diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java index 95850600eb1..c7896dc6a32 100644 --- a/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect; /** diff --git a/connect/core/src/main/java/org/camunda/connect/Connectors.java b/connect/core/src/main/java/org/camunda/connect/Connectors.java index 4986a3882d3..ca7fff09812 100644 --- a/connect/core/src/main/java/org/camunda/connect/Connectors.java +++ b/connect/core/src/main/java/org/camunda/connect/Connectors.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect; import java.util.HashMap; diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java index 7a4e7e1752a..daeb31c88d7 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java index 094d0c9151a..247985f695a 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java index 8de1b2f257d..e759e2ddcad 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java index 98c4313161d..973f173f140 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java index 303e3f15556..bc798487e9d 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java b/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java index ba9c7f8feed..4d47c2ea9bd 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java b/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java index 8ad34aa54aa..88e7d75f8dc 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java b/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java index c255b78e4b8..6fc626eebfa 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.impl; import org.camunda.connect.spi.ConnectorInvocation; diff --git a/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java index 38cdcc6b57a..ff2fba1ca70 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/spi/Connector.java b/connect/core/src/main/java/org/camunda/connect/spi/Connector.java index 6c30df956ec..7cb7c41e87e 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/Connector.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/Connector.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java index 80dd039696f..6790ce9a114 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.spi; /** diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java index 8559344b667..dc5f6eec352 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java index 801c232004f..5793c9d3d7f 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.spi; /** diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java index 528201e8d4e..d59846b625d 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java index 647eed35e48..ee8cc1d3617 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java index e4bce1b888a..ef6522605ed 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java index 065c7583c89..2c01ea2f9ba 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.dummy; import org.camunda.connect.impl.AbstractConnector; diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java index bbb8e2186c3..73e80e328fb 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.dummy; import org.camunda.connect.spi.ConnectorConfigurator; diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java index 231476774a9..ad7f07250f7 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.dummy; import org.camunda.connect.spi.ConnectorProvider; diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java index 8b4f45237d2..09034f6d566 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.dummy; import org.camunda.connect.impl.AbstractConnectorRequest; diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java index 5c48a1ea0c7..bb959b22b2d 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.dummy; import java.util.Map; diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java index c2380000e44..b40c121a7de 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.dummy; import org.camunda.connect.impl.AbstractConnector; diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java index 24883e11792..c8298289c59 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.dummy; import org.camunda.connect.Connectors; diff --git a/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java b/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java index 84569ed6fee..fc76e2fed60 100644 --- a/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java +++ b/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.spi; import static org.assertj.core.api.Assertions.assertThat; diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java index 8ceed78a40e..26122e7d085 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient; import java.util.Map; diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java index 61a8866eae8..dc64ff5d894 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java index 47000743bad..82746a4c851 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient; import org.camunda.connect.spi.ConnectorProvider; diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java index 431c29cb665..eda2725e590 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient; public interface HttpMethodRequest, R extends HttpResponse> extends HttpBaseRequest { diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java index f6bdb4da333..bc6e1025194 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java index 0b73760a3fe..4ab51c6d972 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java index db8f52c4de9..b1c91308959 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.impl; import java.io.ByteArrayInputStream; diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java index 42b57642c94..f0db89ddcfa 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.impl; import java.util.HashMap; diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java index 6048d87172e..b8bd138d06e 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java index ec687eac444..f6a6f0c2813 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.impl; import org.camunda.connect.ConnectorRequestException; diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java index 5d8b2f85f0c..304fc1bccef 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.impl; import org.camunda.connect.httpclient.HttpConnector; diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java index 9973e05b780..97ab9ecfe19 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.impl; import org.camunda.commons.logging.BaseLogger; diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java index e07a61cec37..806e5da973f 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.impl; import org.camunda.connect.httpclient.HttpRequest; diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java index 1393b9bb44f..506ac8df387 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.impl; import java.util.List; diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java index 88d028fb790..d86557ea0d2 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.impl; import java.io.Closeable; diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java index d66147386d3..10db58d48d7 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java index 5f082f8dd4f..fa5671e521a 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java index bfa73dd1061..f5c5907ab1b 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient; import static org.assertj.core.api.Assertions.assertThat; diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java index deb056b2e24..3ab155913b6 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient; import static org.assertj.core.api.Assertions.assertThat; diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java index ea21fc49c0c..d491155f08d 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient; import java.io.IOException; diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java index b2c5ac77ff9..11a5c0cc7a1 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java index c100e78d234..14fa181a8d2 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.soap; import org.camunda.connect.spi.ConnectorProvider; diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java index 691147122b2..6002f968aca 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.soap; import org.camunda.connect.httpclient.HttpBaseRequest; diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java index 7ec5f583a13..b9b71737c59 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java index 96712a6a0ea..9d349b9864a 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java index a8d6c5069bf..477334f7ec7 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.soap.impl; import org.camunda.connect.ConnectorRequestException; diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java index 1baaa46a072..5282b05e90b 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.soap.impl; import org.camunda.connect.httpclient.soap.SoapHttpConnector; diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java index d3dd20f00e1..5748ad1ba66 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.httpclient.soap.impl; import org.camunda.commons.logging.BaseLogger; diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java index be46c0979cf..4df524bb742 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java index 800ab1c723f..fa61f9abb9c 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java index 6c15b058391..1508c6a592f 100644 --- a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java +++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java index fd1c66748d4..1b432c8a1ab 100644 --- a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java +++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java @@ -1,4 +1,7 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 * @@ -10,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.camunda.connect.soap.httpclient; import static org.assertj.core.api.Assertions.assertThat; diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java index 7e3ff46a10f..3e8a7a6e409 100644 --- a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java +++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java @@ -1,8 +1,11 @@ -/* Licensed under the Apache License, Version 2.0 (the "License"); +/* + * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * + * Licensed 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 + * 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, From cd0a0141da968bffcfba5509ef0a5856eac3739c Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Tue, 4 Dec 2018 16:06:30 +0100 Subject: [PATCH 099/200] chore(pom): update commons version Related to CAM-9569 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 31a45ec97e3..30f0d208f34 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -31,7 +31,7 @@ org.camunda.commons camunda-commons-bom - 1.6.0 + 1.6.1 import pom From a53ae867fbc340087b9293ee38d61e2768ff0a3e Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Wed, 5 Dec 2018 08:11:20 +0100 Subject: [PATCH 100/200] [maven-release-plugin] prepare release 1.1.1 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 67d145f25fc..67d158422fe 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.2.0-SNAPSHOT + 1.1.1 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.1.1 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index a3c04154927..7e0c2c23f0c 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0-SNAPSHOT + 1.1.1 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 9ca25728960..8036ac268e2 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0-SNAPSHOT + 1.1.1 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 85eac81b671..78e91923fa2 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.2.0-SNAPSHOT + 1.1.1 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 30f0d208f34..fc91173aec1 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.2.0-SNAPSHOT + 1.1.1 bom @@ -104,7 +104,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.1.1 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 19e7b76184a..25115b366e0 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0-SNAPSHOT + 1.1.1 camunda-connect-soap-http-client From 11c80abfa9aec49c681bcd36426171284d7f1c74 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Wed, 5 Dec 2018 08:11:27 +0100 Subject: [PATCH 101/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 67d158422fe..67d145f25fc 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.1 + 1.2.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.1.1 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 7e0c2c23f0c..a3c04154927 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.1 + 1.2.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 8036ac268e2..9ca25728960 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.1 + 1.2.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 78e91923fa2..85eac81b671 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.1 + 1.2.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index fc91173aec1..30f0d208f34 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.1 + 1.2.0-SNAPSHOT bom @@ -104,7 +104,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.1.1 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 25115b366e0..19e7b76184a 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.1 + 1.2.0-SNAPSHOT camunda-connect-soap-http-client From e2efb50c255b1c7cac63202a081568adaf39eac4 Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Wed, 5 Dec 2018 08:24:49 +0100 Subject: [PATCH 102/200] chore(pom): update old version to 1.1.0 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 30f0d208f34..1d4e8cba38e 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -13,7 +13,7 @@ pom - 1.0.7 + 1.1.0 false From f2744f4e312b6c8c9979a4e3dfc0f74be5370eb8 Mon Sep 17 00:00:00 2001 From: Nikola Koevski Date: Tue, 11 Dec 2018 16:42:17 +0100 Subject: [PATCH 103/200] chore(license): add license header plugin * Update license headers with plugin * Update release-parent version Related to CAM-9536 --- connect/.ci.cambpm | 2 +- connect/bom/pom.xml | 2 +- .../main/java/org/camunda/connect/ConnectorException.java | 2 +- .../java/org/camunda/connect/ConnectorRequestException.java | 2 +- .../java/org/camunda/connect/ConnectorResponseException.java | 2 +- .../core/src/main/java/org/camunda/connect/Connectors.java | 2 +- .../connect/impl/AbstractCloseableConnectorResponse.java | 2 +- .../java/org/camunda/connect/impl/AbstractConnector.java | 2 +- .../org/camunda/connect/impl/AbstractConnectorRequest.java | 2 +- .../org/camunda/connect/impl/AbstractConnectorResponse.java | 2 +- .../org/camunda/connect/impl/AbstractRequestInvocation.java | 2 +- .../java/org/camunda/connect/impl/ConnectCoreLogger.java | 2 +- .../main/java/org/camunda/connect/impl/ConnectLogger.java | 2 +- .../org/camunda/connect/impl/DebugRequestInterceptor.java | 2 +- .../org/camunda/connect/spi/CloseableConnectorResponse.java | 2 +- .../src/main/java/org/camunda/connect/spi/Connector.java | 2 +- .../java/org/camunda/connect/spi/ConnectorConfigurator.java | 2 +- .../java/org/camunda/connect/spi/ConnectorInvocation.java | 2 +- .../main/java/org/camunda/connect/spi/ConnectorProvider.java | 2 +- .../main/java/org/camunda/connect/spi/ConnectorRequest.java | 2 +- .../org/camunda/connect/spi/ConnectorRequestInterceptor.java | 2 +- .../main/java/org/camunda/connect/spi/ConnectorResponse.java | 2 +- .../test/java/org/camunda/connect/dummy/DummyConnector.java | 2 +- .../camunda/connect/dummy/DummyConnectorConfigurator.java | 2 +- .../org/camunda/connect/dummy/DummyConnectorProvider.java | 2 +- .../test/java/org/camunda/connect/dummy/DummyRequest.java | 2 +- .../test/java/org/camunda/connect/dummy/DummyResponse.java | 2 +- .../test/java/org/camunda/connect/dummy/MyHttpConnector.java | 2 +- .../org/camunda/connect/dummy/MyHttpConnectorProvider.java | 2 +- .../test/java/org/camunda/connect/spi/ConnectorsTest.java | 2 +- .../java/org/camunda/connect/httpclient/HttpBaseRequest.java | 2 +- .../java/org/camunda/connect/httpclient/HttpConnector.java | 2 +- .../camunda/connect/httpclient/HttpConnectorProvider.java | 2 +- .../org/camunda/connect/httpclient/HttpMethodRequest.java | 2 +- .../java/org/camunda/connect/httpclient/HttpRequest.java | 2 +- .../java/org/camunda/connect/httpclient/HttpResponse.java | 2 +- .../connect/httpclient/impl/AbstractHttpConnector.java | 2 +- .../camunda/connect/httpclient/impl/AbstractHttpRequest.java | 2 +- .../camunda/connect/httpclient/impl/HttpConnectorImpl.java | 2 +- .../camunda/connect/httpclient/impl/HttpConnectorLogger.java | 2 +- .../connect/httpclient/impl/HttpConnectorProviderImpl.java | 2 +- .../java/org/camunda/connect/httpclient/impl/HttpLogger.java | 2 +- .../org/camunda/connect/httpclient/impl/HttpRequestImpl.java | 2 +- .../connect/httpclient/impl/HttpRequestInvocation.java | 2 +- .../camunda/connect/httpclient/impl/HttpResponseImpl.java | 2 +- .../httpclient/HttpConnectorSystemPropertiesTest.java | 2 +- .../org/camunda/connect/httpclient/HttpConnectorTest.java | 2 +- .../java/org/camunda/connect/httpclient/HttpRequestTest.java | 2 +- .../org/camunda/connect/httpclient/HttpResponseTest.java | 2 +- .../java/org/camunda/connect/httpclient/TestResponse.java | 2 +- connect/pom.xml | 5 +++++ .../camunda/connect/httpclient/soap/SoapHttpConnector.java | 2 +- .../connect/httpclient/soap/SoapHttpConnectorProvider.java | 2 +- .../org/camunda/connect/httpclient/soap/SoapHttpRequest.java | 2 +- .../camunda/connect/httpclient/soap/SoapHttpResponse.java | 2 +- .../connect/httpclient/soap/impl/SoapHttpConnectorImpl.java | 2 +- .../httpclient/soap/impl/SoapHttpConnectorLogger.java | 2 +- .../httpclient/soap/impl/SoapHttpConnectorProviderImpl.java | 2 +- .../camunda/connect/httpclient/soap/impl/SoapHttpLogger.java | 2 +- .../connect/httpclient/soap/impl/SoapHttpRequestImpl.java | 2 +- .../connect/httpclient/soap/impl/SoapHttpResponseImpl.java | 2 +- .../httpclient/SoapHttpConnectorSystemPropertiesTest.java | 2 +- .../connect/soap/httpclient/SoapHttpConnectorTest.java | 2 +- .../camunda/connect/soap/httpclient/SoapHttpRequestTest.java | 2 +- 64 files changed, 68 insertions(+), 63 deletions(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index f202e89eea9..8ca6fc65a02 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1 +1 @@ -buildMavenAndDeployToMavenCentral([jdk:7]) +buildMavenAndDeployToMavenCentral([jdk:7, licenseCheck:true]) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 67d145f25fc..bd1ee2305f4 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-release-parent - 3.1 + 3.2 diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorException.java index f90a569c17f..0ac3f5f5929 100644 --- a/connect/core/src/main/java/org/camunda/connect/ConnectorException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorException.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java index 7140f847de1..a3a47ff164a 100644 --- a/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java index c7896dc6a32..a8e92037055 100644 --- a/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/Connectors.java b/connect/core/src/main/java/org/camunda/connect/Connectors.java index ca7fff09812..dfcaeab9d13 100644 --- a/connect/core/src/main/java/org/camunda/connect/Connectors.java +++ b/connect/core/src/main/java/org/camunda/connect/Connectors.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java index daeb31c88d7..ecdccd4351c 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java index 247985f695a..5c463306e19 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java index e759e2ddcad..c81c4236d44 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java index 973f173f140..3edef418c11 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java index bc798487e9d..4cc32c74b67 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java b/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java index 4d47c2ea9bd..cf0f9518225 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java b/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java index 88e7d75f8dc..1fef234ff2c 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java b/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java index 6fc626eebfa..d26b1f237f7 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java index ff2fba1ca70..fb84f4923c6 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/spi/Connector.java b/connect/core/src/main/java/org/camunda/connect/spi/Connector.java index 7cb7c41e87e..da81baaa138 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/Connector.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/Connector.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java index 6790ce9a114..cc0f911c3b5 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java index dc5f6eec352..65610468d7e 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java index 5793c9d3d7f..4b0019003d8 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java index d59846b625d..f16df7c39fe 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java index ee8cc1d3617..4f0d3f09933 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java index ef6522605ed..49d004be331 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java index 2c01ea2f9ba..19aef66423d 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java index 73e80e328fb..e5035114a21 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java index ad7f07250f7..7d5a057191c 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java index 09034f6d566..51cceb68ef2 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java index bb959b22b2d..df85e99c0d2 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java index b40c121a7de..e6be0b18960 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java index c8298289c59..05d999a61dd 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java b/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java index fc76e2fed60..312fb974678 100644 --- a/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java +++ b/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java index 26122e7d085..bd57f0e82f9 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java index dc64ff5d894..a3d2f15f65d 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java index 82746a4c851..7febc9253a1 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java index eda2725e590..1fbd6d91c09 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java index bc6e1025194..4abe1c30594 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java index 4ab51c6d972..fdd761591a6 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java index b1c91308959..5a85e1e8c93 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java index f0db89ddcfa..b02fb8aee43 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java index b8bd138d06e..16d8822ee25 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java index f6a6f0c2813..37dca3dd80a 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java index 304fc1bccef..8a050ade6ed 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java index 97ab9ecfe19..158ca7095f4 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java index 806e5da973f..3a2ee088a7b 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java index 506ac8df387..ac18f285cb7 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java index d86557ea0d2..b94e270eaf9 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java index 10db58d48d7..49d0551d0c5 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java index fa5671e521a..f35cbe1ae5e 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java index f5c5907ab1b..bfb4f9c062b 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java index 3ab155913b6..acc9f128ee8 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java index d491155f08d..7e086d0b2a6 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/pom.xml b/connect/pom.xml index 1d4e8cba38e..e8819deeffa 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -10,6 +10,7 @@ camunda-connect-root camunda BPM - connect - root + 2014 pom @@ -97,6 +98,10 @@ test + + com.mycila + license-maven-plugin + diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java index 11a5c0cc7a1..df187a0e99c 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java index 14fa181a8d2..6711845946d 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java index 6002f968aca..a4e98a2b429 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java index b9b71737c59..3a182b90e54 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java index 9d349b9864a..9f0e5351e7a 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java index 477334f7ec7..2341670c08d 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java index 5282b05e90b..f16a8b87135 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java index 5748ad1ba66..82b936bed45 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java index 4df524bb742..47dbf77e8d8 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java index fa61f9abb9c..3fff4af390c 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java index 1508c6a592f..b9ae1f46232 100644 --- a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java +++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java index 1b432c8a1ab..e71176ad614 100644 --- a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java +++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java index 3e8a7a6e409..2b7ae134fed 100644 --- a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java +++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java @@ -1,5 +1,5 @@ /* - * Copyright © 2014 - 2018 camunda services GmbH and various authors (info@camunda.com) + * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From a65dc5f51228497aa120937f3c6ba55d14a4eced Mon Sep 17 00:00:00 2001 From: Nikola Koevski Date: Fri, 14 Dec 2018 11:59:45 +0100 Subject: [PATCH 104/200] chore(license): add profile for license header plugin Related to CAM-9536 --- connect/pom.xml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/connect/pom.xml b/connect/pom.xml index e8819deeffa..24a97636206 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -98,13 +98,23 @@ test - - com.mycila - license-maven-plugin - + + + license-header-check + + + + com.mycila + license-maven-plugin + + + + + + https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git From cae5b859101a4a25cbfe298675ad2a639b48e2dd Mon Sep 17 00:00:00 2001 From: Nikola Koevski Date: Fri, 14 Dec 2018 12:32:07 +0100 Subject: [PATCH 105/200] chore(license): remove default license check Related to CAM-9536 --- connect/.ci.cambpm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index 8ca6fc65a02..f202e89eea9 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1 +1 @@ -buildMavenAndDeployToMavenCentral([jdk:7, licenseCheck:true]) +buildMavenAndDeployToMavenCentral([jdk:7]) From f31d06c649d00194c1de6541b0bb73e951ea9c29 Mon Sep 17 00:00:00 2001 From: Nikola Koevski Date: Wed, 9 Jan 2019 15:26:53 +0100 Subject: [PATCH 106/200] chore(license): re-enable license check Related to CAM-9536 --- connect/.ci.cambpm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index f202e89eea9..8ca6fc65a02 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1 +1 @@ -buildMavenAndDeployToMavenCentral([jdk:7]) +buildMavenAndDeployToMavenCentral([jdk:7, licenseCheck:true]) From 0732bce504b377078836feecd78a909eb11dccf9 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Mon, 28 Jan 2019 11:01:18 +0100 Subject: [PATCH 107/200] chore(project): bump commons version related to CAM-9640 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 24a97636206..fe5df694f7d 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -32,7 +32,7 @@ org.camunda.commons camunda-commons-bom - 1.6.1 + 1.7.0 import pom From 4852b9928b56b735a7fda22e132864a513138ed8 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Mon, 28 Jan 2019 11:10:36 +0100 Subject: [PATCH 108/200] [maven-release-plugin] prepare release 1.1.2 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index bd1ee2305f4..4f2a677ad44 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.2.0-SNAPSHOT + 1.1.2 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.1.2 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index a3c04154927..79a51815dfe 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0-SNAPSHOT + 1.1.2 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 9ca25728960..9791f3e2628 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0-SNAPSHOT + 1.1.2 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 85eac81b671..1ac25571215 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.2.0-SNAPSHOT + 1.1.2 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index fe5df694f7d..18bc6dbd268 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.2.0-SNAPSHOT + 1.1.2 bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.1.2 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 19e7b76184a..6fb64276173 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0-SNAPSHOT + 1.1.2 camunda-connect-soap-http-client From 892fdec2e8ce4305641698b02bb093a72b4f5426 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Mon, 28 Jan 2019 11:10:43 +0100 Subject: [PATCH 109/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 4f2a677ad44..bd1ee2305f4 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.2 + 1.2.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.1.2 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 79a51815dfe..a3c04154927 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.2 + 1.2.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 9791f3e2628..9ca25728960 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.2 + 1.2.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 1ac25571215..85eac81b671 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.2 + 1.2.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 18bc6dbd268..fe5df694f7d 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.2 + 1.2.0-SNAPSHOT bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.1.2 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 6fb64276173..19e7b76184a 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.2 + 1.2.0-SNAPSHOT camunda-connect-soap-http-client From 036c8664670c064c0a845b84681f2cfc6bddb896 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Mon, 28 Jan 2019 11:15:48 +0100 Subject: [PATCH 110/200] chore(project): bump old connect version to 1.1.2 related to CAM-9640 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index fe5df694f7d..40df5809e88 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,7 +14,7 @@ pom - 1.1.0 + 1.1.2 false From 7f4a1fe768c4f8fc5deca8f6ba9107230aa213fd Mon Sep 17 00:00:00 2001 From: Nikola Koevski Date: Tue, 19 Feb 2019 12:46:35 +0100 Subject: [PATCH 111/200] chore(project): bump httpclient to 4.5.7 Related to CAM-9696 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 40df5809e88..17c4bbe6410 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -40,7 +40,7 @@ org.apache.httpcomponents httpclient - 4.3.3 + 4.5.7 From b5f6ecee07ca59855689794c66436d2652c4da16 Mon Sep 17 00:00:00 2001 From: Christian Lipphardt Date: Thu, 21 Feb 2019 13:04:50 +0100 Subject: [PATCH 112/200] chore(ci): use maven 3.5 cos of missing bom artifact during upload --- connect/.ci.cambpm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index 8ca6fc65a02..67611a51cbe 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1 +1 @@ -buildMavenAndDeployToMavenCentral([jdk:7, licenseCheck:true]) +buildMavenAndDeployToMavenCentral([jdk:7, mvn:3.5, licenseCheck:true]) From 96e1d7a48c448db73b6c967f653742a62ca713cc Mon Sep 17 00:00:00 2001 From: Nikola Koevski Date: Fri, 22 Feb 2019 14:12:06 +0100 Subject: [PATCH 113/200] chore(project): set next connect version to 1.1.3 Related to CAM-9614 --- connect/bom/pom.xml | 2 +- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 2 +- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index bd1ee2305f4..5889a43ffa4 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.2.0-SNAPSHOT + 1.1.3-SNAPSHOT camunda BPM - connect - bom pom diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index a3c04154927..4288a40cbac 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0-SNAPSHOT + 1.1.3-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 9ca25728960..cacea18cdc8 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0-SNAPSHOT + 1.1.3-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 85eac81b671..5c8ffd5ae20 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.2.0-SNAPSHOT + 1.1.3-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 17c4bbe6410..31da290d1ad 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.2.0-SNAPSHOT + 1.1.3-SNAPSHOT bom diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 19e7b76184a..2f40d79d1de 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0-SNAPSHOT + 1.1.3-SNAPSHOT camunda-connect-soap-http-client From 7ee03e4eb62fb2ffffce8d6160d4a1a465d1154f Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Tue, 26 Feb 2019 17:22:32 +0100 Subject: [PATCH 114/200] [maven-release-plugin] prepare release 1.1.3 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 5889a43ffa4..2023ef1a6ea 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.3-SNAPSHOT + 1.1.3 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.1.3 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 4288a40cbac..5443f03d8c7 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.3-SNAPSHOT + 1.1.3 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index cacea18cdc8..8d31ed6eaa6 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.3-SNAPSHOT + 1.1.3 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 5c8ffd5ae20..0ed9f5726aa 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.3-SNAPSHOT + 1.1.3 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 31da290d1ad..e3704fb8879 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.3-SNAPSHOT + 1.1.3 bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.1.3 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 2f40d79d1de..39c1975aa12 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.3-SNAPSHOT + 1.1.3 camunda-connect-soap-http-client From 6c6dbfe5de0015935d82adba949516829c10b220 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Tue, 26 Feb 2019 17:22:39 +0100 Subject: [PATCH 115/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 2023ef1a6ea..c31ee6ed26b 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.3 + 1.1.4-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.1.3 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 5443f03d8c7..6d935c9e944 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.3 + 1.1.4-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 8d31ed6eaa6..252e11e4bf3 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.3 + 1.1.4-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 0ed9f5726aa..8706e79f929 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.3 + 1.1.4-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index e3704fb8879..bdb937eaf36 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.3 + 1.1.4-SNAPSHOT bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.1.3 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 39c1975aa12..dfb1ebf7038 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.3 + 1.1.4-SNAPSHOT camunda-connect-soap-http-client From 74ebecbb9902a3d07e6842b4ea0b844e6b031e50 Mon Sep 17 00:00:00 2001 From: Nikola Koevski Date: Tue, 26 Feb 2019 17:29:58 +0100 Subject: [PATCH 116/200] chore(project): set old version to 1.1.3 Related to CAM-9614 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index bdb937eaf36..37cce8c61b5 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,7 +14,7 @@ pom - 1.1.2 + 1.1.3 false From 582d1333927fa23bba4d6f602ff02279f7f8fdfa Mon Sep 17 00:00:00 2001 From: Christian Lipphardt Date: Thu, 28 Feb 2019 19:09:10 +0100 Subject: [PATCH 117/200] chore(ci): explicitly call jenkins shared library related to #SRE-415 --- connect/.ci.cambpm | 1 + 1 file changed, 1 insertion(+) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index 67611a51cbe..33c9d880bd3 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1 +1,2 @@ +@Library("camunda-ci") _ buildMavenAndDeployToMavenCentral([jdk:7, mvn:3.5, licenseCheck:true]) From 071953501e64a24b3d373db9aa55badcbddf8abf Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Mon, 8 Apr 2019 10:50:10 +0200 Subject: [PATCH 118/200] chore(connect): update license headers * update license mention in README * add NOTICE file Related to CAM-10096 --- connect/NOTICE | 3 +++ connect/README.md | 4 ++++ connect/bom/pom.xml | 2 +- .../java/org/camunda/connect/ConnectorException.java | 9 +++++---- .../org/camunda/connect/ConnectorRequestException.java | 9 +++++---- .../org/camunda/connect/ConnectorResponseException.java | 9 +++++---- .../src/main/java/org/camunda/connect/Connectors.java | 9 +++++---- .../connect/impl/AbstractCloseableConnectorResponse.java | 9 +++++---- .../java/org/camunda/connect/impl/AbstractConnector.java | 9 +++++---- .../camunda/connect/impl/AbstractConnectorRequest.java | 9 +++++---- .../camunda/connect/impl/AbstractConnectorResponse.java | 9 +++++---- .../camunda/connect/impl/AbstractRequestInvocation.java | 9 +++++---- .../java/org/camunda/connect/impl/ConnectCoreLogger.java | 9 +++++---- .../java/org/camunda/connect/impl/ConnectLogger.java | 9 +++++---- .../camunda/connect/impl/DebugRequestInterceptor.java | 9 +++++---- .../camunda/connect/spi/CloseableConnectorResponse.java | 9 +++++---- .../src/main/java/org/camunda/connect/spi/Connector.java | 9 +++++---- .../org/camunda/connect/spi/ConnectorConfigurator.java | 9 +++++---- .../org/camunda/connect/spi/ConnectorInvocation.java | 9 +++++---- .../java/org/camunda/connect/spi/ConnectorProvider.java | 9 +++++---- .../java/org/camunda/connect/spi/ConnectorRequest.java | 9 +++++---- .../camunda/connect/spi/ConnectorRequestInterceptor.java | 9 +++++---- .../java/org/camunda/connect/spi/ConnectorResponse.java | 9 +++++---- .../java/org/camunda/connect/dummy/DummyConnector.java | 9 +++++---- .../connect/dummy/DummyConnectorConfigurator.java | 9 +++++---- .../camunda/connect/dummy/DummyConnectorProvider.java | 9 +++++---- .../java/org/camunda/connect/dummy/DummyRequest.java | 9 +++++---- .../java/org/camunda/connect/dummy/DummyResponse.java | 9 +++++---- .../java/org/camunda/connect/dummy/MyHttpConnector.java | 9 +++++---- .../camunda/connect/dummy/MyHttpConnectorProvider.java | 9 +++++---- .../java/org/camunda/connect/spi/ConnectorsTest.java | 9 +++++---- .../org/camunda/connect/httpclient/HttpBaseRequest.java | 9 +++++---- .../org/camunda/connect/httpclient/HttpConnector.java | 9 +++++---- .../connect/httpclient/HttpConnectorProvider.java | 9 +++++---- .../camunda/connect/httpclient/HttpMethodRequest.java | 9 +++++---- .../java/org/camunda/connect/httpclient/HttpRequest.java | 9 +++++---- .../org/camunda/connect/httpclient/HttpResponse.java | 9 +++++---- .../connect/httpclient/impl/AbstractHttpConnector.java | 9 +++++---- .../connect/httpclient/impl/AbstractHttpRequest.java | 9 +++++---- .../connect/httpclient/impl/HttpConnectorImpl.java | 9 +++++---- .../connect/httpclient/impl/HttpConnectorLogger.java | 9 +++++---- .../httpclient/impl/HttpConnectorProviderImpl.java | 9 +++++---- .../org/camunda/connect/httpclient/impl/HttpLogger.java | 9 +++++---- .../camunda/connect/httpclient/impl/HttpRequestImpl.java | 9 +++++---- .../connect/httpclient/impl/HttpRequestInvocation.java | 9 +++++---- .../connect/httpclient/impl/HttpResponseImpl.java | 9 +++++---- .../httpclient/HttpConnectorSystemPropertiesTest.java | 9 +++++---- .../camunda/connect/httpclient/HttpConnectorTest.java | 9 +++++---- .../org/camunda/connect/httpclient/HttpRequestTest.java | 9 +++++---- .../org/camunda/connect/httpclient/HttpResponseTest.java | 9 +++++---- .../org/camunda/connect/httpclient/TestResponse.java | 9 +++++---- .../connect/httpclient/soap/SoapHttpConnector.java | 9 +++++---- .../httpclient/soap/SoapHttpConnectorProvider.java | 9 +++++---- .../camunda/connect/httpclient/soap/SoapHttpRequest.java | 9 +++++---- .../connect/httpclient/soap/SoapHttpResponse.java | 9 +++++---- .../httpclient/soap/impl/SoapHttpConnectorImpl.java | 9 +++++---- .../httpclient/soap/impl/SoapHttpConnectorLogger.java | 9 +++++---- .../soap/impl/SoapHttpConnectorProviderImpl.java | 9 +++++---- .../connect/httpclient/soap/impl/SoapHttpLogger.java | 9 +++++---- .../httpclient/soap/impl/SoapHttpRequestImpl.java | 9 +++++---- .../httpclient/soap/impl/SoapHttpResponseImpl.java | 9 +++++---- .../SoapHttpConnectorSystemPropertiesTest.java | 9 +++++---- .../connect/soap/httpclient/SoapHttpConnectorTest.java | 9 +++++---- .../connect/soap/httpclient/SoapHttpRequestTest.java | 9 +++++---- 64 files changed, 313 insertions(+), 245 deletions(-) create mode 100644 connect/NOTICE diff --git a/connect/NOTICE b/connect/NOTICE new file mode 100644 index 00000000000..a2935ed7f36 --- /dev/null +++ b/connect/NOTICE @@ -0,0 +1,3 @@ +Camunda +Copyright 2014-2019 Camunda Services GmbH + diff --git a/connect/README.md b/connect/README.md index 68f203affe0..1977fcbbb16 100644 --- a/connect/README.md +++ b/connect/README.md @@ -27,6 +27,10 @@ process engine and standalone usage via API. Please see the [official documentat camunda Connect is licensed under the Apache 2.0 License. Check [CONTRIBUTING.md][] for guidelines about how to contribute. +# License: + +The source files in this repository are made available under the Apache License, Version 2.0. + [CONTRIBUTING.md]: https://github.com/camunda/camunda-bpm-platform/blob/master/CONTRIBUTING.md diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index c31ee6ed26b..fa2446df290 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-release-parent - 3.2 + 3.3 diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorException.java index 0ac3f5f5929..400a3ab7bcb 100644 --- a/connect/core/src/main/java/org/camunda/connect/ConnectorException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorException.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java index a3a47ff164a..f1609604946 100644 --- a/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorRequestException.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java b/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java index a8e92037055..beba0392b4e 100644 --- a/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java +++ b/connect/core/src/main/java/org/camunda/connect/ConnectorResponseException.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/Connectors.java b/connect/core/src/main/java/org/camunda/connect/Connectors.java index dfcaeab9d13..e458fca7907 100644 --- a/connect/core/src/main/java/org/camunda/connect/Connectors.java +++ b/connect/core/src/main/java/org/camunda/connect/Connectors.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java index ecdccd4351c..63824151496 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractCloseableConnectorResponse.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java index 5c463306e19..920e8693c77 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnector.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java index c81c4236d44..ccbd6e288b4 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java index 3edef418c11..7171a8beccd 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractConnectorResponse.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java b/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java index 4cc32c74b67..215ccdc2154 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/AbstractRequestInvocation.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java b/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java index cf0f9518225..5ed2ce094c1 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/ConnectCoreLogger.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java b/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java index 1fef234ff2c..de6cf0be427 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/ConnectLogger.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java b/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java index d26b1f237f7..3a536611058 100644 --- a/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java +++ b/connect/core/src/main/java/org/camunda/connect/impl/DebugRequestInterceptor.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java index fb84f4923c6..35131b9a252 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/CloseableConnectorResponse.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/spi/Connector.java b/connect/core/src/main/java/org/camunda/connect/spi/Connector.java index da81baaa138..e46ea9ca07a 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/Connector.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/Connector.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java index cc0f911c3b5..f81e18db409 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorConfigurator.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java index 65610468d7e..84492f537e2 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorInvocation.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java index 4b0019003d8..0c759639a2c 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorProvider.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java index f16df7c39fe..63130e48599 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java index 4f0d3f09933..9bb08180573 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequestInterceptor.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java index 49d004be331..9dec7e15d10 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorResponse.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java index 19aef66423d..bf7ad90a430 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnector.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java index e5035114a21..47756572205 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorConfigurator.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java index 7d5a057191c..7205a467cc6 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyConnectorProvider.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java index 51cceb68ef2..247baea7489 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyRequest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java b/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java index df85e99c0d2..57dbfa61002 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/DummyResponse.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java index e6be0b18960..e799b9432d9 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnector.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java index 05d999a61dd..a1b775536ba 100644 --- a/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java +++ b/connect/core/src/test/java/org/camunda/connect/dummy/MyHttpConnectorProvider.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java b/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java index 312fb974678..6853218191d 100644 --- a/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java +++ b/connect/core/src/test/java/org/camunda/connect/spi/ConnectorsTest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java index bd57f0e82f9..45c545f1441 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java index a3d2f15f65d..54ef03c1084 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnector.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java index 7febc9253a1..fc0a0e0d20f 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpConnectorProvider.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java index 1fbd6d91c09..c50f30eba52 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpMethodRequest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java index 4abe1c30594..6f564fbc928 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpRequest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java index fdd761591a6..d4772364912 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpResponse.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java index 5a85e1e8c93..3b0a78a5e5c 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java index b02fb8aee43..a7c0a3a5089 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java index 16d8822ee25..f5774a1988d 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorImpl.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java index 37dca3dd80a..f02e25c45a9 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java index 8a050ade6ed..23e88f9ff1e 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorProviderImpl.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java index 158ca7095f4..e6e5ccfaefa 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpLogger.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java index 3a2ee088a7b..23bf80e3f24 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestImpl.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java index ac18f285cb7..dbd82938ce6 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpRequestInvocation.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java index b94e270eaf9..cfa50aa562a 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpResponseImpl.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java index 49d0551d0c5..6511f94fdae 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorSystemPropertiesTest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java index f35cbe1ae5e..79040343a64 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpConnectorTest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java index bfb4f9c062b..63f46c09e40 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java index acc9f128ee8..a9664e62066 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpResponseTest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java index 7e086d0b2a6..07641d0cec0 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/TestResponse.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java index df187a0e99c..8394f90e2d3 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnector.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java index 6711845946d..5ea87a54770 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpConnectorProvider.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java index a4e98a2b429..c4587dec7ab 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpRequest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java index 3a182b90e54..db3d7c054a9 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/SoapHttpResponse.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java index 9f0e5351e7a..446dfaea1aa 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorImpl.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java index 2341670c08d..d158cf6f0d0 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorLogger.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java index f16a8b87135..9d44c583c9c 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpConnectorProviderImpl.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java index 82b936bed45..d28018b56d4 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpLogger.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java index 47dbf77e8d8..9ccf32e1a32 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpRequestImpl.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java index 3fff4af390c..8067f000f95 100644 --- a/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java +++ b/connect/soap-http-client/src/main/java/org/camunda/connect/httpclient/soap/impl/SoapHttpResponseImpl.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java index b9ae1f46232..4981b09fcbb 100644 --- a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java +++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorSystemPropertiesTest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java index e71176ad614..bcde688fd18 100644 --- a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java +++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpConnectorTest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 diff --git a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java index 2b7ae134fed..e1ef43e77fa 100644 --- a/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java +++ b/connect/soap-http-client/src/test/java/org/camunda/connect/soap/httpclient/SoapHttpRequestTest.java @@ -1,8 +1,9 @@ /* - * Copyright © 2014-2018 camunda services GmbH and various authors (info@camunda.com) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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 From 6b7d6d481ada3ee857aad087d67ed21fd9827973 Mon Sep 17 00:00:00 2001 From: yanavasileva Date: Wed, 10 Apr 2019 14:41:33 +0200 Subject: [PATCH 119/200] chore(license): remove APPENDIX Related to CAM-10110 --- connect/LICENSE | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/connect/LICENSE b/connect/LICENSE index ad410e11302..d0381d6d04c 100644 --- a/connect/LICENSE +++ b/connect/LICENSE @@ -174,28 +174,3 @@ Apache License of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed 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. \ No newline at end of file From c190d770c066c3285b6e506075e8c99157191935 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Fri, 26 Apr 2019 11:37:50 +0200 Subject: [PATCH 120/200] chore(project): bump commons dependency to 1.7.1 related to CAM-9615 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 37cce8c61b5..fdd6e0c6849 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -32,7 +32,7 @@ org.camunda.commons camunda-commons-bom - 1.7.0 + 1.7.1 import pom From e16ffcdd98846dc47a2d0607aae4761973ab68e8 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Fri, 26 Apr 2019 11:47:38 +0200 Subject: [PATCH 121/200] [maven-release-plugin] prepare release 1.1.4 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index fa2446df290..6d6e8ea5e14 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.4-SNAPSHOT + 1.1.4 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.1.4 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 6d935c9e944..2e7cfa5f318 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.4-SNAPSHOT + 1.1.4 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 252e11e4bf3..1e5472b82d9 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.4-SNAPSHOT + 1.1.4 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 8706e79f929..14ed2582d8a 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.4-SNAPSHOT + 1.1.4 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index fdd6e0c6849..1370606e3f8 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.4-SNAPSHOT + 1.1.4 bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.1.4 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index dfb1ebf7038..e62af11ba49 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.4-SNAPSHOT + 1.1.4 camunda-connect-soap-http-client From e674d1b7cb6f528d74faf3b427e39a6fb2a017db Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Fri, 26 Apr 2019 11:47:44 +0200 Subject: [PATCH 122/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 6d6e8ea5e14..465bd2352d6 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.4 + 1.1.5-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.1.4 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 2e7cfa5f318..d4f37470fc5 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.4 + 1.1.5-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 1e5472b82d9..119939b54ba 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.4 + 1.1.5-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 14ed2582d8a..74da0064302 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.4 + 1.1.5-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 1370606e3f8..b89d787472b 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.4 + 1.1.5-SNAPSHOT bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.1.4 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index e62af11ba49..05894993e26 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.4 + 1.1.5-SNAPSHOT camunda-connect-soap-http-client From 17739486cf24fb0767f541f35950942fe565a516 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Fri, 26 Apr 2019 11:49:41 +0200 Subject: [PATCH 123/200] chore(project): set old version to 1.1.4 related to CAM-9615 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index b89d787472b..564dcf9181d 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,7 +14,7 @@ pom - 1.1.3 + 1.1.4 false From 5e824708df54a3250f25c5caa5abea9521c4b4a9 Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Fri, 19 Jul 2019 08:04:13 +0200 Subject: [PATCH 124/200] chore(pom): switch to bpm-release-parent Related to CAM-10528 --- connect/bom/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 465bd2352d6..5e98ad7d095 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -3,8 +3,8 @@ org.camunda - camunda-release-parent - 3.3 + camunda-bpm-release-parent + 0.2 From 6c81b733a66194f82553adca3060b4dad5ac4651 Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Fri, 19 Jul 2019 08:05:33 +0200 Subject: [PATCH 125/200] chore(pom): bump commons to 1.8.0 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 564dcf9181d..73a7d85db8f 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -32,7 +32,7 @@ org.camunda.commons camunda-commons-bom - 1.7.1 + 1.8.0 import pom From de68e7b5c4d0f6ab37a6434d0db0c5eaad030f9a Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 25 Jul 2019 11:05:29 +0200 Subject: [PATCH 126/200] [maven-release-plugin] prepare release 1.2.0 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 5e98ad7d095..2cd0e5c5caf 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.1.5-SNAPSHOT + 1.2.0 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.2.0 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index d4f37470fc5..ae93d5dccbd 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.5-SNAPSHOT + 1.2.0 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 119939b54ba..173563590f6 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.5-SNAPSHOT + 1.2.0 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 74da0064302..e8101b11f56 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.1.5-SNAPSHOT + 1.2.0 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 73a7d85db8f..a6261e37469 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.1.5-SNAPSHOT + 1.2.0 bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.2.0 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 05894993e26..2e39dcfa4b1 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.1.5-SNAPSHOT + 1.2.0 camunda-connect-soap-http-client From 2ddc8abd248cf744ee3c10fdac6ca76ed7d90bc3 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 25 Jul 2019 11:05:36 +0200 Subject: [PATCH 127/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 2cd0e5c5caf..f518cf2e38b 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.2.0 + 1.3.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.2.0 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index ae93d5dccbd..03096e00abf 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0 + 1.3.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 173563590f6..7c7b81d608f 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0 + 1.3.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index e8101b11f56..480ff43aa5b 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.2.0 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index a6261e37469..ac6f152047d 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.2.0 + 1.3.0-SNAPSHOT bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.2.0 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 2e39dcfa4b1..bbf9601d76e 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.0 + 1.3.0-SNAPSHOT camunda-connect-soap-http-client From 1be5c518b54dca6cd017673bacf2f396a827b9e1 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 25 Jul 2019 11:10:32 +0200 Subject: [PATCH 128/200] chore(test): adjust old version for backward compatibility test after release --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index ac6f152047d..369b648c1fb 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,7 +14,7 @@ pom - 1.1.4 + 1.2.0 false From 86515823ddbe4a92e5ad3cd7a2aa13ed4e5ae438 Mon Sep 17 00:00:00 2001 From: Miklas Boskamp Date: Tue, 6 Aug 2019 09:09:15 +0200 Subject: [PATCH 129/200] chore(dependency): Bump httpclient dependency to 4.5.9 Related to CAM-10711 PR (#19) --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 369b648c1fb..fe59d0afd76 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -40,7 +40,7 @@ org.apache.httpcomponents httpclient - 4.5.7 + 4.5.9 From 650b780e7bb0b367fd953c4700162eb57b4ba8ac Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 15 Aug 2019 08:22:10 +0200 Subject: [PATCH 130/200] [maven-release-plugin] prepare release 1.2.1 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index f518cf2e38b..144c6e50e5d 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.3.0-SNAPSHOT + 1.2.1 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.2.1 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 03096e00abf..5ee4574124f 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0-SNAPSHOT + 1.2.1 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 7c7b81d608f..35de38cf76e 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0-SNAPSHOT + 1.2.1 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 480ff43aa5b..1b6b9009929 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.3.0-SNAPSHOT + 1.2.1 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index fe59d0afd76..442145feedd 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.3.0-SNAPSHOT + 1.2.1 bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.2.1 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index bbf9601d76e..855fb4d6398 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0-SNAPSHOT + 1.2.1 camunda-connect-soap-http-client From 1e53fcb8749d2e660cc324d8a221da37af50f854 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 15 Aug 2019 08:22:16 +0200 Subject: [PATCH 131/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 144c6e50e5d..f518cf2e38b 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.2.1 + 1.3.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.2.1 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 5ee4574124f..03096e00abf 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.1 + 1.3.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 35de38cf76e..7c7b81d608f 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.1 + 1.3.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 1b6b9009929..480ff43aa5b 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.2.1 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 442145feedd..fe59d0afd76 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.2.1 + 1.3.0-SNAPSHOT bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.2.1 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 855fb4d6398..bbf9601d76e 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.1 + 1.3.0-SNAPSHOT camunda-connect-soap-http-client From ba2ab217fab9ea0540cc078420a2dfc40acef511 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 15 Aug 2019 08:24:21 +0200 Subject: [PATCH 132/200] chore(test): adjust old version for backward compatibility test after release --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index fe59d0afd76..9cd333ed90d 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,7 +14,7 @@ pom - 1.2.0 + 1.2.1 false From dac29cf164eeecb072017a3788e0f8afcee1276b Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Tue, 10 Sep 2019 14:48:08 +0200 Subject: [PATCH 133/200] chore(build): enable publishZipArtifactToCamundaOrg Related to CAM-10776 --- connect/.ci.cambpm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index 33c9d880bd3..b9c4c7e4fd3 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1,2 +1,2 @@ @Library("camunda-ci") _ -buildMavenAndDeployToMavenCentral([jdk:7, mvn:3.5, licenseCheck:true]) +buildMavenAndDeployToMavenCentral([jdk:7, mvn:3.5, licenseCheck:true, publishZipArtifactToCamundaOrg:true]) From ea7f6ff3128e83074742babab8b922befc0928cd Mon Sep 17 00:00:00 2001 From: Tassilo Weidner Date: Thu, 17 Oct 2019 09:56:34 +0200 Subject: [PATCH 134/200] chore(bom): update release-parent version to 1.0.0 related to CAM-10891 --- connect/bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index f518cf2e38b..36d5fc53102 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 0.2 + 1.0.0 From bb8baf48dded1c84d8245c5d9540cb586da5ef88 Mon Sep 17 00:00:00 2001 From: Tobias Metzke Date: Tue, 29 Oct 2019 09:26:56 +0100 Subject: [PATCH 135/200] chore(pom): bump commons to 1.8.2 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 9cd333ed90d..cc57e108867 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -32,7 +32,7 @@ org.camunda.commons camunda-commons-bom - 1.8.0 + 1.8.2 import pom From f8fdcc477aa896e9cd2b48df2b773fe7f0d17a72 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Tue, 29 Oct 2019 12:48:15 +0100 Subject: [PATCH 136/200] [maven-release-plugin] prepare release 1.2.2 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 36d5fc53102..37f3d121c02 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.3.0-SNAPSHOT + 1.2.2 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.2.2 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 03096e00abf..122fd094606 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0-SNAPSHOT + 1.2.2 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 7c7b81d608f..5608cf16cf3 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0-SNAPSHOT + 1.2.2 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 480ff43aa5b..11816f0a244 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.3.0-SNAPSHOT + 1.2.2 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index cc57e108867..5ec886654f1 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.3.0-SNAPSHOT + 1.2.2 bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.2.2 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index bbf9601d76e..d61346aa709 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0-SNAPSHOT + 1.2.2 camunda-connect-soap-http-client From 9115d0b5ba84aa27d48fde796f095de568442e79 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Tue, 29 Oct 2019 12:48:22 +0100 Subject: [PATCH 137/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 37f3d121c02..36d5fc53102 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.2.2 + 1.3.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.2.2 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 122fd094606..03096e00abf 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.2 + 1.3.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 5608cf16cf3..7c7b81d608f 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.2 + 1.3.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 11816f0a244..480ff43aa5b 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.2.2 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 5ec886654f1..cc57e108867 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.2.2 + 1.3.0-SNAPSHOT bom @@ -119,7 +119,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.2.2 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index d61346aa709..bbf9601d76e 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.2.2 + 1.3.0-SNAPSHOT camunda-connect-soap-http-client From 0fead6c9b70d5b2ad5e1708131fdee0645a07e23 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Tue, 29 Oct 2019 12:50:28 +0100 Subject: [PATCH 138/200] chore(test): adjust old version for backward compatibility test after release --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index cc57e108867..7005dd892ee 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,7 +14,7 @@ pom - 1.2.1 + 1.2.2 false From 60a78c8d3201ba963f73dac95843fe2b965e719d Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Wed, 6 Nov 2019 16:38:44 +0100 Subject: [PATCH 139/200] chore(project): add jira link to PRs related to CAM-11002 --- connect/.github/pr-badge.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 connect/.github/pr-badge.yml diff --git a/connect/.github/pr-badge.yml b/connect/.github/pr-badge.yml new file mode 100644 index 00000000000..b8778fe08c8 --- /dev/null +++ b/connect/.github/pr-badge.yml @@ -0,0 +1,4 @@ +label: "JIRA" +url: "https://app.camunda.com/jira/browse/$issuePrefix" +message: "$issuePrefix" +color: "0052CC" From cbce5e95d45d6470cfce0d293aeda4d6238d1b57 Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Mon, 9 Dec 2019 11:37:39 +0100 Subject: [PATCH 140/200] chore(project): move source code level to Java 8 * bump release parent * bump assertj and junit * adjust ci build file Related to CAM-11105 --- connect/.ci.cambpm | 2 +- connect/bom/pom.xml | 2 +- connect/pom.xml | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index b9c4c7e4fd3..51506eb6a00 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1,2 +1,2 @@ @Library("camunda-ci") _ -buildMavenAndDeployToMavenCentral([jdk:7, mvn:3.5, licenseCheck:true, publishZipArtifactToCamundaOrg:true]) +buildMavenAndDeployToMavenCentral([jdk:8, mvn:3.5, licenseCheck:true, publishZipArtifactToCamundaOrg:true]) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 36d5fc53102..b19ac45c1ba 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 1.0.0 + 1.1.0-SNAPSHOT diff --git a/connect/pom.xml b/connect/pom.xml index 7005dd892ee..07a8efef33f 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -32,7 +32,7 @@ org.camunda.commons camunda-commons-bom - 1.8.2 + 1.9.0-SNAPSHOT import pom @@ -46,13 +46,13 @@ junit junit - 4.11 + 4.12 org.assertj assertj-core - 1.5.0 + 2.9.1 From 0e45e3aac1068ca7f264df4d3ddbc124efd00c41 Mon Sep 17 00:00:00 2001 From: yanavasileva Date: Fri, 20 Dec 2019 11:00:54 +0100 Subject: [PATCH 141/200] chore(platform): bump release parent to 2.0.0 Related to CAM-11105 --- connect/bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index b19ac45c1ba..84eacdcb782 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 1.1.0-SNAPSHOT + 2.0.0 From 822711895d119648a51de197dac14eb90d1eccc6 Mon Sep 17 00:00:00 2001 From: yanavasileva Date: Tue, 7 Jan 2020 09:43:35 +0100 Subject: [PATCH 142/200] chore(project): bump commons to 1.9.0 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 07a8efef33f..f8960b6da40 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -32,7 +32,7 @@ org.camunda.commons camunda-commons-bom - 1.9.0-SNAPSHOT + 1.9.0 import pom From 1fcc5f4c16dc83e60b2b7419ab9c85d465a228f9 Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Tue, 7 Jan 2020 10:05:25 +0100 Subject: [PATCH 143/200] chore(project): disable the Java 8 doclint --- connect/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/connect/pom.xml b/connect/pom.xml index f8960b6da40..a70e3778a48 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -16,6 +16,7 @@ 1.2.2 false + -Xdoclint:none From 15f2da626c086ac19c3b32727b7c4caa1afdafbf Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Tue, 7 Jan 2020 10:12:39 +0100 Subject: [PATCH 144/200] [maven-release-plugin] prepare release 1.3.0 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 84eacdcb782..e36f94b4776 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.3.0-SNAPSHOT + 1.3.0 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.3.0 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 03096e00abf..eb3aebbb503 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0-SNAPSHOT + 1.3.0 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 7c7b81d608f..9b311d89a2f 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0-SNAPSHOT + 1.3.0 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 480ff43aa5b..a0678d7d299 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.3.0-SNAPSHOT + 1.3.0 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index a70e3778a48..b6ea6220df0 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.3.0-SNAPSHOT + 1.3.0 bom @@ -120,7 +120,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.3.0 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index bbf9601d76e..cefd5773f60 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0-SNAPSHOT + 1.3.0 camunda-connect-soap-http-client From b56cf51d6cec9d45be154fa5cf3fbbb9076c65ee Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Tue, 7 Jan 2020 10:12:45 +0100 Subject: [PATCH 145/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index e36f94b4776..9589c6f67b2 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.3.0 + 1.4.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.3.0 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index eb3aebbb503..59bfb872ae8 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0 + 1.4.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 9b311d89a2f..513d456db4a 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0 + 1.4.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index a0678d7d299..b521187356e 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.3.0 + 1.4.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index b6ea6220df0..52458c17978 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.3.0 + 1.4.0-SNAPSHOT bom @@ -120,7 +120,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.3.0 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index cefd5773f60..a37f7acb3c6 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.3.0 + 1.4.0-SNAPSHOT camunda-connect-soap-http-client From b1c468fc0b3d6e907f107a9ce275dfd733473f4e Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Tue, 7 Jan 2020 10:15:16 +0100 Subject: [PATCH 146/200] chore(test): adjust old version for backward compatibility test after release --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 52458c17978..babb1369edf 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,7 +14,7 @@ pom - 1.2.2 + 1.3.0 false -Xdoclint:none From 34a78f13f755c3f00deba5dd6582be36ec0e6e99 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Thu, 23 Jan 2020 10:59:04 +0100 Subject: [PATCH 147/200] Update NOTICE to 2020 --- connect/NOTICE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/NOTICE b/connect/NOTICE index a2935ed7f36..8aa0b8e02e1 100644 --- a/connect/NOTICE +++ b/connect/NOTICE @@ -1,3 +1,3 @@ Camunda -Copyright 2014-2019 Camunda Services GmbH +Copyright 2014-2020 Camunda Services GmbH From 73eba7ce9d85739ce00f63ecf28d3f78bb470887 Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Fri, 7 Feb 2020 12:44:49 +0100 Subject: [PATCH 148/200] chore(ci): add javadoc to maven run Related to CAM-11159 --- connect/.ci.cambpm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index 51506eb6a00..2ba22af26f8 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1,2 +1,8 @@ @Library("camunda-ci") _ -buildMavenAndDeployToMavenCentral([jdk:8, mvn:3.5, licenseCheck:true, publishZipArtifactToCamundaOrg:true]) +buildMavenAndDeployToMavenCentral([ + jdk:8, + mvn:3.5, + additionalMvnGoals:'javadoc:javadoc', + licenseCheck:true, + publishZipArtifactToCamundaOrg:true +]) From db4be4c23ef1fb62ac6cdb5a9cbe8587d482d165 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Wed, 1 Apr 2020 14:51:37 +0200 Subject: [PATCH 149/200] chore(project): delete pr badge file --- connect/.github/pr-badge.yml | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 connect/.github/pr-badge.yml diff --git a/connect/.github/pr-badge.yml b/connect/.github/pr-badge.yml deleted file mode 100644 index b8778fe08c8..00000000000 --- a/connect/.github/pr-badge.yml +++ /dev/null @@ -1,4 +0,0 @@ -label: "JIRA" -url: "https://app.camunda.com/jira/browse/$issuePrefix" -message: "$issuePrefix" -color: "0052CC" From 7c1ce94795c4feb77825c390c8022a394019926d Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Thu, 23 Apr 2020 10:02:51 +0200 Subject: [PATCH 150/200] chore(project): generate dependency BOM for connectors-all - needed for license book as we shade JARs into this artifact related to CAM-10419 --- connect/bom/pom.xml | 2 +- connect/connectors-all/pom.xml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 9589c6f67b2..04465847025 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 2.0.0 + 2.1.0-SNAPSHOT diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 59bfb872ae8..f95af63dd67 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -10,6 +10,12 @@ camunda-connect-connectors-all camunda BPM - connect - all connectors in one + + + false + + From 5a56ef0019e40e4f36d38239e7ec3610b2953b28 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Thu, 30 Apr 2020 10:07:52 +0200 Subject: [PATCH 151/200] chore(project): update to latest release parent related to CAM-10419 --- connect/bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 04465847025..db26b82210c 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 2.1.0-SNAPSHOT + 2.1.0 From 1beaf5f2dcb1d85b18a69fe0544437d49646d8e8 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 30 Apr 2020 10:23:30 +0200 Subject: [PATCH 152/200] [maven-release-plugin] prepare release 1.4.0 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index db26b82210c..1151d995c5e 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.4.0-SNAPSHOT + 1.4.0 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.4.0 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index f95af63dd67..b4e17512c62 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.4.0-SNAPSHOT + 1.4.0 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 513d456db4a..5cb6a7840e3 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.4.0-SNAPSHOT + 1.4.0 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index b521187356e..ddfc0322b2d 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.4.0-SNAPSHOT + 1.4.0 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index babb1369edf..7bc212472e9 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.4.0-SNAPSHOT + 1.4.0 bom @@ -120,7 +120,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.4.0 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index a37f7acb3c6..c63b496aa73 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.4.0-SNAPSHOT + 1.4.0 camunda-connect-soap-http-client From a2523ea954439b83a3afd7f7f4dc11fbedae3739 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 30 Apr 2020 10:23:40 +0200 Subject: [PATCH 153/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 1151d995c5e..1be47cfb445 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.4.0 + 1.5.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.4.0 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index b4e17512c62..4e1167aae62 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.4.0 + 1.5.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 5cb6a7840e3..3aa19b79cfe 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.4.0 + 1.5.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index ddfc0322b2d..4eb1299a6f1 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.4.0 + 1.5.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 7bc212472e9..0af2f0f8fb1 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.4.0 + 1.5.0-SNAPSHOT bom @@ -120,7 +120,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.4.0 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index c63b496aa73..c2e9f6463fa 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.4.0 + 1.5.0-SNAPSHOT camunda-connect-soap-http-client From 0c39f87858581d72da9fff526a15db91a7e03093 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Thu, 30 Apr 2020 10:29:48 +0200 Subject: [PATCH 154/200] chore(test): adjust old version for backward compatibility test after release --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 0af2f0f8fb1..24c1fa36ca2 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,7 +14,7 @@ pom - 1.3.0 + 1.4.0 false -Xdoclint:none From 03bd872d4d2eafe9469da82bc8fcbc57403b4e8f Mon Sep 17 00:00:00 2001 From: Martin Stamm Date: Mon, 13 Jul 2020 15:04:25 +0200 Subject: [PATCH 155/200] chore(community): add github action related to CAMTEAM-82 --- connect/.github/workflows/main.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 connect/.github/workflows/main.yml diff --git a/connect/.github/workflows/main.yml b/connect/.github/workflows/main.yml new file mode 100644 index 00000000000..6c6799a025f --- /dev/null +++ b/connect/.github/workflows/main.yml @@ -0,0 +1,13 @@ +on: + pull_request: + types: [opened] + +jobs: + comment_job: + runs-on: ubuntu-latest + name: Label Pull requests + steps: + - name: Comment + uses: camunda/camunda-comment-action@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From c24486f3422349b10f458af7bea065d2cae9018e Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Tue, 4 Aug 2020 14:11:15 +0200 Subject: [PATCH 156/200] chore(project): bump release parent 2.2.0 - consumes updated maven-shade-plugin configuration so that third-party NOTICE files are concatenated related to CAM-12182 --- connect/bom/pom.xml | 2 +- connect/connectors-all/pom.xml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 1be47cfb445..020bd637b71 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 2.1.0 + 2.2.0 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 4e1167aae62..c66e85acb26 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -35,7 +35,6 @@ org.apache.maven.plugins maven-shade-plugin - 2.3 package From 78c8f1cb2f0029ae12d1a6563100ce5089d80e55 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Fri, 14 Aug 2020 16:53:56 +0200 Subject: [PATCH 157/200] chore(readme): reference platform contribution guide related to CAM-12288 --- connect/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/connect/README.md b/connect/README.md index 1977fcbbb16..d9977d3a9a8 100644 --- a/connect/README.md +++ b/connect/README.md @@ -24,8 +24,8 @@ process engine and standalone usage via API. Please see the [official documentat # Contributing -camunda Connect is licensed under the Apache 2.0 License. Check [CONTRIBUTING.md][] -for guidelines about how to contribute. +Have a look at our [contribution guide](https://github.com/camunda/camunda-bpm-platform/blob/master/CONTRIBUTING.md) for how to contribute to this repository. + # License: From ec7f63fecfa6b6765c8a438c40688c2b064d5e0f Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Thu, 20 Aug 2020 18:01:39 +0200 Subject: [PATCH 158/200] chore(project): bump release parent to 2.2.1 related to CAM-12182 --- connect/bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 020bd637b71..dfbe8ee945b 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 2.2.0 + 2.2.1 From 5dae49ccb45d64caac5f0109fcd805cd554b1c7e Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Thu, 17 Sep 2020 17:00:48 +0200 Subject: [PATCH 159/200] feat(connect): extend request with configuration options Related to CAM-12458 --- connect/README.md | 8 +- connect/http-client/pom.xml | 7 + .../connect/httpclient/HttpBaseRequest.java | 21 + .../impl/AbstractHttpConnector.java | 15 + .../httpclient/impl/AbstractHttpRequest.java | 29 ++ .../httpclient/impl/HttpConnectorLogger.java | 8 + .../httpclient/impl/RequestConfigOption.java | 147 ++++++ .../httpclient/impl/util/ParseUtil.java | 42 ++ .../httpclient/HttpRequestConfigTest.java | 473 ++++++++++++++++++ .../connect/httpclient/HttpRequestTest.java | 31 ++ 10 files changed, 777 insertions(+), 4 deletions(-) create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/RequestConfigOption.java create mode 100644 connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/util/ParseUtil.java create mode 100644 connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestConfigTest.java diff --git a/connect/README.md b/connect/README.md index d9977d3a9a8..dbacf64223d 100644 --- a/connect/README.md +++ b/connect/README.md @@ -2,10 +2,10 @@ camunda-connect ===============

- Home | - Documentation | - Forum | - Issues | + Home | + Documentation | + Forum | + Issues | License | Contribute

diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 4eb1299a6f1..6983c54edc0 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -49,6 +49,13 @@ test
+ + org.mockito + mockito-core + 1.9.5 + test + +
diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java index 45c545f1441..945572987f0 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/HttpBaseRequest.java @@ -29,6 +29,8 @@ public interface HttpBaseRequest, R extends Conn String PARAM_NAME_REQUEST_PAYLOAD = "payload"; String HEADER_CONTENT_TYPE = "Content-Type"; + String PARAM_NAME_REQUEST_CONFIG = "request-config"; + /** * Set the url of this request. * @@ -99,4 +101,23 @@ public interface HttpBaseRequest, R extends Conn * @return the method of this request or null if not set */ String getMethod(); + + /** + * @return the HTTP configuration options of this request or null if non set + */ + Map getConfigOptions(); + + /** + * @return the HTTP configuration option value of this request or null if non set + */ + Object getConfigOption(String field); + + /** + * Set a HTTP request configuration option for this request. + * + * @param field HTTP request configuration name + * @param value HTTP request configuration value + * @return this request + */ + Q configOption(String field, Object value); } diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java index 3b0a78a5e5c..7b1f7ae276c 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpConnector.java @@ -20,6 +20,8 @@ import java.nio.charset.Charset; import java.util.Map; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.config.RequestConfig.Builder; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpDelete; import org.apache.http.client.methods.HttpEntityEnclosingRequestBase; @@ -36,6 +38,7 @@ import org.apache.http.impl.client.HttpClients; import org.camunda.connect.httpclient.HttpBaseRequest; import org.camunda.connect.httpclient.HttpResponse; +import org.camunda.connect.httpclient.impl.util.ParseUtil; import org.camunda.connect.impl.AbstractConnector; public abstract class AbstractHttpConnector, R extends HttpResponse> extends AbstractConnector { @@ -91,6 +94,8 @@ public R execute(Q request) { protected T createHttpRequest(Q request) { T httpRequest = createHttpRequestBase(request); + applyConfig(httpRequest, request.getConfigOptions()); + applyHeaders(httpRequest, request.getHeaders()); applyPayload(httpRequest, request); @@ -155,4 +160,14 @@ protected boolean httpMethodSupportsPayload(T httpRe return httpRequest instanceof HttpEntityEnclosingRequestBase; } + protected void applyConfig(T httpRequest, Map configOptions) { + Builder configBuilder = RequestConfig.custom(); + if (configOptions != null && !configOptions.isEmpty()) { + ParseUtil.parseConfigOptions(configOptions, configBuilder); + } + RequestConfig requestConfig = configBuilder.build(); + httpRequest.setConfig(requestConfig); + } + + } diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java index a7c0a3a5089..51db6c762cb 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/AbstractHttpRequest.java @@ -142,4 +142,33 @@ public Q trace() { return method(HttpTrace.METHOD_NAME); } + + public Map getConfigOptions() { + return getRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_CONFIG); + } + + public Object getConfigOption(String field) { + Map config = getConfigOptions(); + if (config != null) { + return config.get(field); + } + return null; + } + + @SuppressWarnings("unchecked") + public Q configOption(String field, Object value) { + if (field == null || field.isEmpty() || value == null) { + LOG.ignoreConfig(field, value); + } else { + Map config = getConfigOptions(); + + if (config == null) { + config = new HashMap(); + setRequestParameter(HttpBaseRequest.PARAM_NAME_REQUEST_CONFIG, config); + } + config.put(field, value); + } + + return (Q) this; + } } diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java index f02e25c45a9..8cd9a75e6d2 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/HttpConnectorLogger.java @@ -51,4 +51,12 @@ public ConnectorRequestException unableToExecuteRequest(Exception cause) { return new ConnectorRequestException(exceptionMessage("007", "Unable to execute HTTP request"), cause); } + public ConnectorRequestException invalidConfigurationOption(String optionName, Exception cause) { + return new ConnectorRequestException(exceptionMessage("008", "Invalid value for request configuration option: {}", optionName), cause); + } + + public void ignoreConfig(String field, Object value) { + logInfo("009", "Ignoring request configuration option with name '{}' and value '{}'", field, value); + } + } diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/RequestConfigOption.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/RequestConfigOption.java new file mode 100644 index 00000000000..ad813ffd2ae --- /dev/null +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/RequestConfigOption.java @@ -0,0 +1,147 @@ +/* + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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.camunda.connect.httpclient.impl; + +import java.net.InetAddress; +import java.util.Collection; + +import org.apache.http.HttpHost; +import org.apache.http.client.config.RequestConfig.Builder; + +public enum RequestConfigOption { + + AUTHENTICATION_ENABLED("authentication-enabled") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setAuthenticationEnabled((boolean) value); + } + }, + CIRCULAR_REDIRECTS_ALLOWED("circular-redirects-allowed") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setCircularRedirectsAllowed((boolean) value); + } + }, + CONNECTION_TIMEOUT("connection-timeout") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setConnectTimeout((int) value); + } + }, + CONNECTION_REQUEST_TIMEOUT("connection-request-timeout") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setConnectionRequestTimeout((int) value); + } + }, + CONTENT_COMPRESSION_ENABLED("content-compression-enabled") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setContentCompressionEnabled((boolean) value); + } + }, + COOKIE_SPEC("cookie-spec") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setCookieSpec((String) value); + } + }, + DECOMPRESSION_ENABLED("decompression-enabled") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setDecompressionEnabled((boolean) value); + } + }, + EXPECT_CONTINUE_ENABLED("expect-continue-enabled") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setExpectContinueEnabled((boolean) value); + } + }, + LOCAL_ADDRESS("local-address") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setLocalAddress((InetAddress) value); + } + }, + MAX_REDIRECTS("max-redirects") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setMaxRedirects((int) value); + } + }, + NORMALIZE_URI("normalize-uri") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setNormalizeUri((boolean) value); + } + }, + PROXY("proxy") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setProxy((HttpHost) value); + } + }, + PROXY_PREFERRED_AUTH_SCHEMES("proxy-preferred-auth-scheme") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setProxyPreferredAuthSchemes((Collection) value); + } + }, + REDIRECTS_ENABLED("relative-redirects-allowed") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setRedirectsEnabled((boolean) value); + } + }, + RELATIVE_REDIRECTS_ALLOWED("relative-redirects-allowed") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setRelativeRedirectsAllowed((boolean) value); + } + }, + SOCKET_TIMEOUT("socket-timeout") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setSocketTimeout((int) value); + } + }, + STALE_CONNECTION_CHECK_ENABLED("stale-connection-check-enabled") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setStaleConnectionCheckEnabled((boolean) value); + } + }, + TARGET_PREFERRED_AUTH_SCHEMES("target-preferred-auth-schemes") { + @Override + public void apply(Builder configBuilder, Object value) { + configBuilder.setTargetPreferredAuthSchemes((Collection) value); + } + }; + + private String name; + + private RequestConfigOption(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public abstract void apply(Builder configBuilder, Object value); +} diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/util/ParseUtil.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/util/ParseUtil.java new file mode 100644 index 00000000000..9cd0293de55 --- /dev/null +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/util/ParseUtil.java @@ -0,0 +1,42 @@ +/* + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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.camunda.connect.httpclient.impl.util; + +import java.util.Map; + +import org.apache.http.client.config.RequestConfig.Builder; +import org.camunda.connect.httpclient.impl.RequestConfigOption; +import org.camunda.connect.httpclient.impl.HttpConnectorLogger; +import org.camunda.connect.httpclient.impl.HttpLogger; + +public class ParseUtil { + + protected static HttpConnectorLogger LOG = HttpLogger.HTTP_LOGGER; + + public static void parseConfigOptions(Map configOptions, Builder configBuilder) { + for (RequestConfigOption option : RequestConfigOption.values()) { + try { + if (configOptions.containsKey(option.getName())) { + option.apply(configBuilder, configOptions.get(option.getName())); + } + } catch (ClassCastException e) { + throw LOG.invalidConfigurationOption(option.getName(), e); + } + } + } + +} diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestConfigTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestConfigTest.java new file mode 100644 index 00000000000..fb9607b6040 --- /dev/null +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestConfigTest.java @@ -0,0 +1,473 @@ +/* + * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH + * under one or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information regarding copyright + * ownership. Camunda licenses this file to you under the Apache License, + * Version 2.0; 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.camunda.connect.httpclient; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.AUTHENTICATION_ENABLED; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.CIRCULAR_REDIRECTS_ALLOWED; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.CONNECTION_REQUEST_TIMEOUT; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.CONNECTION_TIMEOUT; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.CONTENT_COMPRESSION_ENABLED; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.COOKIE_SPEC; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.DECOMPRESSION_ENABLED; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.EXPECT_CONTINUE_ENABLED; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.LOCAL_ADDRESS; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.MAX_REDIRECTS; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.NORMALIZE_URI; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.PROXY; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.PROXY_PREFERRED_AUTH_SCHEMES; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.REDIRECTS_ENABLED; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.RELATIVE_REDIRECTS_ALLOWED; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.SOCKET_TIMEOUT; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.STALE_CONNECTION_CHECK_ENABLED; +import static org.camunda.connect.httpclient.impl.RequestConfigOption.TARGET_PREFERRED_AUTH_SCHEMES; + +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.Map; + +import org.apache.http.HttpHost; +import org.apache.http.client.HttpClient; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.config.RequestConfig.Builder; +import org.apache.http.conn.ConnectTimeoutException; +import org.camunda.connect.ConnectorRequestException; +import org.camunda.connect.httpclient.impl.HttpConnectorImpl; +import org.camunda.connect.httpclient.impl.util.ParseUtil; +import org.junit.Before; +import org.junit.Test; +import org.mockito.internal.util.reflection.Whitebox; + +public class HttpRequestConfigTest { + + public static final String EXAMPLE_URL = "http://camunda.org/example"; + public static final String EXAMPLE_CONTENT_TYPE = "application/json"; + public static final String EXAMPLE_PAYLOAD = "camunda"; + + protected HttpConnector connector; + + @Before + public void createConnector() { + connector = new HttpConnectorImpl(); + } + + @Test + public void shouldParseAuthenticationEnabled() { + // given + HttpRequest request = connector.createRequest() + .configOption(AUTHENTICATION_ENABLED.getName(), false); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.isAuthenticationEnabled()).isFalse(); + } + + @Test + public void shouldParseCircularRedirectsAllowed() { + // given + HttpRequest request = connector.createRequest() + .configOption(CIRCULAR_REDIRECTS_ALLOWED.getName(), true); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.isCircularRedirectsAllowed()).isTrue(); + } + + @Test + public void shouldParseConnectionTimeout() { + // given + HttpRequest request = connector.createRequest() + .configOption(CONNECTION_TIMEOUT.getName(), -2); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.getConnectTimeout()).isEqualTo(-2); + } + + @Test + public void shouldParseConnectionRequestTimeout() { + // given + HttpRequest request = connector.createRequest() + .configOption(CONNECTION_REQUEST_TIMEOUT.getName(), -2); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.getConnectionRequestTimeout()).isEqualTo(-2); + } + + @Test + public void shouldParseContentCompressionEnabled() { + // given + HttpRequest request = connector.createRequest() + .configOption(CONTENT_COMPRESSION_ENABLED.getName(), false); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.isContentCompressionEnabled()).isFalse(); + } + + @Test + public void shouldParseCookieSpec() { + // given + HttpRequest request = connector.createRequest() + .configOption(COOKIE_SPEC.getName(), "test"); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.getCookieSpec()).isEqualTo("test"); + } + + @Test + public void shouldParseDecompressionEnabled() { + // given + HttpRequest request = connector.createRequest() + .configOption(DECOMPRESSION_ENABLED.getName(), false); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.isDecompressionEnabled()).isFalse(); + } + + @Test + public void shouldParseExpectContinueEnabled() { + // given + HttpRequest request = connector.createRequest() + .configOption(EXPECT_CONTINUE_ENABLED.getName(), true); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.isExpectContinueEnabled()).isTrue(); + } + + @Test + public void shouldParseLocalAddress() throws UnknownHostException { + // given + InetAddress testAddress = InetAddress.getByName("127.0.0.1"); + HttpRequest request = connector.createRequest() + .configOption(LOCAL_ADDRESS.getName(), testAddress); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.getLocalAddress()).isEqualTo(testAddress); + } + + @Test + public void shouldParseMaxRedirects() { + // given + HttpRequest request = connector.createRequest() + .configOption(MAX_REDIRECTS.getName(), -2); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.getMaxRedirects()).isEqualTo(-2); + } + + @Test + public void shouldParseNormalizeUri() { + // given + HttpRequest request = connector.createRequest() + .configOption(NORMALIZE_URI.getName(), false); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.isNormalizeUri()).isFalse(); + } + + @Test + public void shouldParseProxy() { + // given + HttpHost testHost = new HttpHost("test"); + HttpRequest request = connector.createRequest() + .configOption(PROXY.getName(), testHost); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.getProxy()).isEqualTo(testHost); + } + + @Test + public void shouldParseProxyPreferredAuthSchemes() { + // given + ArrayList testArray = new ArrayList(); + HttpRequest request = connector.createRequest() + .configOption(PROXY_PREFERRED_AUTH_SCHEMES.getName(), testArray); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.getProxyPreferredAuthSchemes()).isEqualTo(testArray); + } + + @Test + public void shouldParseRedirectsEnabled() { + // given + HttpRequest request = connector.createRequest() + .configOption(REDIRECTS_ENABLED.getName(), false); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.isRedirectsEnabled()).isFalse(); + } + + @Test + public void shouldParseRelativeRedirectsAllowed() { + // given + HttpRequest request = connector.createRequest() + .configOption(RELATIVE_REDIRECTS_ALLOWED.getName(), false); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.isRelativeRedirectsAllowed()).isFalse(); + } + + + @Test + public void shouldParseSocketTimeout() { + // given + HttpRequest request = connector.createRequest() + .configOption(SOCKET_TIMEOUT.getName(), -2); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.getSocketTimeout()).isEqualTo(-2); + } + + + @Test + public void shouldParseStaleConnectionCheckEnabled() { + // given + HttpRequest request = connector.createRequest() + .configOption(STALE_CONNECTION_CHECK_ENABLED.getName(), true); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.isStaleConnectionCheckEnabled()).isTrue(); + } + + + @Test + public void shouldParseTargetPreferredAuthSchemes() { + // given + ArrayList testArray = new ArrayList(); + HttpRequest request = connector.createRequest() + .configOption(TARGET_PREFERRED_AUTH_SCHEMES.getName(), testArray); + Map configOptions = request.getConfigOptions(); + + Builder configBuilder = RequestConfig.custom(); + ParseUtil.parseConfigOptions(configOptions, configBuilder); + + // when + RequestConfig config = configBuilder.build(); + + // then + assertThat(config.getTargetPreferredAuthSchemes()).isEqualTo(testArray); + } + + @Test + public void shouldNotChangeDefaultConfig() { + // given + HttpClient client = (HttpClient) Whitebox.getInternalState(connector, "httpClient"); + connector.createRequest().url(EXAMPLE_URL).get() + .configOption(CONNECTION_TIMEOUT.getName(), -2) + .configOption(SOCKET_TIMEOUT.getName(), -2) + .configOption(CONNECTION_REQUEST_TIMEOUT.getName(), -2) + .configOption(MAX_REDIRECTS.getName(), 0) + .execute(); + + // when + RequestConfig config = (RequestConfig) Whitebox.getInternalState(client, "defaultConfig"); + + // then + assertThat(config.getMaxRedirects()).isEqualTo(50); + assertThat(config.getConnectTimeout()).isEqualTo(-1); + assertThat(config.getConnectionRequestTimeout()).isEqualTo(-1); + assertThat(config.getSocketTimeout()).isEqualTo(-1); + } + + @Test + public void shouldThrowTimeoutException() { + try { + // when + connector.createRequest().url(EXAMPLE_URL).get() + .configOption(CONNECTION_TIMEOUT.getName(), 1) + .execute(); + } catch (ConnectorRequestException e) { + // then + assertThat(e).hasMessageContaining("Unable to execute HTTP request"); + assertThat(e).hasCauseExactlyInstanceOf(ConnectTimeoutException.class); + } + } + + @Test + public void shouldThrowClassCastExceptionStringToInt() { + try { + // when + connector.createRequest().url(EXAMPLE_URL).get() + .configOption(CONNECTION_TIMEOUT.getName(), "-1") + .execute(); + } catch (ConnectorRequestException e) { + // then + assertThat(e).hasMessageContaining("Invalid value for request configuration option: " + CONNECTION_TIMEOUT.getName()); + assertThat(e).hasCause(new ClassCastException("java.lang.String cannot be cast to java.lang.Integer")); + } + } + + @Test + public void shouldThrowClassCastExceptionStringToBoolean() { + try { + // when + connector.createRequest().url(EXAMPLE_URL).get() + .configOption(AUTHENTICATION_ENABLED.getName(), "true") + .execute(); + } catch (ConnectorRequestException e) { + // then + assertThat(e).hasMessageContaining("Invalid value for request configuration option: " + AUTHENTICATION_ENABLED.getName()); + assertThat(e).hasCause(new ClassCastException("java.lang.String cannot be cast to java.lang.Boolean")); + } + } + + @Test + public void shouldThrowClassCastExceptionStringToHttpHost() { + try { + // when + connector.createRequest().url(EXAMPLE_URL).get() + .configOption(PROXY.getName(), "proxy") + .execute(); + } catch (ConnectorRequestException e) { + // then + assertThat(e).hasMessageContaining("Invalid value for request configuration option: " + PROXY.getName()); + assertThat(e).hasCause(new ClassCastException("java.lang.String cannot be cast to org.apache.http.HttpHost")); + } + } + + @Test + public void shouldThrowClassCastExceptionIntToHttpHost() { + try { + // when + connector.createRequest().url(EXAMPLE_URL).get() + .configOption(PROXY_PREFERRED_AUTH_SCHEMES.getName(), 0) + .execute(); + } catch (ConnectorRequestException e) { + // then + assertThat(e).hasMessageContaining("Invalid value for request configuration option: " + PROXY_PREFERRED_AUTH_SCHEMES.getName()); + assertThat(e).hasCause(new ClassCastException("java.lang.Integer cannot be cast to java.util.Collection")); + } + } + +} diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java index 63f46c09e40..08cc564f320 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestTest.java @@ -160,4 +160,35 @@ public void setRequestParameters() { .containsEntry("number", 42); } + @Test + public void setConfigOption() { + Object value = new Object(); + HttpRequest request = connector.createRequest() + .configOption("object-field", value) + .configOption("int-field", 15) + .configOption("long-field", 15l) + .configOption("boolean-field", true) + .configOption("string-field", "string-value"); + + assertThat(request.getConfigOption("object-field")).isEqualTo(value); + assertThat(request.getConfigOption("int-field")).isEqualTo(15); + assertThat(request.getConfigOption("long-field")).isEqualTo(15l); + assertThat(request.getConfigOption("boolean-field")).isEqualTo(true); + assertThat(request.getConfigOption("string-field")).isEqualTo("string-value"); + } + + @Test + public void shouldIgnoreConfigWithNullOrEmptyNameOrNullValue() { + HttpRequest request = connector.createRequest(); + + request.configOption(null, "test"); + assertThat(request.getConfigOptions()).isNull(); + + request.configOption("", "test"); + assertThat(request.getConfigOptions()).isNull(); + + request.configOption("test", null); + assertThat(request.getConfigOptions()).isNull(); + } + } From 84cbf8c3ccb3f1225eefca67806c990efb0acc5a Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Mon, 21 Sep 2020 09:54:59 +0200 Subject: [PATCH 160/200] chore(connect): update clirr-maven-plugin version Related to CAM-12458 --- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/soap-http-client/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 3aa19b79cfe..d1e0aae6529 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -72,7 +72,7 @@ org.codehaus.mojo clirr-maven-plugin - 2.7 + 2.8 ${connect.version.old} true diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 6983c54edc0..b1c6c36f2d0 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -88,7 +88,7 @@ org.codehaus.mojo clirr-maven-plugin - 2.7 + 2.8 ${connect.version.old} true diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index c2e9f6463fa..a167c7f9e65 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -74,7 +74,7 @@ org.codehaus.mojo clirr-maven-plugin - 2.7 + 2.8 ${connect.version.old} true From 139033ebd7b000bb8085159ce2cabdb7680a4dd1 Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Mon, 21 Sep 2020 09:38:06 +0200 Subject: [PATCH 161/200] improve(connect): improve request configuration option enum Related to CAM-12458 --- .../httpclient/impl/RequestConfigOption.java | 154 +++++------------- 1 file changed, 44 insertions(+), 110 deletions(-) diff --git a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/RequestConfigOption.java b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/RequestConfigOption.java index ad813ffd2ae..ab38e78532e 100644 --- a/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/RequestConfigOption.java +++ b/connect/http-client/src/main/java/org/camunda/connect/httpclient/impl/RequestConfigOption.java @@ -18,130 +18,64 @@ import java.net.InetAddress; import java.util.Collection; +import java.util.function.BiConsumer; import org.apache.http.HttpHost; import org.apache.http.client.config.RequestConfig.Builder; public enum RequestConfigOption { - AUTHENTICATION_ENABLED("authentication-enabled") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setAuthenticationEnabled((boolean) value); - } - }, - CIRCULAR_REDIRECTS_ALLOWED("circular-redirects-allowed") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setCircularRedirectsAllowed((boolean) value); - } - }, - CONNECTION_TIMEOUT("connection-timeout") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setConnectTimeout((int) value); - } - }, - CONNECTION_REQUEST_TIMEOUT("connection-request-timeout") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setConnectionRequestTimeout((int) value); - } - }, - CONTENT_COMPRESSION_ENABLED("content-compression-enabled") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setContentCompressionEnabled((boolean) value); - } - }, - COOKIE_SPEC("cookie-spec") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setCookieSpec((String) value); - } - }, - DECOMPRESSION_ENABLED("decompression-enabled") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setDecompressionEnabled((boolean) value); - } - }, - EXPECT_CONTINUE_ENABLED("expect-continue-enabled") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setExpectContinueEnabled((boolean) value); - } - }, - LOCAL_ADDRESS("local-address") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setLocalAddress((InetAddress) value); - } - }, - MAX_REDIRECTS("max-redirects") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setMaxRedirects((int) value); - } - }, - NORMALIZE_URI("normalize-uri") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setNormalizeUri((boolean) value); - } - }, - PROXY("proxy") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setProxy((HttpHost) value); - } - }, - PROXY_PREFERRED_AUTH_SCHEMES("proxy-preferred-auth-scheme") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setProxyPreferredAuthSchemes((Collection) value); - } - }, - REDIRECTS_ENABLED("relative-redirects-allowed") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setRedirectsEnabled((boolean) value); - } - }, - RELATIVE_REDIRECTS_ALLOWED("relative-redirects-allowed") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setRelativeRedirectsAllowed((boolean) value); - } - }, - SOCKET_TIMEOUT("socket-timeout") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setSocketTimeout((int) value); - } - }, - STALE_CONNECTION_CHECK_ENABLED("stale-connection-check-enabled") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setStaleConnectionCheckEnabled((boolean) value); - } - }, - TARGET_PREFERRED_AUTH_SCHEMES("target-preferred-auth-schemes") { - @Override - public void apply(Builder configBuilder, Object value) { - configBuilder.setTargetPreferredAuthSchemes((Collection) value); - } - }; + AUTHENTICATION_ENABLED("authentication-enabled", + (builder, value) -> builder.setAuthenticationEnabled((boolean) value)), + CIRCULAR_REDIRECTS_ALLOWED("circular-redirects-allowed", + (builder, value) -> builder.setCircularRedirectsAllowed((boolean) value)), + CONNECTION_TIMEOUT("connection-timeout", + (builder, value) -> builder.setConnectTimeout((int) value)), + CONNECTION_REQUEST_TIMEOUT("connection-request-timeout", + (builder, value) -> builder.setConnectionRequestTimeout((int) value)), + CONTENT_COMPRESSION_ENABLED("content-compression-enabled", + (builder, value) -> builder.setContentCompressionEnabled((boolean) value)), + COOKIE_SPEC("cookie-spec", + (builder, value) -> builder.setCookieSpec((String) value)), + DECOMPRESSION_ENABLED("decompression-enabled", + (builder, value) -> builder.setDecompressionEnabled((boolean) value)), + EXPECT_CONTINUE_ENABLED("expect-continue-enabled", + (builder, value) -> builder.setExpectContinueEnabled((boolean) value)), + LOCAL_ADDRESS("local-address", + (builder, value) -> builder.setLocalAddress((InetAddress) value)), + MAX_REDIRECTS("max-redirects", + (builder, value) -> builder.setMaxRedirects((int) value)), + NORMALIZE_URI("normalize-uri", + (builder, value) -> builder.setNormalizeUri((boolean) value)), + PROXY("proxy", + (builder, value) -> builder.setProxy((HttpHost) value)), + PROXY_PREFERRED_AUTH_SCHEMES("proxy-preferred-auth-scheme", + (builder, value) -> builder.setProxyPreferredAuthSchemes((Collection) value)), + REDIRECTS_ENABLED("relative-redirects-allowed", + (builder, value) -> builder.setRedirectsEnabled((boolean) value)), + RELATIVE_REDIRECTS_ALLOWED("relative-redirects-allowed", + (builder, value) -> builder.setRelativeRedirectsAllowed((boolean) value)), + SOCKET_TIMEOUT("socket-timeout", + (builder, value) -> builder.setSocketTimeout((int) value)), + STALE_CONNECTION_CHECK_ENABLED("stale-connection-check-enabled", + (builder, value) -> builder.setStaleConnectionCheckEnabled((boolean) value)), + TARGET_PREFERRED_AUTH_SCHEMES("target-preferred-auth-schemes", + (builder, value) -> builder.setTargetPreferredAuthSchemes((Collection) value)); private String name; + private BiConsumer consumer; - private RequestConfigOption(String name) { + private RequestConfigOption(String name, BiConsumer consumer) { this.name = name; + this.consumer = consumer; } public String getName() { return name; } - public abstract void apply(Builder configBuilder, Object value); + public void apply(Builder configBuilder, Object value) { + this.consumer.accept(configBuilder, value); + } + } From 68a37439a7e6e4328a19db235d8eba06a7e86ede Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Fri, 25 Sep 2020 11:09:04 +0200 Subject: [PATCH 162/200] [maven-release-plugin] prepare release 1.5.0 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index dfbe8ee945b..274ebe8a25a 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.5.0-SNAPSHOT + 1.5.0 camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.5.0 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index c66e85acb26..5fdb6a28af9 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.5.0-SNAPSHOT + 1.5.0 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index d1e0aae6529..fdba4b3b991 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.5.0-SNAPSHOT + 1.5.0 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index b1c6c36f2d0..b82a2526789 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.5.0-SNAPSHOT + 1.5.0 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 24c1fa36ca2..ccee2bc7093 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.5.0-SNAPSHOT + 1.5.0 bom @@ -120,7 +120,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.5.0 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index a167c7f9e65..5cd8702634d 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.5.0-SNAPSHOT + 1.5.0 camunda-connect-soap-http-client From 839bb0a3abebdf61e4d7b73121ae294862f19e4b Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Fri, 25 Sep 2020 11:09:12 +0200 Subject: [PATCH 163/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 274ebe8a25a..25753ad27af 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.5.0 + 1.6.0-SNAPSHOT camunda BPM - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.5.0 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 5fdb6a28af9..4e4ebcc495a 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.5.0 + 1.6.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index fdba4b3b991..f3661b7e2de 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.5.0 + 1.6.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index b82a2526789..409b4db9e07 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.5.0 + 1.6.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index ccee2bc7093..e214deac374 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.5.0 + 1.6.0-SNAPSHOT bom @@ -120,7 +120,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.5.0 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 5cd8702634d..93a3a3f8510 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.5.0 + 1.6.0-SNAPSHOT camunda-connect-soap-http-client From 0b804a0a2ec7e8bba93637a6d6fd21fb7ac3fb7c Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Fri, 25 Sep 2020 11:11:24 +0200 Subject: [PATCH 164/200] chore(test): adjust old version for backward compatibility test after release --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index e214deac374..79095fe01fc 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,7 +14,7 @@ pom - 1.4.0 + 1.5.0 false -Xdoclint:none From 06f4ed76c4f0cef0d8cb87a962c12ff2333c7ce4 Mon Sep 17 00:00:00 2001 From: Martin Stamm Date: Fri, 23 Oct 2020 09:09:32 +0200 Subject: [PATCH 165/200] chore(community): remove broken github action related to CAMTEAM-82 --- connect/.github/workflows/main.yml | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 connect/.github/workflows/main.yml diff --git a/connect/.github/workflows/main.yml b/connect/.github/workflows/main.yml deleted file mode 100644 index 6c6799a025f..00000000000 --- a/connect/.github/workflows/main.yml +++ /dev/null @@ -1,13 +0,0 @@ -on: - pull_request: - types: [opened] - -jobs: - comment_job: - runs-on: ubuntu-latest - name: Label Pull requests - steps: - - name: Comment - uses: camunda/camunda-comment-action@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From bf66c07f238d51f8cb8d8b7c95430e6debf7eefe Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2020 03:13:21 +0000 Subject: [PATCH 166/200] chore(deps): bump junit from 4.12 to 4.13.1 Bumps [junit](https://github.com/junit-team/junit4) from 4.12 to 4.13.1. - [Release notes](https://github.com/junit-team/junit4/releases) - [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.12.md) - [Commits](https://github.com/junit-team/junit4/compare/r4.12...r4.13.1) Signed-off-by: dependabot-preview[bot] --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 79095fe01fc..164878e384d 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -47,7 +47,7 @@ junit junit - 4.12 + 4.13.1 From 4d58d894a0e129ccf5fe79f860c14e048d4092e2 Mon Sep 17 00:00:00 2001 From: camunda-jenkins Date: Mon, 4 Jan 2021 09:42:31 +0100 Subject: [PATCH 167/200] Update NOTICE file --- connect/NOTICE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/NOTICE b/connect/NOTICE index 8aa0b8e02e1..cb902739041 100644 --- a/connect/NOTICE +++ b/connect/NOTICE @@ -1,3 +1,3 @@ Camunda -Copyright 2014-2020 Camunda Services GmbH +Copyright 2014-2021 Camunda Services GmbH From 488a61f482ceebf038ccdf16bca6bcd630dccd38 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Tue, 29 Dec 2020 17:49:17 +0100 Subject: [PATCH 168/200] chore(project): update commons-codec dependency - is a transitive dependency of httpclient related to CAM-12774 --- connect/pom.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/connect/pom.xml b/connect/pom.xml index 164878e384d..b481759e09d 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -43,6 +43,14 @@ httpclient 4.5.9 + + + commons-codec + commons-codec + 1.15 + junit From a2fb4e3f50a96227ecee06fb4b2d2da64b233b76 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Tue, 29 Dec 2020 16:24:05 +0100 Subject: [PATCH 169/200] chore(project): bump http client to 4.5.13 related to CAM-12956 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index b481759e09d..59e8c07bde2 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -41,7 +41,7 @@ org.apache.httpcomponents httpclient - 4.5.9 + 4.5.13 + + commons-codec + commons-codec + junit diff --git a/connect/pom.xml b/connect/pom.xml index 59e8c07bde2..0e68c39e308 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -43,9 +43,7 @@ httpclient 4.5.13 - + commons-codec commons-codec From 48d2f4f900cb13ca81a96d838d103caab9d78f9d Mon Sep 17 00:00:00 2001 From: Miklas Boskamp Date: Wed, 27 Jan 2021 16:29:15 +0100 Subject: [PATCH 171/200] chore(repo): rename Camunda BPM Platform to Camunda Platform Related to CAM-12950 --- connect/README.md | 2 +- connect/bom/pom.xml | 2 +- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 2 +- connect/soap-http-client/pom.xml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/connect/README.md b/connect/README.md index dbacf64223d..da9f8f3d3e6 100644 --- a/connect/README.md +++ b/connect/README.md @@ -19,7 +19,7 @@ Simple API for connecting HTTP Services and other things. # Using a Connector -camunda Connect API aims at two usage scenarios, usage in a generic system such as camunda BPM +camunda Connect API aims at two usage scenarios, usage in a generic system such as Camunda Platform process engine and standalone usage via API. Please see the [official documentation](https://docs.camunda.org/manual/latest/reference/connect/) for more information. # Contributing diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 25753ad27af..febcd275238 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -12,7 +12,7 @@ org.camunda.connect camunda-connect-bom 1.6.0-SNAPSHOT - camunda BPM - connect - bom + Camunda Platform - connect - bom pom diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 4e4ebcc495a..a6b63a14a67 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -8,7 +8,7 @@ camunda-connect-connectors-all - camunda BPM - connect - all connectors in one + Camunda Platform - connect - all connectors in one diff --git a/connect/mvnw b/connect/mvnw new file mode 100755 index 00000000000..41c0f0c23db --- /dev/null +++ b/connect/mvnw @@ -0,0 +1,310 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# 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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/connect/mvnw.cmd b/connect/mvnw.cmd new file mode 100644 index 00000000000..86115719e53 --- /dev/null +++ b/connect/mvnw.cmd @@ -0,0 +1,182 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% From ba1fc201ca54797c3e992637f6bf25ef086b004b Mon Sep 17 00:00:00 2001 From: "ci.cambpm" Date: Tue, 4 Jan 2022 17:54:36 +0100 Subject: [PATCH 173/200] Update NOTICE file --- connect/NOTICE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/NOTICE b/connect/NOTICE index cb902739041..add164d4dad 100644 --- a/connect/NOTICE +++ b/connect/NOTICE @@ -1,3 +1,3 @@ Camunda -Copyright 2014-2021 Camunda Services GmbH +Copyright 2014-2022 Camunda Services GmbH From 56599a5b707bd22a10b50a36a2fb9d05ae0facf1 Mon Sep 17 00:00:00 2001 From: Tobias Metzke-Bernstein Date: Wed, 13 Apr 2022 09:45:55 +0200 Subject: [PATCH 174/200] chore(project): bump commons version to 1.10.0 * extracts versions into properties * bumps logback to 1.2.10 related to CAM-14106 closes #70 --- connect/http-client/pom.xml | 3 --- connect/pom.xml | 33 ++++++++++++++++++++++++++------ connect/soap-http-client/pom.xml | 1 - 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index c3c6b09a597..e9f40b8e27a 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -16,7 +16,6 @@ org.camunda.connect camunda-connect-core - ${project.version} @@ -52,14 +51,12 @@ com.github.tomakehurst wiremock - 1.58 test org.mockito mockito-core - 1.9.5 test diff --git a/connect/pom.xml b/connect/pom.xml index 641a4a6c90a..a8f422ac0ee 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -14,7 +14,16 @@ pom + 2.9.1 + 1.10.0 + 1.15 1.5.0 + 4.5.13 + 4.13.1 + 1.2.10 + 1.9.5 + 1.58 + false -Xdoclint:none @@ -33,7 +42,7 @@ org.camunda.commons camunda-commons-bom - 1.9.0 + ${commons.version} import pom @@ -41,31 +50,43 @@ org.apache.httpcomponents httpclient - 4.5.13 + ${httpclient.version} commons-codec commons-codec - 1.15 + ${commons-codec.version} junit junit - 4.13.1 + ${junit.version} org.assertj assertj-core - 2.9.1 + ${assertj.version} ch.qos.logback logback-classic - 1.1.2 + ${logback.version} + + + + com.github.tomakehurst + wiremock + ${wiremock.version} + + + + org.mockito + mockito-core + ${mockito.version}
diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 8d39f04886b..4bfda7e7625 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -38,7 +38,6 @@ com.github.tomakehurst wiremock - 1.58 test From 7b21fef9721a577c9f8bb2aef444373ff0ae1669 Mon Sep 17 00:00:00 2001 From: Tassilo Weidner <3015690+tasso94@users.noreply.github.com> Date: Tue, 26 Apr 2022 11:28:12 +0200 Subject: [PATCH 175/200] chore(deps): bump logback to version 1.2.11 related to CAM-14022, closes #72 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index a8f422ac0ee..272871c88e0 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -20,7 +20,7 @@ 1.5.0 4.5.13 4.13.1 - 1.2.10 + 1.2.11 1.9.5 1.58 From 5bd7afb1705f9f014817ad75778f830688e86b7f Mon Sep 17 00:00:00 2001 From: Tassilo Weidner <3015690+tasso94@users.noreply.github.com> Date: Tue, 26 Apr 2022 15:15:43 +0200 Subject: [PATCH 176/200] chore(deps): bump commons related to CAM-14022, closes #74 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 272871c88e0..0c803e73b6d 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -15,7 +15,7 @@ 2.9.1 - 1.10.0 + 1.10.1 1.15 1.5.0 4.5.13 From b561f73ece5bfb8e4e9f6c4106d9e377244f818c Mon Sep 17 00:00:00 2001 From: Daniel Kelemen Date: Wed, 6 Jul 2022 12:08:49 +0200 Subject: [PATCH 177/200] chore(deps): bump commons related to CAM-13977 --- connect/pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/connect/pom.xml b/connect/pom.xml index 0c803e73b6d..0f746100075 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -15,7 +15,7 @@ 2.9.1 - 1.10.1 + 1.11.0 1.15 1.5.0 4.5.13 @@ -52,7 +52,7 @@ httpclient ${httpclient.version}
- + commons-codec commons-codec From 991087bfb5c781e075ddd03193763d8dfb50b776 Mon Sep 17 00:00:00 2001 From: Daniel Kelemen Date: Tue, 19 Jul 2022 10:16:24 +0200 Subject: [PATCH 178/200] chore(deps): bump commons related to CAM-14771 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index 0f746100075..d81c5266815 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -15,7 +15,7 @@ 2.9.1 - 1.11.0 + 1.12.0 1.15 1.5.0 4.5.13 From 51b7c63fd2b0d8c7fb3db815e155baeae9993ebc Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Wed, 31 Aug 2022 15:38:16 +0200 Subject: [PATCH 179/200] chore(bom): bump to 2.2.5 release parent contains artifactory repository change Related to CAM-14850 --- connect/bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 79b6bb57010..f1bc3c59bfb 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 2.2.2 + 2.2.5 From 99e2ef46b644309cd149a5605d964e12f04439c8 Mon Sep 17 00:00:00 2001 From: "ci.cambpm" Date: Thu, 5 Jan 2023 10:00:21 +0100 Subject: [PATCH 180/200] Update NOTICE file --- connect/NOTICE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/NOTICE b/connect/NOTICE index add164d4dad..a894b7dec80 100644 --- a/connect/NOTICE +++ b/connect/NOTICE @@ -1,3 +1,3 @@ Camunda -Copyright 2014-2022 Camunda Services GmbH +Copyright 2014-2023 Camunda Services GmbH From d25f3653fec40adf52d07f344519047faa973e07 Mon Sep 17 00:00:00 2001 From: yanavasileva Date: Mon, 20 Mar 2023 16:57:48 +0100 Subject: [PATCH 181/200] chore(deps) bump to 2.2.6 release parent (#79) to adopt maven repository definitions camunda/camunda-bpm-platform#3240 --- connect/bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index f1bc3c59bfb..b852ff67b90 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 2.2.5 + 2.2.6 From ec06d32ede91491a76416357d5c3afe89fb8135f Mon Sep 17 00:00:00 2001 From: Miklas Boskamp Date: Wed, 26 Apr 2023 09:41:41 +0200 Subject: [PATCH 182/200] chore(mvn): update maven wrapper to 3.8.8 Related to camunda/camunda-bpm-platform/issues/3372 --- .../.mvn/wrapper/MavenWrapperDownloader.java | 117 --------- connect/.mvn/wrapper/maven-wrapper.jar | Bin 47774 -> 62547 bytes connect/.mvn/wrapper/maven-wrapper.properties | 20 +- connect/mvnw | 224 +++++++++--------- connect/mvnw.cmd | 57 +++-- 5 files changed, 169 insertions(+), 249 deletions(-) delete mode 100644 connect/.mvn/wrapper/MavenWrapperDownloader.java diff --git a/connect/.mvn/wrapper/MavenWrapperDownloader.java b/connect/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index b901097f2db..00000000000 --- a/connect/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 2007-present the original author or authors. - * - * Licensed 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. - */ -import java.net.*; -import java.io.*; -import java.nio.channels.*; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.6"; - /** - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. - */ - private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to - * use instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = - ".mvn/wrapper/maven-wrapper.properties"; - - /** - * Path where the maven-wrapper.jar will be saved to. - */ - private static final String MAVEN_WRAPPER_JAR_PATH = - ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if(mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } catch (IOException e) { - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } finally { - try { - if(mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if(!outputFile.getParentFile().exists()) { - if(!outputFile.getParentFile().mkdirs()) { - System.out.println( - "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) throws Exception { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault(new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } - -} diff --git a/connect/.mvn/wrapper/maven-wrapper.jar b/connect/.mvn/wrapper/maven-wrapper.jar index 41c70a7e0b7da7ecbbcf53b62aacdf8bc81e10b0..cb28b0e37c7d206feb564310fdeec0927af4123a 100644 GIT binary patch literal 62547 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 A?*IS* literal 47774 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 Be7*nx diff --git a/connect/.mvn/wrapper/maven-wrapper.properties b/connect/.mvn/wrapper/maven-wrapper.properties index 953dd08c47a..70f4f50fc39 100644 --- a/connect/.mvn/wrapper/maven-wrapper.properties +++ b/connect/.mvn/wrapper/maven-wrapper.properties @@ -1,2 +1,18 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.2.5/apache-maven-3.2.5-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar +# 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. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.8/apache-maven-3.8.8-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar diff --git a/connect/mvnw b/connect/mvnw index 41c0f0c23db..8d937f4c14f 100755 --- a/connect/mvnw +++ b/connect/mvnw @@ -19,7 +19,7 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Maven Start Up Batch script +# Apache Maven Wrapper startup batch script, version 3.2.0 # # Required ENV vars: # ------------------ @@ -27,7 +27,6 @@ # # Optional ENV vars # ----------------- -# M2_HOME - location of maven2's installed home dir # MAVEN_OPTS - parameters passed to the Java VM when running Maven # e.g. to debug Maven itself, use # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @@ -36,6 +35,10 @@ if [ -z "$MAVEN_SKIP_RC" ] ; then + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi @@ -50,7 +53,7 @@ fi cygwin=false; darwin=false; mingw=false -case "`uname`" in +case "$(uname)" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true @@ -58,9 +61,9 @@ case "`uname`" in # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME else - export JAVA_HOME="/Library/Java/Home" + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME fi fi ;; @@ -68,68 +71,38 @@ esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` + JAVA_HOME=$(java-config --jre-home) fi fi -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - PRG="$0" - - # need this for relative symlinks - while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG="`dirname "$PRG"`/$link" - fi - done - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") fi # For Mingw, ensure paths are in UNIX format before anything is touched if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" fi if [ -z "$JAVA_HOME" ]; then - javaExecutable="`which javac`" - if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. - readLink=`which readlink` - if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" else - javaExecutable="`readlink -f \"$javaExecutable\"`" + javaExecutable="$(readlink -f "\"$javaExecutable\"")" fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') JAVA_HOME="$javaHome" export JAVA_HOME fi @@ -145,7 +118,7 @@ if [ -z "$JAVACMD" ] ; then JAVACMD="$JAVA_HOME/bin/java" fi else - JAVACMD="`which java`" + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" fi fi @@ -159,12 +132,9 @@ if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { - if [ -z "$1" ] then echo "Path not specified to find_maven_basedir" @@ -180,96 +150,99 @@ find_maven_basedir() { fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` + wdir=$(cd "$wdir/.." || exit 1; pwd) fi # end of workaround done - echo "${basedir}" + printf '%s' "$(cd "$basedir" || exit 1; pwd)" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" fi } -BASE_DIR=`find_maven_basedir "$(pwd)"` +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") if [ -z "$BASE_DIR" ]; then exit 1; fi +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + ########################################################################################## # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central # This allows using the maven wrapper in projects that prohibit checking in binary data. ########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi + log "Couldn't find $wrapperJarPath, downloading it ..." + if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" fi - while IFS="=" read key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; esac - done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") fi if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" fi elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" fi - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" # For Cygwin, switch paths to Windows format before running javac if $cygwin; then - javaClass=`cygpath --path --windows "$javaClass"` + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" fi fi fi @@ -278,33 +251,58 @@ fi # End of extension ########################################################################################## -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi fi + MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") fi # Provide a "standardized" way to retrieve the CLI args that will # work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" export MAVEN_CMD_LINE_ARGS WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain +# shellcheck disable=SC2086 # safe args exec "$JAVACMD" \ $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/connect/mvnw.cmd b/connect/mvnw.cmd index 86115719e53..c4586b564e6 100644 --- a/connect/mvnw.cmd +++ b/connect/mvnw.cmd @@ -18,13 +18,12 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Maven Start Up Batch script +@REM Apache Maven Wrapper startup batch script, version 3.2.0 @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars -@REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @@ -46,8 +45,8 @@ if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* :skipRcPre @setlocal @@ -120,10 +119,10 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" -FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B ) @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central @@ -134,11 +133,11 @@ if exist %WRAPPER_JAR% ( ) ) else ( if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" ) if "%MVNW_VERBOSE%" == "true" ( echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% + echo Downloading from: %WRAPPER_URL% ) powershell -Command "&{"^ @@ -146,7 +145,7 @@ if exist %WRAPPER_JAR% ( "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ "}" if "%MVNW_VERBOSE%" == "true" ( echo Finished downloading %WRAPPER_JAR% @@ -154,11 +153,35 @@ if exist %WRAPPER_JAR% ( ) @REM End of extension +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + @REM Provide a "standardized" way to retrieve the CLI args that will @REM work with both Windows and non-Windows executions. set MAVEN_CMD_LINE_ARGS=%* -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end @@ -168,15 +191,15 @@ set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause +if "%MAVEN_BATCH_PAUSE%"=="on" pause -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% -exit /B %ERROR_CODE% +cmd /C exit /B %ERROR_CODE% From 4a139d8b1b41b242d85864212820168fa6ba58d5 Mon Sep 17 00:00:00 2001 From: tasso94 <3015690+tasso94@users.noreply.github.com> Date: Thu, 13 Jul 2023 09:45:16 +0200 Subject: [PATCH 183/200] chore(pom.xml): bump release parent (#82) related to camunda/camunda-bpm-platform#3572 --- connect/bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index b852ff67b90..93dd6c86a87 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 2.2.6 + 2.2.7 From 708f57217ac17101890649ec7b4edd34ba11ce69 Mon Sep 17 00:00:00 2001 From: yanavasileva Date: Mon, 18 Sep 2023 17:03:15 +0200 Subject: [PATCH 184/200] chore(project): switch to source code level JDK 11 (#83) via bpm-release-parent 2.3 adoption and adjust javadoc/tests + build with maven 3.8 and jdk 11 camunda/camunda-bpm-platform#3690 --- connect/.ci.cambpm | 4 ++-- connect/bom/pom.xml | 2 +- .../org/camunda/connect/spi/ConnectorRequest.java | 8 ++++---- .../connect/httpclient/HttpRequestConfigTest.java | 12 ++++++++---- 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index 2ba22af26f8..afeb36c5049 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1,7 +1,7 @@ @Library("camunda-ci") _ buildMavenAndDeployToMavenCentral([ - jdk:8, - mvn:3.5, + jdk:11, + mvn:3.8, additionalMvnGoals:'javadoc:javadoc', licenseCheck:true, publishZipArtifactToCamundaOrg:true diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 93dd6c86a87..4ef2f87204a 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -4,7 +4,7 @@ org.camunda camunda-bpm-release-parent - 2.2.7 + 2.3.0 diff --git a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java index 63130e48599..4241fa4c802 100644 --- a/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java +++ b/connect/core/src/main/java/org/camunda/connect/spi/ConnectorRequest.java @@ -25,12 +25,12 @@ * *

The parameters of a request can be provided using the generic map of input * parameters. See ({@link #setRequestParameters(Map)}): - *

+ * 
  *  SomeConnectorRequest req = connector.createRequest();
  *  req.setRequestParameter("endpointUrl", "http://mysystem.loc/foo");
  *  req.setRequestParameter("payload", "some important payload");
  *  req.execute();
- * 
+ * * This makes it possible to use the connector in a generic / configurable system like * the camunda process engine. *

@@ -38,12 +38,12 @@ *

Optionally, a connector may also extend the request interface and provide * dedicated (type-safe) methods for configuring a request, preferably in a * fluent API fashion: - *

+ * 
  *  connector.createRequest()
  *    .endpointUrl("http://mysystem.loc/foo")
  *    .payload("some important payload")
  *    .execute();
- * 
+ * * This makes it easy to use the connector in a standalone way. *

* diff --git a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestConfigTest.java b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestConfigTest.java index fb9607b6040..bff7e068e39 100644 --- a/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestConfigTest.java +++ b/connect/http-client/src/test/java/org/camunda/connect/httpclient/HttpRequestConfigTest.java @@ -424,7 +424,8 @@ public void shouldThrowClassCastExceptionStringToInt() { } catch (ConnectorRequestException e) { // then assertThat(e).hasMessageContaining("Invalid value for request configuration option: " + CONNECTION_TIMEOUT.getName()); - assertThat(e).hasCause(new ClassCastException("java.lang.String cannot be cast to java.lang.Integer")); + assertThat(e).hasCauseInstanceOf(ClassCastException.class); + assertThat(e.getCause()).hasMessageContaining("java.lang.String cannot be cast to class java.lang.Integer"); } } @@ -438,7 +439,8 @@ public void shouldThrowClassCastExceptionStringToBoolean() { } catch (ConnectorRequestException e) { // then assertThat(e).hasMessageContaining("Invalid value for request configuration option: " + AUTHENTICATION_ENABLED.getName()); - assertThat(e).hasCause(new ClassCastException("java.lang.String cannot be cast to java.lang.Boolean")); + assertThat(e).hasCauseInstanceOf(ClassCastException.class); + assertThat(e.getCause()).hasMessageContaining("java.lang.String cannot be cast to class java.lang.Boolean"); } } @@ -452,7 +454,8 @@ public void shouldThrowClassCastExceptionStringToHttpHost() { } catch (ConnectorRequestException e) { // then assertThat(e).hasMessageContaining("Invalid value for request configuration option: " + PROXY.getName()); - assertThat(e).hasCause(new ClassCastException("java.lang.String cannot be cast to org.apache.http.HttpHost")); + assertThat(e).hasCauseInstanceOf(ClassCastException.class); + assertThat(e.getCause()).hasMessageContaining("java.lang.String cannot be cast to class org.apache.http.HttpHost"); } } @@ -466,7 +469,8 @@ public void shouldThrowClassCastExceptionIntToHttpHost() { } catch (ConnectorRequestException e) { // then assertThat(e).hasMessageContaining("Invalid value for request configuration option: " + PROXY_PREFERRED_AUTH_SCHEMES.getName()); - assertThat(e).hasCause(new ClassCastException("java.lang.Integer cannot be cast to java.util.Collection")); + assertThat(e).hasCauseInstanceOf(ClassCastException.class); + assertThat(e.getCause()).hasMessageContaining("java.lang.Integer cannot be cast to class java.util.Collection"); } } From 66a7dee6f338b4920c41eaa14867be92f5fe4d5c Mon Sep 17 00:00:00 2001 From: Yana Vasileva Date: Wed, 20 Sep 2023 10:52:27 +0200 Subject: [PATCH 185/200] chore(deps): update commons to 1.13 camunda/camunda-bpm-platform#3690 --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index d81c5266815..ac39ae15818 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -15,7 +15,7 @@ 2.9.1 - 1.12.0 + 1.13.0 1.15 1.5.0 4.5.13 From 297fedf467bf5994aaaa3b8482aa6ee587ef65ef Mon Sep 17 00:00:00 2001 From: "ci.automation[bot]" Date: Wed, 20 Sep 2023 11:06:55 +0200 Subject: [PATCH 186/200] [maven-release-plugin] prepare release 1.6.0 --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index 4ef2f87204a..bedd5b263dc 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.6.0-SNAPSHOT + 1.6.0 Camunda Platform - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.6.0 diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index a6b63a14a67..c990434abc7 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.6.0-SNAPSHOT + 1.6.0 camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 4aec370ac53..481162786eb 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.6.0-SNAPSHOT + 1.6.0 camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index e9f40b8e27a..89016eb4d4b 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.6.0-SNAPSHOT + 1.6.0 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index ac39ae15818..48117c93cf1 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.6.0-SNAPSHOT + 1.6.0 bom @@ -147,7 +147,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - HEAD + 1.6.0 diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 4bfda7e7625..2d8836f05c4 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.6.0-SNAPSHOT + 1.6.0 camunda-connect-soap-http-client From 3d66c17a31713ca8106578270ac2c0f67e275164 Mon Sep 17 00:00:00 2001 From: "ci.automation[bot]" Date: Wed, 20 Sep 2023 11:06:59 +0200 Subject: [PATCH 187/200] [maven-release-plugin] prepare for next development iteration --- connect/bom/pom.xml | 4 ++-- connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 4 ++-- connect/soap-http-client/pom.xml | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index bedd5b263dc..e53163b2928 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -11,7 +11,7 @@ org.camunda.connect camunda-connect-bom - 1.6.0 + 1.7.0-SNAPSHOT Camunda Platform - connect - bom pom @@ -49,7 +49,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.6.0 + HEAD diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index c990434abc7..5e566ba651f 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.6.0 + 1.7.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 481162786eb..3fb55895f85 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.6.0 + 1.7.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index 89016eb4d4b..e8bddea278f 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.6.0 + 1.7.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index 48117c93cf1..b533e05dfb2 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.6.0 + 1.7.0-SNAPSHOT bom @@ -147,7 +147,7 @@ https://github.com/camunda/camunda-connect scm:git:git@github.com:camunda/camunda-connect.git scm:git:git@github.com:camunda/camunda-connect.git - 1.6.0 + HEAD diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 2d8836f05c4..6795105e0be 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.6.0 + 1.7.0-SNAPSHOT camunda-connect-soap-http-client From da351e992a7de262864ee5b6bb8cc8f4f951644f Mon Sep 17 00:00:00 2001 From: "ci.automation[bot]" Date: Wed, 20 Sep 2023 11:10:20 +0200 Subject: [PATCH 188/200] chore(test): adjust old version for backward compatibility test after release --- connect/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/pom.xml b/connect/pom.xml index b533e05dfb2..bc3493bc32a 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -17,7 +17,7 @@ 2.9.1 1.13.0 1.15 - 1.5.0 + 1.6.0 4.5.13 4.13.1 1.2.11 From d0808a963253fa54035268dee72eecb465f05565 Mon Sep 17 00:00:00 2001 From: Thorben Lindhauer Date: Thu, 28 Sep 2023 17:36:03 +0200 Subject: [PATCH 189/200] chore(project): add new dependency check workflow related to camunda/camunda-bpm-platform#2781 --- connect/.github/workflows/java-dependency-check.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 connect/.github/workflows/java-dependency-check.yml diff --git a/connect/.github/workflows/java-dependency-check.yml b/connect/.github/workflows/java-dependency-check.yml new file mode 100644 index 00000000000..50885166529 --- /dev/null +++ b/connect/.github/workflows/java-dependency-check.yml @@ -0,0 +1,13 @@ +name: Java Dependency Check + +on: + pull_request: + types: [ labeled ] + +jobs: + call-reusable-flow: + uses: camunda/automation-platform-github-actions/.github/workflows/java-dependency-check.yml@main + if: ${{ github.event.label.name == 'bot:java-dependency-check' }} + with: + ref: main + secrets: inherit From 089948044a382ad17b8d82c327262af977461269 Mon Sep 17 00:00:00 2001 From: "ci.cambpm" Date: Thu, 11 Jan 2024 16:57:37 +0100 Subject: [PATCH 190/200] Update NOTICE file --- connect/NOTICE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/NOTICE b/connect/NOTICE index a894b7dec80..47e664b339b 100644 --- a/connect/NOTICE +++ b/connect/NOTICE @@ -1,3 +1,3 @@ Camunda -Copyright 2014-2023 Camunda Services GmbH +Copyright 2014-2024 Camunda Services GmbH From 4b38117c1b0873725b43b63921ef3d92fb4de10a Mon Sep 17 00:00:00 2001 From: Petros Savvidis Date: Wed, 24 Jan 2024 15:29:35 +0200 Subject: [PATCH 191/200] chore(project): Add JDK 21 Build Support Related-to: https://github.com/camunda/camunda-bpm-platform/issues/4002 --- connect/.ci.cambpm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index afeb36c5049..551c4f8bac3 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1,6 +1,10 @@ @Library("camunda-ci") _ buildMavenAndDeployToMavenCentral([ - jdk:11, + jdk:1 1, + extraJdks: [ + 'openjdk-jdk-21-latest', + 'jdk-21-latest' + ] mvn:3.8, additionalMvnGoals:'javadoc:javadoc', licenseCheck:true, From 1fdd1b638c6af9a8b6b7037fc1f905ddf53b777c Mon Sep 17 00:00:00 2001 From: Petros Savvidis Date: Thu, 25 Jan 2024 15:16:56 +0200 Subject: [PATCH 192/200] chore(project): Add JDK 21 Build Support Related-to: https://github.com/camunda/camunda-bpm-platform/issues/4002 --- connect/.ci.cambpm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index 551c4f8bac3..3f41d21c722 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -4,7 +4,7 @@ buildMavenAndDeployToMavenCentral([ extraJdks: [ 'openjdk-jdk-21-latest', 'jdk-21-latest' - ] + ], mvn:3.8, additionalMvnGoals:'javadoc:javadoc', licenseCheck:true, From 7804ca478de0edde392374382e2e9f6d00a56d09 Mon Sep 17 00:00:00 2001 From: Petros Savvidis Date: Thu, 25 Jan 2024 16:25:57 +0200 Subject: [PATCH 193/200] chore(project): Add JDK 17 to extra JDKs Related-to: https://github.com/camunda/camunda-bpm-platform/issues/4002 --- connect/.ci.cambpm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm index 3f41d21c722..aa82b56fee0 100644 --- a/connect/.ci.cambpm +++ b/connect/.ci.cambpm @@ -1,9 +1,11 @@ @Library("camunda-ci") _ buildMavenAndDeployToMavenCentral([ - jdk:1 1, + jdk:11, extraJdks: [ 'openjdk-jdk-21-latest', - 'jdk-21-latest' + 'jdk-21-latest', + 'openjdk-jdk-17-latest', + 'jdk-17-latest' ], mvn:3.8, additionalMvnGoals:'javadoc:javadoc', From 7caef7207d19aa3fcfd75732acac9269f45c482d Mon Sep 17 00:00:00 2001 From: Petros Savvidis Date: Thu, 25 Jan 2024 17:24:13 +0200 Subject: [PATCH 194/200] Upgrade maven bundle plugin to 5.1.1 Fixes the ConcurrentModificationException problem that prevents the build from working with java17 & java21 (builds greater to 11) --- connect/pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/connect/pom.xml b/connect/pom.xml index bc3493bc32a..a81816aeab2 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -23,6 +23,7 @@ 1.2.11 1.9.5 1.58 + 5.1.1 false -Xdoclint:none @@ -98,6 +99,7 @@ org.apache.felix maven-bundle-plugin + ${maven-bundle-plugin.version} From bafde3e321e7a4a4279ccddda20b501688f3d484 Mon Sep 17 00:00:00 2001 From: venetrius Date: Fri, 3 May 2024 08:49:12 +0200 Subject: [PATCH 195/200] chore(connect): remove unused files related to: camunda/camunda-bpm-platform/issues/4193 --- connect/.ci.cambpm | 14 - .../workflows/java-dependency-check.yml | 13 - connect/.mvn/wrapper/maven-wrapper.jar | Bin 62547 -> 0 bytes connect/.mvn/wrapper/maven-wrapper.properties | 18 - connect/LICENSE | 176 ---------- connect/NOTICE | 3 - connect/mvnw | 308 ------------------ connect/mvnw.cmd | 205 ------------ 8 files changed, 737 deletions(-) delete mode 100644 connect/.ci.cambpm delete mode 100644 connect/.github/workflows/java-dependency-check.yml delete mode 100644 connect/.mvn/wrapper/maven-wrapper.jar delete mode 100644 connect/.mvn/wrapper/maven-wrapper.properties delete mode 100644 connect/LICENSE delete mode 100644 connect/NOTICE delete mode 100755 connect/mvnw delete mode 100644 connect/mvnw.cmd diff --git a/connect/.ci.cambpm b/connect/.ci.cambpm deleted file mode 100644 index aa82b56fee0..00000000000 --- a/connect/.ci.cambpm +++ /dev/null @@ -1,14 +0,0 @@ -@Library("camunda-ci") _ -buildMavenAndDeployToMavenCentral([ - jdk:11, - extraJdks: [ - 'openjdk-jdk-21-latest', - 'jdk-21-latest', - 'openjdk-jdk-17-latest', - 'jdk-17-latest' - ], - mvn:3.8, - additionalMvnGoals:'javadoc:javadoc', - licenseCheck:true, - publishZipArtifactToCamundaOrg:true -]) diff --git a/connect/.github/workflows/java-dependency-check.yml b/connect/.github/workflows/java-dependency-check.yml deleted file mode 100644 index 50885166529..00000000000 --- a/connect/.github/workflows/java-dependency-check.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Java Dependency Check - -on: - pull_request: - types: [ labeled ] - -jobs: - call-reusable-flow: - uses: camunda/automation-platform-github-actions/.github/workflows/java-dependency-check.yml@main - if: ${{ github.event.label.name == 'bot:java-dependency-check' }} - with: - ref: main - secrets: inherit diff --git a/connect/.mvn/wrapper/maven-wrapper.jar b/connect/.mvn/wrapper/maven-wrapper.jar deleted file mode 100644 index cb28b0e37c7d206feb564310fdeec0927af4123a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62547 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 A?*IS* diff --git a/connect/.mvn/wrapper/maven-wrapper.properties b/connect/.mvn/wrapper/maven-wrapper.properties deleted file mode 100644 index 70f4f50fc39..00000000000 --- a/connect/.mvn/wrapper/maven-wrapper.properties +++ /dev/null @@ -1,18 +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. -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.8/apache-maven-3.8.8-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar diff --git a/connect/LICENSE b/connect/LICENSE deleted file mode 100644 index d0381d6d04c..00000000000 --- a/connect/LICENSE +++ /dev/null @@ -1,176 +0,0 @@ -Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/connect/NOTICE b/connect/NOTICE deleted file mode 100644 index 47e664b339b..00000000000 --- a/connect/NOTICE +++ /dev/null @@ -1,3 +0,0 @@ -Camunda -Copyright 2014-2024 Camunda Services GmbH - diff --git a/connect/mvnw b/connect/mvnw deleted file mode 100755 index 8d937f4c14f..00000000000 --- a/connect/mvnw +++ /dev/null @@ -1,308 +0,0 @@ -#!/bin/sh -# ---------------------------------------------------------------------------- -# 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. -# ---------------------------------------------------------------------------- - -# ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.2.0 -# -# Required ENV vars: -# ------------------ -# JAVA_HOME - location of a JDK home dir -# -# Optional ENV vars -# ----------------- -# MAVEN_OPTS - parameters passed to the Java VM when running Maven -# e.g. to debug Maven itself, use -# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -# MAVEN_SKIP_RC - flag to disable loading of mavenrc files -# ---------------------------------------------------------------------------- - -if [ -z "$MAVEN_SKIP_RC" ] ; then - - if [ -f /usr/local/etc/mavenrc ] ; then - . /usr/local/etc/mavenrc - fi - - if [ -f /etc/mavenrc ] ; then - . /etc/mavenrc - fi - - if [ -f "$HOME/.mavenrc" ] ; then - . "$HOME/.mavenrc" - fi - -fi - -# OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; -mingw=false -case "$(uname)" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME - else - JAVA_HOME="/Library/Java/Home"; export JAVA_HOME - fi - fi - ;; -esac - -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=$(java-config --jre-home) - fi -fi - -# For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=$(cygpath --unix "$JAVA_HOME") - [ -n "$CLASSPATH" ] && - CLASSPATH=$(cygpath --path --unix "$CLASSPATH") -fi - -# For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && - JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" -fi - -if [ -z "$JAVA_HOME" ]; then - javaExecutable="$(which javac)" - if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then - # readlink(1) is not available as standard on Solaris 10. - readLink=$(which readlink) - if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then - if $darwin ; then - javaHome="$(dirname "\"$javaExecutable\"")" - javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" - else - javaExecutable="$(readlink -f "\"$javaExecutable\"")" - fi - javaHome="$(dirname "\"$javaExecutable\"")" - javaHome=$(expr "$javaHome" : '\(.*\)/bin') - JAVA_HOME="$javaHome" - export JAVA_HOME - fi - fi -fi - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - else - JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." >&2 - echo " We cannot execute $JAVACMD" >&2 - exit 1 -fi - -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." -fi - -# traverses directory structure from process work directory to filesystem root -# first directory with .mvn subdirectory is considered project base directory -find_maven_basedir() { - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" - return 1 - fi - - basedir="$1" - wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then - basedir=$wdir - break - fi - # workaround for JBEAP-8937 (on Solaris 10/Sparc) - if [ -d "${wdir}" ]; then - wdir=$(cd "$wdir/.." || exit 1; pwd) - fi - # end of workaround - done - printf '%s' "$(cd "$basedir" || exit 1; pwd)" -} - -# concatenates all lines of a file -concat_lines() { - if [ -f "$1" ]; then - # Remove \r in case we run on Windows within Git Bash - # and check out the repository with auto CRLF management - # enabled. Otherwise, we may read lines that are delimited with - # \r\n and produce $'-Xarg\r' rather than -Xarg due to word - # splitting rules. - tr -s '\r\n' ' ' < "$1" - fi -} - -log() { - if [ "$MVNW_VERBOSE" = true ]; then - printf '%s\n' "$1" - fi -} - -BASE_DIR=$(find_maven_basedir "$(dirname "$0")") -if [ -z "$BASE_DIR" ]; then - exit 1; -fi - -MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR -log "$MAVEN_PROJECTBASEDIR" - -########################################################################################## -# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -# This allows using the maven wrapper in projects that prohibit checking in binary data. -########################################################################################## -wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" -if [ -r "$wrapperJarPath" ]; then - log "Found $wrapperJarPath" -else - log "Couldn't find $wrapperJarPath, downloading it ..." - - if [ -n "$MVNW_REPOURL" ]; then - wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - else - wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - fi - while IFS="=" read -r key value; do - # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) - safeValue=$(echo "$value" | tr -d '\r') - case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; - esac - done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" - log "Downloading from: $wrapperUrl" - - if $cygwin; then - wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") - fi - - if command -v wget > /dev/null; then - log "Found wget ... using wget" - [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - else - wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - log "Found curl ... using curl" - [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" - else - curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" - fi - else - log "Falling back to using Java to download" - javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" - javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaSource=$(cygpath --path --windows "$javaSource") - javaClass=$(cygpath --path --windows "$javaClass") - fi - if [ -e "$javaSource" ]; then - if [ ! -e "$javaClass" ]; then - log " - Compiling MavenWrapperDownloader.java ..." - ("$JAVA_HOME/bin/javac" "$javaSource") - fi - if [ -e "$javaClass" ]; then - log " - Running MavenWrapperDownloader.java ..." - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" - fi - fi - fi -fi -########################################################################################## -# End of extension -########################################################################################## - -# If specified, validate the SHA-256 sum of the Maven wrapper jar file -wrapperSha256Sum="" -while IFS="=" read -r key value; do - case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; - esac -done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" -if [ -n "$wrapperSha256Sum" ]; then - wrapperSha256Result=false - if command -v sha256sum > /dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then - wrapperSha256Result=true - fi - elif command -v shasum > /dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then - wrapperSha256Result=true - fi - else - echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." - echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." - exit 1 - fi - if [ $wrapperSha256Result = false ]; then - echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 - echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 - echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 - exit 1 - fi -fi - -MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" - -# For Cygwin, switch paths to Windows format before running java -if $cygwin; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") - [ -n "$CLASSPATH" ] && - CLASSPATH=$(cygpath --path --windows "$CLASSPATH") - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") -fi - -# Provide a "standardized" way to retrieve the CLI args that will -# work with both Windows and non-Windows executions. -MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" -export MAVEN_CMD_LINE_ARGS - -WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -# shellcheck disable=SC2086 # safe args -exec "$JAVACMD" \ - $MAVEN_OPTS \ - $MAVEN_DEBUG_OPTS \ - -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ - ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/connect/mvnw.cmd b/connect/mvnw.cmd deleted file mode 100644 index c4586b564e6..00000000000 --- a/connect/mvnw.cmd +++ /dev/null @@ -1,205 +0,0 @@ -@REM ---------------------------------------------------------------------------- -@REM Licensed to the Apache Software Foundation (ASF) under one -@REM or more contributor license agreements. See the NOTICE file -@REM distributed with this work for additional information -@REM regarding copyright ownership. The ASF licenses this file -@REM to you under the Apache License, Version 2.0 (the -@REM "License"); you may not use this file except in compliance -@REM with the License. You may obtain a copy of the License at -@REM -@REM http://www.apache.org/licenses/LICENSE-2.0 -@REM -@REM Unless required by applicable law or agreed to in writing, -@REM software distributed under the License is distributed on an -@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -@REM KIND, either express or implied. See the License for the -@REM specific language governing permissions and limitations -@REM under the License. -@REM ---------------------------------------------------------------------------- - -@REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.2.0 -@REM -@REM Required ENV vars: -@REM JAVA_HOME - location of a JDK home dir -@REM -@REM Optional ENV vars -@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending -@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven -@REM e.g. to debug Maven itself, use -@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files -@REM ---------------------------------------------------------------------------- - -@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' -@echo off -@REM set title of command window -title %0 -@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' -@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% - -@REM set %HOME% to equivalent of $HOME -if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") - -@REM Execute a user defined script before this one -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre -@REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* -if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* -:skipRcPre - -@setlocal - -set ERROR_CODE=0 - -@REM To isolate internal variables from possible post scripts, we use another setlocal -@setlocal - -@REM ==== START VALIDATION ==== -if not "%JAVA_HOME%" == "" goto OkJHome - -echo. -echo Error: JAVA_HOME not found in your environment. >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -:OkJHome -if exist "%JAVA_HOME%\bin\java.exe" goto init - -echo. -echo Error: JAVA_HOME is set to an invalid directory. >&2 -echo JAVA_HOME = "%JAVA_HOME%" >&2 -echo Please set the JAVA_HOME variable in your environment to match the >&2 -echo location of your Java installation. >&2 -echo. -goto error - -@REM ==== END VALIDATION ==== - -:init - -@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". -@REM Fallback to current working directory if not found. - -set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% -IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir - -set EXEC_DIR=%CD% -set WDIR=%EXEC_DIR% -:findBaseDir -IF EXIST "%WDIR%"\.mvn goto baseDirFound -cd .. -IF "%WDIR%"=="%CD%" goto baseDirNotFound -set WDIR=%CD% -goto findBaseDir - -:baseDirFound -set MAVEN_PROJECTBASEDIR=%WDIR% -cd "%EXEC_DIR%" -goto endDetectBaseDir - -:baseDirNotFound -set MAVEN_PROJECTBASEDIR=%EXEC_DIR% -cd "%EXEC_DIR%" - -:endDetectBaseDir - -IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig - -@setlocal EnableExtensions EnableDelayedExpansion -for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a -@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% - -:endReadAdditionalConfig - -SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" -set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" -set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain - -set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B -) - -@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central -@REM This allows using the maven wrapper in projects that prohibit checking in binary data. -if exist %WRAPPER_JAR% ( - if "%MVNW_VERBOSE%" == "true" ( - echo Found %WRAPPER_JAR% - ) -) else ( - if not "%MVNW_REPOURL%" == "" ( - SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" - ) - if "%MVNW_VERBOSE%" == "true" ( - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %WRAPPER_URL% - ) - - powershell -Command "&{"^ - "$webclient = new-object System.Net.WebClient;"^ - "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ - "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ - "}"^ - "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ - "}" - if "%MVNW_VERBOSE%" == "true" ( - echo Finished downloading %WRAPPER_JAR% - ) -) -@REM End of extension - -@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file -SET WRAPPER_SHA_256_SUM="" -FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( - IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B -) -IF NOT %WRAPPER_SHA_256_SUM%=="" ( - powershell -Command "&{"^ - "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ - "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ - " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ - " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ - " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ - " exit 1;"^ - "}"^ - "}" - if ERRORLEVEL 1 goto error -) - -@REM Provide a "standardized" way to retrieve the CLI args that will -@REM work with both Windows and non-Windows executions. -set MAVEN_CMD_LINE_ARGS=%* - -%MAVEN_JAVA_EXE% ^ - %JVM_CONFIG_MAVEN_PROPS% ^ - %MAVEN_OPTS% ^ - %MAVEN_DEBUG_OPTS% ^ - -classpath %WRAPPER_JAR% ^ - "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ - %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* -if ERRORLEVEL 1 goto error -goto end - -:error -set ERROR_CODE=1 - -:end -@endlocal & set ERROR_CODE=%ERROR_CODE% - -if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost -@REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" -if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" -:skipRcPost - -@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%"=="on" pause - -if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% - -cmd /C exit /B %ERROR_CODE% From 16e11648ee021d7ea4a436ffbf0feeaf6f88ab47 Mon Sep 17 00:00:00 2001 From: venetrius Date: Fri, 3 May 2024 10:01:30 +0200 Subject: [PATCH 196/200] chore(connect) update README related to: camunda/camunda-bpm-platform/issues/4193 --- connect/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/connect/README.md b/connect/README.md index da9f8f3d3e6..d60b02f0e3f 100644 --- a/connect/README.md +++ b/connect/README.md @@ -6,8 +6,8 @@ camunda-connect Documentation | Forum | Issues | - License | - Contribute + License | + Contribute

Simple API for connecting HTTP Services and other things. @@ -29,7 +29,7 @@ Have a look at our [contribution guide](https://github.com/camunda/camunda-bpm-p # License: -The source files in this repository are made available under the Apache License, Version 2.0. +The source files in this repository are made available under the Apache License, Version 2.0. From 36f2dc970bf6a45a702bb8f7e94f2cecb0dd8077 Mon Sep 17 00:00:00 2001 From: venetrius Date: Fri, 3 May 2024 10:53:50 +0200 Subject: [PATCH 197/200] chore(connect): add connect modules to platform related to: #4193 --- bom/camunda-only-bom/pom.xml | 14 +++++--------- connect/bom/pom.xml | 11 +++++------ connect/connectors-all/pom.xml | 2 +- connect/core/pom.xml | 2 +- connect/http-client/pom.xml | 2 +- connect/pom.xml | 5 ++--- connect/soap-http-client/pom.xml | 2 +- distro/tomcat/assembly/pom.xml | 2 ++ distro/wildfly/modules/pom.xml | 6 ++++-- .../connect/camunda-connect-core/main/module.xml | 2 +- .../camunda-connect-http-client/main/module.xml | 2 +- .../main/module.xml | 2 +- distro/wildfly26/modules/pom.xml | 6 ++++-- .../connect/camunda-connect-core/main/module.xml | 2 +- .../camunda-connect-http-client/main/module.xml | 2 +- .../main/module.xml | 2 +- engine-plugins/connect-plugin/pom.xml | 3 +++ engine/pom.xml | 3 +++ parent/pom.xml | 2 +- pom.xml | 3 ++- qa/integration-tests-engine-jakarta/pom.xml | 1 + qa/integration-tests-engine/pom.xml | 1 + 22 files changed, 43 insertions(+), 34 deletions(-) diff --git a/bom/camunda-only-bom/pom.xml b/bom/camunda-only-bom/pom.xml index 5a5966c826e..207a8eb2b89 100644 --- a/bom/camunda-only-bom/pom.xml +++ b/bom/camunda-only-bom/pom.xml @@ -219,6 +219,11 @@ camunda-template-engines-freemarker ${project.version}
+ + org.camunda.connect + camunda-connect-bom + ${project.version} + @@ -259,15 +264,6 @@ camunda-bpm-spring-boot-starter-external-task-client ${project.version} - - - - org.camunda.connect - camunda-connect-bom - ${version.camunda.connect} - import - pom -
diff --git a/connect/bom/pom.xml b/connect/bom/pom.xml index e53163b2928..13e2ab246f2 100644 --- a/connect/bom/pom.xml +++ b/connect/bom/pom.xml @@ -2,16 +2,15 @@ 4.0.0 - org.camunda - camunda-bpm-release-parent - 2.3.0 - - + org.camunda.bpm + camunda-parent + ../../parent + 7.22.0-SNAPSHOT org.camunda.connect camunda-connect-bom - 1.7.0-SNAPSHOT + 7.22.0-SNAPSHOT Camunda Platform - connect - bom pom diff --git a/connect/connectors-all/pom.xml b/connect/connectors-all/pom.xml index 5e566ba651f..e75b2a237cb 100644 --- a/connect/connectors-all/pom.xml +++ b/connect/connectors-all/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.7.0-SNAPSHOT + 7.22.0-SNAPSHOT camunda-connect-connectors-all diff --git a/connect/core/pom.xml b/connect/core/pom.xml index 3fb55895f85..692f0d335c5 100644 --- a/connect/core/pom.xml +++ b/connect/core/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.7.0-SNAPSHOT + 7.22.0-SNAPSHOT camunda-connect-core diff --git a/connect/http-client/pom.xml b/connect/http-client/pom.xml index e8bddea278f..bff69c40e3f 100644 --- a/connect/http-client/pom.xml +++ b/connect/http-client/pom.xml @@ -4,7 +4,7 @@ camunda-connect-root org.camunda.connect - 1.7.0-SNAPSHOT + 7.22.0-SNAPSHOT 4.0.0 diff --git a/connect/pom.xml b/connect/pom.xml index a81816aeab2..1907a713b9b 100644 --- a/connect/pom.xml +++ b/connect/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-bom - 1.7.0-SNAPSHOT + 7.22.0-SNAPSHOT bom @@ -15,7 +15,6 @@ 2.9.1 - 1.13.0 1.15 1.6.0 4.5.13 @@ -43,7 +42,7 @@ org.camunda.commons camunda-commons-bom - ${commons.version} + ${project.version} import pom diff --git a/connect/soap-http-client/pom.xml b/connect/soap-http-client/pom.xml index 6795105e0be..78e82ae518a 100644 --- a/connect/soap-http-client/pom.xml +++ b/connect/soap-http-client/pom.xml @@ -4,7 +4,7 @@ org.camunda.connect camunda-connect-root - 1.7.0-SNAPSHOT + 7.22.0-SNAPSHOT camunda-connect-soap-http-client diff --git a/distro/tomcat/assembly/pom.xml b/distro/tomcat/assembly/pom.xml index 83e19eab1d9..5357c460fb9 100644 --- a/distro/tomcat/assembly/pom.xml +++ b/distro/tomcat/assembly/pom.xml @@ -119,6 +119,7 @@ org.camunda.connect camunda-connect-core + ${project.version} @@ -129,6 +130,7 @@ org.camunda.connect camunda-connect-connectors-all + ${project.version} diff --git a/distro/wildfly/modules/pom.xml b/distro/wildfly/modules/pom.xml index 9c1da80744f..4fffe492ea7 100644 --- a/distro/wildfly/modules/pom.xml +++ b/distro/wildfly/modules/pom.xml @@ -72,11 +72,13 @@ org.camunda.connect camunda-connect-http-client + ${project.version} org.camunda.connect camunda-connect-soap-http-client + ${project.version} @@ -183,7 +185,7 @@ - + @@ -268,7 +270,7 @@ - + diff --git a/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-core/main/module.xml b/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-core/main/module.xml index f097c0bf4aa..ac577f2358f 100644 --- a/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-core/main/module.xml +++ b/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-core/main/module.xml @@ -1,6 +1,6 @@ - + diff --git a/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-http-client/main/module.xml b/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-http-client/main/module.xml index a87207ef84d..fb5f1bc2401 100644 --- a/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-http-client/main/module.xml +++ b/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-http-client/main/module.xml @@ -1,6 +1,6 @@ - + diff --git a/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-soap-http-client/main/module.xml b/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-soap-http-client/main/module.xml index 14111d73068..e5325ef4b5f 100644 --- a/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-soap-http-client/main/module.xml +++ b/distro/wildfly/modules/src/main/modules/org/camunda/connect/camunda-connect-soap-http-client/main/module.xml @@ -1,6 +1,6 @@ - + diff --git a/distro/wildfly26/modules/pom.xml b/distro/wildfly26/modules/pom.xml index bb2a5c7ea59..88fac956b88 100644 --- a/distro/wildfly26/modules/pom.xml +++ b/distro/wildfly26/modules/pom.xml @@ -72,11 +72,13 @@ org.camunda.connect camunda-connect-http-client + ${project.version} org.camunda.connect camunda-connect-soap-http-client + ${project.version} @@ -199,7 +201,7 @@ - + @@ -284,7 +286,7 @@ - + diff --git a/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-core/main/module.xml b/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-core/main/module.xml index 6e568e1be89..76d9ec5b9fd 100644 --- a/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-core/main/module.xml +++ b/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-core/main/module.xml @@ -1,6 +1,6 @@ - + diff --git a/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-http-client/main/module.xml b/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-http-client/main/module.xml index 4292610a7ad..7a8c668386c 100644 --- a/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-http-client/main/module.xml +++ b/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-http-client/main/module.xml @@ -1,6 +1,6 @@ - + diff --git a/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-soap-http-client/main/module.xml b/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-soap-http-client/main/module.xml index 581137b54c6..a8f2bf120c4 100644 --- a/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-soap-http-client/main/module.xml +++ b/distro/wildfly26/modules/src/main/modules/org/camunda/connect/camunda-connect-soap-http-client/main/module.xml @@ -1,6 +1,6 @@ - + diff --git a/engine-plugins/connect-plugin/pom.xml b/engine-plugins/connect-plugin/pom.xml index 3592a023655..b12faaf6fbe 100644 --- a/engine-plugins/connect-plugin/pom.xml +++ b/engine-plugins/connect-plugin/pom.xml @@ -16,17 +16,20 @@ org.camunda.connect camunda-connect-core + ${project.version} org.camunda.connect camunda-connect-http-client + ${project.version} test org.camunda.connect camunda-connect-soap-http-client + ${project.version} test diff --git a/engine/pom.xml b/engine/pom.xml index 8f3990f3d97..1fdf3beb632 100644 --- a/engine/pom.xml +++ b/engine/pom.xml @@ -121,11 +121,13 @@ org.camunda.connect camunda-connect-core + ${project.version} org.camunda.connect camunda-connect-connectors-all + ${project.version} runtime @@ -796,6 +798,7 @@ org.camunda.connect camunda-connect-connectors-all + ${project.version} diff --git a/parent/pom.xml b/parent/pom.xml index 3029535405b..ed7aacdbc80 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -229,7 +229,7 @@ ${project.version} - ${version.camunda.connect} + ${project.version} ${project.version} ${project.version} diff --git a/pom.xml b/pom.xml index 722c2ae13e5..b5c98479d9a 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,6 @@ 3.5.15 2.12.5 4.3.0 - 1.6.0 1.17.5 @@ -72,6 +71,7 @@ model-api engine-dmn + connect juel spin commons @@ -266,6 +266,7 @@ engine-rest engine-dmn + connect juel spin commons diff --git a/qa/integration-tests-engine-jakarta/pom.xml b/qa/integration-tests-engine-jakarta/pom.xml index 8aca123b307..76eb2ca48a7 100644 --- a/qa/integration-tests-engine-jakarta/pom.xml +++ b/qa/integration-tests-engine-jakarta/pom.xml @@ -253,6 +253,7 @@ org.camunda.connect camunda-connect-core + ${project.version}