diff options
author | Bansal, Nitin (nb121v) <nitin.bansal@amdocs.com> | 2017-05-08 17:20:38 -0400 |
---|---|---|
committer | Bansal, Nitin (nb121v) <nitin.bansal@amdocs.com> | 2017-05-09 09:58:26 -0400 |
commit | 3e372947d497014b4aad4c2c1d04d6c50a74e2e0 (patch) | |
tree | 8f5d2ac85f9e1f92b26f0b7f94cd6c3ae69f8d67 /src/main/java/org/openecomp/event/EventBusEndpoint.java | |
parent | 42fcf3b1aff3efea329b61f1d5cc561d9a2490ae (diff) |
Initial OpenECOMP Data Router Core commit
Change-Id: Iee15b2f7870476eb48e4fb95f2564d3377749c6b
Signed-off-by: Bansal, Nitin (nb121v) <nitin.bansal@amdocs.com>
Diffstat (limited to 'src/main/java/org/openecomp/event/EventBusEndpoint.java')
-rw-r--r-- | src/main/java/org/openecomp/event/EventBusEndpoint.java | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/src/main/java/org/openecomp/event/EventBusEndpoint.java b/src/main/java/org/openecomp/event/EventBusEndpoint.java new file mode 100644 index 0000000..470b974 --- /dev/null +++ b/src/main/java/org/openecomp/event/EventBusEndpoint.java @@ -0,0 +1,165 @@ +/** + * ============LICENSE_START======================================================= + * DataRouter + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. + * Copyright © 2017 Amdocs + * All rights reserved. + * ================================================================================ + * 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 ati + * + * 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. + * ============LICENSE_END========================================================= + * + * ECOMP and OpenECOMP are trademarks + * and service marks of AT&T Intellectual Property. + */ +package org.openecomp.event; + + +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; +import org.eclipse.jetty.util.security.Password; + +/** + * Represents a EventBus endpoint. + */ +@UriEndpoint(scheme = "event-bus", syntax = "event-bus:name", + consumerClass = EventBusConsumer.class, title = "event-bus") +public class EventBusEndpoint extends DefaultEndpoint { + @UriPath + @Metadata(required = "true") + private String name; + + @UriParam(label = "eventTopic") + @Metadata(required = "true") + private String eventTopic; + @UriParam(label = "groupName") + @Metadata(required = "true") + private String groupName; + @UriParam(label = "groupId") + @Metadata(required = "true") + private String groupId; + @UriParam(label = "apiKey") + private String apiKey; + @UriParam(label = "apiSecret") + private String apiSecret; + @UriParam(label = "url") + @Metadata(required = "true") + private String url; + @UriParam(label = "poolSize") + @Metadata(required = "true", defaultValue="20") + private int poolSize = 20; + @UriParam(label = "pollingDelay") + @Metadata(required = "true", defaultValue="30000") + private int pollingDelay = 30000; + + public EventBusEndpoint() {} + + public EventBusEndpoint(String uri, EventBusComponent component) { + super(uri, component); + } + + public EventBusEndpoint(String endpointUri) { + super(endpointUri); + } + + public Producer createProducer() throws Exception { + return new EventBusProducer(this); + } + + public Consumer createConsumer(Processor processor) throws Exception { + return new EventBusConsumer(this, processor); + } + + public boolean isSingleton() { + return false; + } + + public void setName(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public String getEventTopic() { + return eventTopic; + } + + public void setEventTopic(String eventTopic) { + this.eventTopic = eventTopic; + } + + public String getGroupName() { + return groupName; + } + + public void setGroupName(String groupName) { + this.groupName = groupName; + } + + public String getGroupId() { + return groupId; + } + + public void setGroupId(String groupId) { + this.groupId = groupId; + } + + public String getApiKey() { + return apiKey == null ? null : Password.deobfuscate(apiKey); + } + + public void setApiKey(String apiKey) { + this.apiKey = apiKey; + } + + public String getApiSecret() { + return apiSecret == null ? null : Password.deobfuscate(apiSecret); + } + + public void setApiSecret(String apiSecret) { + this.apiSecret = apiSecret; + } + + public int getPoolSize() { + return poolSize; + } + + public void setPoolSize(int poolsize) { + this.poolSize = poolsize; + } + + public int getPollingDelay() { + return pollingDelay; + } + + public void setPollingDelay(int pollingDelay) { + this.pollingDelay = pollingDelay; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } +} + |