// Path: core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java
// public abstract class AbstractConnectorRequest<R extends ConnectorResponse> implements ConnectorRequest<R> {
// 
//   protected Connector connector;
// 
//   protected Map<String, Object> requestParameters = new HashMap<String, Object>();
// 
//   public AbstractConnectorRequest(Connector connector) {
//     this.connector = connector;
//   }
// 
//   @SuppressWarnings("unchecked")
//   public R execute() {
//     if(!isRequestValid()) {
//       throw new RuntimeException("The request is invalid");
//     }
//     return (R) 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<String, Object> params) {
//     for (Entry<String, Object> 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<String, Object> getRequestParameters() {
//     return requestParameters;
//   }
// 
//   @SuppressWarnings("unchecked")
//   public <V> V getRequestParameter(String name) {
//     return (V) requestParameters.get(name);
//   }
// 
// }
// 
// Path: core/src/main/java/org/camunda/connect/spi/Connector.java
// public interface Connector<Q extends ConnectorRequest<?>> {
// 
//   /**
//    * 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.
//    */
//   Q createRequest();
// 
//   /**
//    * 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<ConnectorRequestInterceptor> getRequestInterceptors();
// 
//   /**
//    * Sets the {@link ConnectorRequestInterceptor}s of this connector. The interceptors
//    * are invoked for all requests created by the connector.
//    */
//   void setRequestInterceptors(List<ConnectorRequestInterceptor> 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.
//    */
//   Connector<Q> addRequestInterceptor(ConnectorRequestInterceptor interceptor);
// 
//   /**
//    * 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.
//    */
//   Connector<Q> addRequestInterceptors(Collection<ConnectorRequestInterceptor> interceptors);
// 
//   /**
//    * Execute the request on the connector.
//    * @param request the request
//    * @return the result.
//    */
//   ConnectorResponse execute(Q request);
// }


import org.camunda.connect.impl.AbstractConnectorRequest;
import org.camunda.connect.spi.Connector;
/*
 * 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.dummy;


public class DummyRequest extends AbstractConnectorRequest<DummyResponse> {

  public DummyRequest(Connector connector) {
// Path: core/src/main/java/org/camunda/connect/impl/AbstractConnectorRequest.java
// public abstract class AbstractConnectorRequest<R extends ConnectorResponse> implements ConnectorRequest<R> {
// 
//   protected Connector connector;
// 
//   protected Map<String, Object> requestParameters = new HashMap<String, Object>();
// 
//   public AbstractConnectorRequest(Connector connector) {
//     this.connector = connector;
//   }
// 
//   @SuppressWarnings("unchecked")
//   public R execute() {
//     if(!isRequestValid()) {
//       throw new RuntimeException("The request is invalid");
//     }
//     return (R) 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<String, Object> params) {
//     for (Entry<String, Object> 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<String, Object> getRequestParameters() {
//     return requestParameters;
//   }
// 
//   @SuppressWarnings("unchecked")
//   public <V> V getRequestParameter(String name) {
//     return (V) requestParameters.get(name);
//   }
// 
// }
// 
// Path: core/src/main/java/org/camunda/connect/spi/Connector.java
// public interface Connector<Q extends ConnectorRequest<?>> {
// 
//   /**
//    * 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.
//    */
//   Q createRequest();
// 
//   /**
//    * 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<ConnectorRequestInterceptor> getRequestInterceptors();
// 
//   /**
//    * Sets the {@link ConnectorRequestInterceptor}s of this connector. The interceptors
//    * are invoked for all requests created by the connector.
//    */
//   void setRequestInterceptors(List<ConnectorRequestInterceptor> 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.
//    */
//   Connector<Q> addRequestInterceptor(ConnectorRequestInterceptor interceptor);
// 
//   /**
//    * 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.
//    */
//   Connector<Q> addRequestInterceptors(Collection<ConnectorRequestInterceptor> interceptors);
// 
//   /**
//    * Execute the request on the connector.
//    * @param request the request
//    * @return the result.
//    */
//   ConnectorResponse execute(Q request);
// }


// Path: core/src/test/java/org/camunda/connect/dummy/DummyRequest.java
import org.camunda.connect.impl.AbstractConnectorRequest;
import org.camunda.connect.spi.Connector;

/*
 * 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.dummy;


public class DummyRequest extends AbstractConnectorRequest<DummyResponse> {

  public DummyRequest(Connector connector) {
    super(connector);