| /** |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.camel.component.sap.netweaver; |
| |
| import org.apache.camel.Component; |
| import org.apache.camel.Consumer; |
| import org.apache.camel.Processor; |
| import org.apache.camel.Producer; |
| import org.apache.camel.impl.DefaultEndpoint; |
| import org.apache.camel.spi.Metadata; |
| import org.apache.camel.spi.UriEndpoint; |
| import org.apache.camel.spi.UriParam; |
| import org.apache.camel.spi.UriPath; |
| |
| /** |
| * The sap-netweaver component integrates with the SAP NetWeaver Gateway using HTTP transports. |
| */ |
| @UriEndpoint(scheme = "sap-netweaver", title = "SAP NetWeaver", syntax = "sap-netweaver:url", producerOnly = true, label = "sap") |
| public class NetWeaverEndpoint extends DefaultEndpoint { |
| |
| @UriPath @Metadata(required = "true") |
| private String url; |
| @UriParam(defaultValue = "true") |
| private boolean json = true; |
| @UriParam(defaultValue = "true") |
| private boolean jsonAsMap = true; |
| @UriParam(defaultValue = "true") |
| private boolean flatternMap = true; |
| @UriParam @Metadata(required = "true") |
| private String username; |
| @UriParam @Metadata(required = "true") |
| private String password; |
| |
| public NetWeaverEndpoint(String endpointUri, Component component) { |
| super(endpointUri, component); |
| } |
| |
| @Override |
| public Producer createProducer() throws Exception { |
| return new NetWeaverProducer(this); |
| } |
| |
| @Override |
| public Consumer createConsumer(Processor processor) throws Exception { |
| throw new UnsupportedOperationException("Consumer is not supported"); |
| } |
| |
| @Override |
| public boolean isSingleton() { |
| return true; |
| } |
| |
| public String getUrl() { |
| return url; |
| } |
| |
| /** |
| * Url to the SAP net-weaver gateway server. |
| */ |
| public void setUrl(String url) { |
| this.url = url; |
| } |
| |
| public String getUsername() { |
| return username; |
| } |
| |
| /** |
| * Username for account. |
| */ |
| public void setUsername(String username) { |
| this.username = username; |
| } |
| |
| public String getPassword() { |
| return password; |
| } |
| |
| /** |
| * Password for account. |
| */ |
| public void setPassword(String password) { |
| this.password = password; |
| } |
| |
| public boolean isJson() { |
| return json; |
| } |
| |
| /** |
| * Whether to return data in JSON format. If this option is false, then XML is returned in Atom format. |
| */ |
| public void setJson(boolean json) { |
| this.json = json; |
| } |
| |
| public boolean isJsonAsMap() { |
| return jsonAsMap; |
| } |
| |
| /** |
| * To transform the JSON from a String to a Map in the message body. |
| */ |
| public void setJsonAsMap(boolean jsonAsMap) { |
| this.jsonAsMap = jsonAsMap; |
| } |
| |
| public boolean isFlatternMap() { |
| return flatternMap; |
| } |
| |
| /** |
| * If the JSON Map contains only a single entry, then flattern by storing that single entry value as the message body. |
| */ |
| public void setFlatternMap(boolean flatternMap) { |
| this.flatternMap = flatternMap; |
| } |
| } |