*/
public interface TopicEndpoint extends Startable, Lockable {
- /**
- * singleton for global access.
- */
- TopicEndpoint manager = new TopicEndpointProxy();
-
/**
* Add topics configuration (sources and sinks) into a single list.
*
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. 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 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.endpoints.event.comm;
+
+import lombok.Getter;
+
+public class TopicEndpointManager {
+
+ /**
+ * Topic endpoint manager.
+ */
+ @Getter
+ private static TopicEndpoint manager = new TopicEndpointProxy();
+
+
+ private TopicEndpointManager() {
+ // do nothing
+ }
+}
import java.util.List;
import java.util.Properties;
import org.onap.policy.common.capabilities.Startable;
+import org.onap.policy.common.endpoints.event.comm.bus.DmaapTopicFactories;
import org.onap.policy.common.endpoints.event.comm.bus.DmaapTopicSink;
import org.onap.policy.common.endpoints.event.comm.bus.DmaapTopicSource;
+import org.onap.policy.common.endpoints.event.comm.bus.NoopTopicFactories;
import org.onap.policy.common.endpoints.event.comm.bus.NoopTopicSink;
import org.onap.policy.common.endpoints.event.comm.bus.NoopTopicSource;
+import org.onap.policy.common.endpoints.event.comm.bus.UebTopicFactories;
import org.onap.policy.common.endpoints.event.comm.bus.UebTopicSink;
import org.onap.policy.common.endpoints.event.comm.bus.UebTopicSource;
import org.onap.policy.common.gson.annotation.GsonJsonIgnore;
List<TopicSource> sources = new ArrayList<>();
- sources.addAll(UebTopicSource.factory.build(properties));
- sources.addAll(DmaapTopicSource.factory.build(properties));
- sources.addAll(NoopTopicSource.factory.build(properties));
+ sources.addAll(UebTopicFactories.getSourceFactory().build(properties));
+ sources.addAll(DmaapTopicFactories.getSourceFactory().build(properties));
+ sources.addAll(NoopTopicFactories.getSourceFactory().build(properties));
if (this.isLocked()) {
for (final TopicSource source : sources) {
final List<TopicSink> sinks = new ArrayList<>();
- sinks.addAll(UebTopicSink.factory.build(properties));
- sinks.addAll(DmaapTopicSink.factory.build(properties));
- sinks.addAll(NoopTopicSink.factory.build(properties));
+ sinks.addAll(UebTopicFactories.getSinkFactory().build(properties));
+ sinks.addAll(DmaapTopicFactories.getSinkFactory().build(properties));
+ sinks.addAll(NoopTopicFactories.getSinkFactory().build(properties));
if (this.isLocked()) {
for (final TopicSink sink : sinks) {
final List<TopicSource> sources = new ArrayList<>();
- sources.addAll(UebTopicSource.factory.inventory());
- sources.addAll(DmaapTopicSource.factory.inventory());
- sources.addAll(NoopTopicSource.factory.inventory());
+ sources.addAll(UebTopicFactories.getSourceFactory().inventory());
+ sources.addAll(DmaapTopicFactories.getSourceFactory().inventory());
+ sources.addAll(NoopTopicFactories.getSourceFactory().inventory());
return sources;
}
final List<TopicSink> sinks = new ArrayList<>();
- sinks.addAll(UebTopicSink.factory.inventory());
- sinks.addAll(DmaapTopicSink.factory.inventory());
- sinks.addAll(NoopTopicSink.factory.inventory());
+ sinks.addAll(UebTopicFactories.getSinkFactory().inventory());
+ sinks.addAll(DmaapTopicFactories.getSinkFactory().inventory());
+ sinks.addAll(NoopTopicFactories.getSinkFactory().inventory());
return sinks;
}
@GsonJsonIgnore
@Override
public List<UebTopicSource> getUebTopicSources() {
- return UebTopicSource.factory.inventory();
+ return UebTopicFactories.getSourceFactory().inventory();
}
@JsonIgnore
@GsonJsonIgnore
@Override
public List<DmaapTopicSource> getDmaapTopicSources() {
- return DmaapTopicSource.factory.inventory();
+ return DmaapTopicFactories.getSourceFactory().inventory();
}
@JsonIgnore
@GsonJsonIgnore
@Override
public List<NoopTopicSource> getNoopTopicSources() {
- return NoopTopicSource.factory.inventory();
+ return NoopTopicFactories.getSourceFactory().inventory();
}
@JsonIgnore
@GsonJsonIgnore
@Override
public List<UebTopicSink> getUebTopicSinks() {
- return UebTopicSink.factory.inventory();
+ return UebTopicFactories.getSinkFactory().inventory();
}
@JsonIgnore
@GsonJsonIgnore
@Override
public List<DmaapTopicSink> getDmaapTopicSinks() {
- return DmaapTopicSink.factory.inventory();
+ return DmaapTopicFactories.getSinkFactory().inventory();
}
@JsonIgnore
@GsonJsonIgnore
@Override
public List<NoopTopicSink> getNoopTopicSinks() {
- return NoopTopicSink.factory.inventory();
+ return NoopTopicFactories.getSinkFactory().inventory();
}
@Override
public void shutdown() {
this.stop();
- UebTopicSource.factory.destroy();
- UebTopicSink.factory.destroy();
+ UebTopicFactories.getSourceFactory().destroy();
+ UebTopicFactories.getSinkFactory().destroy();
- DmaapTopicSource.factory.destroy();
- DmaapTopicSink.factory.destroy();
+ DmaapTopicFactories.getSourceFactory().destroy();
+ DmaapTopicFactories.getSinkFactory().destroy();
- NoopTopicSink.factory.destroy();
- NoopTopicSource.factory.destroy();
+ NoopTopicFactories.getSinkFactory().destroy();
+ NoopTopicFactories.getSourceFactory().destroy();
}
@Override
public UebTopicSource getUebTopicSource(String topicName) {
- return UebTopicSource.factory.get(topicName);
+ return UebTopicFactories.getSourceFactory().get(topicName);
}
@Override
public UebTopicSink getUebTopicSink(String topicName) {
- return UebTopicSink.factory.get(topicName);
+ return UebTopicFactories.getSinkFactory().get(topicName);
}
@Override
public DmaapTopicSource getDmaapTopicSource(String topicName) {
- return DmaapTopicSource.factory.get(topicName);
+ return DmaapTopicFactories.getSourceFactory().get(topicName);
}
@Override
public NoopTopicSource getNoopTopicSource(String topicName) {
- return NoopTopicSource.factory.get(topicName);
+ return NoopTopicFactories.getSourceFactory().get(topicName);
}
@Override
public DmaapTopicSink getDmaapTopicSink(String topicName) {
- return DmaapTopicSink.factory.get(topicName);
+ return DmaapTopicFactories.getSinkFactory().get(topicName);
}
@Override
public NoopTopicSink getNoopTopicSink(String topicName) {
- return NoopTopicSink.factory.get(topicName);
+ return NoopTopicFactories.getSinkFactory().get(topicName);
}
private IllegalArgumentException parmException(String topicName) {
* ============LICENSE_START=======================================================
* policy-endpoints
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. 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 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.
* Topic Sink over Bus Infrastructure (DMAAP/UEB).
*/
public interface BusTopicSink extends ApiKeyEnabled, TopicSink {
- /**
- * Log Failures after X number of retries.
- */
- public static final int DEFAULT_LOG_SEND_FAILURES_AFTER = 1;
/**
* Sets the UEB partition key for published messages.
- *
+ *
* @param partitionKey the partition key
*/
public void setPartitionKey(String partitionKey);
/**
* Return the partition key in used by the system to publish messages.
- *
+ *
* @return the partition key
*/
public String getPartitionKey();
* ============LICENSE_START=======================================================
* policy-endpoints
* ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2019 AT&T Intellectual Property. 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 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.
*/
public interface BusTopicSource extends ApiKeyEnabled, TopicSource {
- /**
- * Default Timeout fetching in milliseconds.
- */
- public static int DEFAULT_TIMEOUT_MS_FETCH = 15000;
-
- /**
- * Default maximum number of messages fetch at the time.
- */
- public static int DEFAULT_LIMIT_FETCH = 100;
-
- /**
- * Definition of No Timeout fetching.
- */
- public static int NO_TIMEOUT_MS_FETCH = -1;
-
- /**
- * Definition of No limit fetching.
- */
- public static int NO_LIMIT_FETCH = -1;
-
/**
* Gets the consumer group.
- *
+ *
* @return consumer group
*/
public String getConsumerGroup();
/**
* Gets the consumer instance.
- *
+ *
* @return consumer instance
*/
public String getConsumerInstance();
/**
* Gets the fetch timeout.
- *
+ *
* @return fetch timeout
*/
public int getFetchTimeout();
/**
* Gets the fetch limit.
- *
+ *
* @return fetch limit
*/
public int getFetchLimit();
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. 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 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.endpoints.event.comm.bus;
+
+import lombok.Getter;
+
+public class DmaapTopicFactories {
+
+ /**
+ * Factory for instantiation and management of sinks.
+ */
+ @Getter
+ private static final DmaapTopicSinkFactory sinkFactory = new IndexedDmaapTopicSinkFactory();
+
+ /**
+ * Factory for instantiation and management of sources.
+ */
+ @Getter
+ private static final DmaapTopicSourceFactory sourceFactory = new IndexedDmaapTopicSourceFactory();
+
+
+ private DmaapTopicFactories() {
+ // do nothing
+ }
+}
* ============LICENSE_START=======================================================
* policy-endpoints
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. 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 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.
public interface DmaapTopicSink extends BusTopicSink {
- /**
- * Factory of UebTopicWriter for instantiation and management purposes.
- */
-
- public static final DmaapTopicSinkFactory factory = new IndexedDmaapTopicSinkFactory();
}
*/
public interface DmaapTopicSinkFactory {
- String DME2_READ_TIMEOUT_PROPERTY = "AFT_DME2_EP_READ_TIMEOUT_MS";
- String DME2_EP_CONN_TIMEOUT_PROPERTY = "AFT_DME2_EP_CONN_TIMEOUT";
- String DME2_ROUNDTRIP_TIMEOUT_PROPERTY = "AFT_DME2_ROUNDTRIP_TIMEOUT_MS";
- String DME2_VERSION_PROPERTY = "Version";
- String DME2_ROUTE_OFFER_PROPERTY = "routeOffer";
- String DME2_SERVICE_NAME_PROPERTY = "ServiceName";
- String DME2_SUBCONTEXT_PATH_PROPERTY = "SubContextPath";
- String DME2_SESSION_STICKINESS_REQUIRED_PROPERTY = "sessionstickinessrequired";
-
/**
* <pre>
* Instantiate a new DMAAP Topic Sink, with following params.
* ============LICENSE_START=======================================================
* policy-endpoints
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. 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 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.
public interface DmaapTopicSource extends BusTopicSource {
- /**
- * factory for managing and tracking DMAAP sources.
- */
- public static DmaapTopicSourceFactory factory = new IndexedDmaapTopicSourceFactory();
}
* 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.
* DMAAP Topic Source Factory.
*/
public interface DmaapTopicSourceFactory {
- String DME2_READ_TIMEOUT_PROPERTY = "AFT_DME2_EP_READ_TIMEOUT_MS";
- String DME2_EP_CONN_TIMEOUT_PROPERTY = "AFT_DME2_EP_CONN_TIMEOUT";
- String DME2_ROUNDTRIP_TIMEOUT_PROPERTY = "AFT_DME2_ROUNDTRIP_TIMEOUT_MS";
- String DME2_VERSION_PROPERTY = "Version";
- String DME2_ROUTE_OFFER_PROPERTY = "routeOffer";
- String DME2_SERVICE_NAME_PROPERTY = "ServiceName";
- String DME2_SUBCONTEXT_PATH_PROPERTY = "SubContextPath";
- String DME2_SESSION_STICKINESS_REQUIRED_PROPERTY = "sessionstickinessrequired";
/**
* Creates an DMAAP Topic Source based on properties files.
- *
+ *
* @param properties Properties containing initialization values
- *
+ *
* @return an DMAAP Topic Source
* @throws IllegalArgumentException if invalid parameters are present
*/
/**
* Instantiates a new DMAAP Topic Source.
- *
+ *
* @param busTopicParams parameters object
* @return a DMAAP Topic Source
*/
/**
* Instantiates a new DMAAP Topic Source.
- *
+ *
* @param servers list of servers
* @param topic topic name
* @param apiKey API Key
* @param apiSecret API Secret
- *
+ *
* @return an DMAAP Topic Source
* @throws IllegalArgumentException if invalid parameters are present
*/
/**
* Instantiates a new DMAAP Topic Source.
- *
+ *
* @param servers list of servers
* @param topic topic name
- *
+ *
* @return an DMAAP Topic Source
* @throws IllegalArgumentException if invalid parameters are present
*/
/**
* Destroys an DMAAP Topic Source based on a topic.
- *
+ *
* @param topic topic name
* @throws IllegalArgumentException if invalid parameters are present
*/
/**
* Gets an DMAAP Topic Source based on topic name.
- *
+ *
* @param topic the topic name
* @return an DMAAP Topic Source with topic name
* @throws IllegalArgumentException if an invalid topic is provided
/**
* Provides a snapshot of the DMAAP Topic Sources.
- *
+ *
* @return a list of the DMAAP Topic Sources
*/
List<DmaapTopicSource> inventory();
.topic(topic)
.apiKey(apiKey)
.apiSecret(apiSecret)
- .fetchTimeout(DmaapTopicSource.DEFAULT_TIMEOUT_MS_FETCH)
- .fetchLimit(DmaapTopicSource.DEFAULT_LIMIT_FETCH)
+ .fetchTimeout(PolicyEndPointProperties.DEFAULT_TIMEOUT_MS_FETCH)
+ .fetchLimit(PolicyEndPointProperties.DEFAULT_LIMIT_FETCH)
.managed(true)
.useHttps(false)
.allowSelfSignedCerts(false)
PolicyEndPointProperties.PROPERTY_TOPIC_SOURCE_CONSUMER_INSTANCE_SUFFIX, null))
.fetchTimeout(props.getInteger(
PolicyEndPointProperties.PROPERTY_TOPIC_SOURCE_FETCH_TIMEOUT_SUFFIX,
- DmaapTopicSource.DEFAULT_TIMEOUT_MS_FETCH))
+ PolicyEndPointProperties.DEFAULT_TIMEOUT_MS_FETCH))
.fetchLimit(props.getInteger(PolicyEndPointProperties.PROPERTY_TOPIC_SOURCE_FETCH_LIMIT_SUFFIX,
- DmaapTopicSource.DEFAULT_LIMIT_FETCH))
+ PolicyEndPointProperties.DEFAULT_LIMIT_FETCH))
.build());
dmaapTopicSourceLst.add(uebTopicSource);
.topic(topic)
.apiKey(apiKey)
.apiSecret(apiSecret)
- .fetchTimeout(UebTopicSource.DEFAULT_TIMEOUT_MS_FETCH)
- .fetchLimit(UebTopicSource.DEFAULT_LIMIT_FETCH)
+ .fetchTimeout(PolicyEndPointProperties.DEFAULT_TIMEOUT_MS_FETCH)
+ .fetchLimit(PolicyEndPointProperties.DEFAULT_LIMIT_FETCH)
.managed(true)
.useHttps(false)
.allowSelfSignedCerts(true).build());
PolicyEndPointProperties.PROPERTY_TOPIC_SOURCE_CONSUMER_INSTANCE_SUFFIX, null))
.fetchTimeout(props.getInteger(
PolicyEndPointProperties.PROPERTY_TOPIC_SOURCE_FETCH_TIMEOUT_SUFFIX,
- UebTopicSource.DEFAULT_TIMEOUT_MS_FETCH))
+ PolicyEndPointProperties.DEFAULT_TIMEOUT_MS_FETCH))
.fetchLimit(props.getInteger(PolicyEndPointProperties.PROPERTY_TOPIC_SOURCE_FETCH_LIMIT_SUFFIX,
- UebTopicSource.DEFAULT_LIMIT_FETCH))
+ PolicyEndPointProperties.DEFAULT_LIMIT_FETCH))
.build());
newUebTopicSources.add(uebTopicSource);
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. 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 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.endpoints.event.comm.bus;
+
+import lombok.Getter;
+
+public class NoopTopicFactories {
+
+ /**
+ * Factory for instantiation and management of sinks.
+ */
+ @Getter
+ private static final NoopTopicSinkFactory sinkFactory = new NoopTopicSinkFactory();
+
+ /**
+ * Factory for instantiation and management of sources.
+ */
+ @Getter
+ private static final NoopTopicSourceFactory sourceFactory = new NoopTopicSourceFactory();
+
+
+ private NoopTopicFactories() {
+ // do nothing
+ }
+}
*/
public class NoopTopicSink extends NoopTopicEndpoint implements TopicSink {
- /**
- * Factory.
- */
- public static final NoopTopicSinkFactory factory = new NoopTopicSinkFactory();
-
/**
* Constructs the object.
*/
*/
public class NoopTopicSource extends NoopTopicEndpoint implements TopicSource {
- /**
- * Factory.
- */
- public static final NoopTopicSourceFactory factory = new NoopTopicSourceFactory();
-
/**
* Constructs the object.
*/
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. 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 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.endpoints.event.comm.bus;
+
+import lombok.Getter;
+
+public class UebTopicFactories {
+
+ /**
+ * Factory for instantiation and management of sinks.
+ */
+ @Getter
+ private static final UebTopicSinkFactory sinkFactory = new IndexedUebTopicSinkFactory();
+
+ /**
+ * Factory for instantiation and management of sources.
+ */
+ @Getter
+ private static final UebTopicSourceFactory sourceFactory = new IndexedUebTopicSourceFactory();
+
+
+ private UebTopicFactories() {
+ // do nothing
+ }
+}
* ============LICENSE_START=======================================================
* policy-endpoints
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. 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 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.
*/
public interface UebTopicSink extends BusTopicSink {
- /**
- * Factory of UEB Topic Sinks for instantiation and management purposes.
- */
- public static final UebTopicSinkFactory factory = new IndexedUebTopicSinkFactory();
}
* ============LICENSE_START=======================================================
* policy-endpoints
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. 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 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.
*/
public interface UebTopicSource extends BusTopicSource {
- /**
- * factory for managing and tracking UEB readers.
- */
- public static UebTopicSourceFactory factory = new IndexedUebTopicSourceFactory();
}
import com.att.nsa.cambria.client.CambriaClientBuilders;
import com.att.nsa.cambria.client.CambriaClientBuilders.ConsumerBuilder;
import com.att.nsa.cambria.client.CambriaConsumer;
-
import java.io.IOException;
import java.net.MalformedURLException;
import java.security.GeneralSecurityException;
import org.onap.dmaap.mr.client.impl.MRConsumerImpl;
import org.onap.dmaap.mr.client.response.MRConsumerResponse;
import org.onap.dmaap.mr.test.clients.ProtocolTypeConstants;
-import org.onap.policy.common.endpoints.event.comm.bus.DmaapTopicSinkFactory;
import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
* fetch messages.
*
* @return list of messages
- * @throws Exception when error encountered by underlying libraries
+ * @throws IOException when error encountered by underlying libraries
*/
- public Iterable<String> fetch() throws InterruptedException, IOException;
+ public Iterable<String> fetch() throws IOException;
/**
* close underlying library consumer.
}
@Override
- public Iterable<String> fetch() throws IOException, InterruptedException {
+ public Iterable<String> fetch() throws IOException {
try {
return getCurrentConsumer().fetch();
} catch (final IOException e) {
logger.error("{}: cannot fetch because of {} - backoff for {} ms.", this, e.getMessage(),
- this.fetchTimeout, e);
+ this.fetchTimeout);
+ sleepAfterFetchFailure();
+ throw e;
+ }
+ }
+ private void sleepAfterFetchFailure() {
+ try {
this.closeCondition.await(this.fetchTimeout, TimeUnit.MILLISECONDS);
- throw e;
+ } catch (InterruptedException e) {
+ logger.warn("{}: interrupted while handling fetch error", this, e);
+ Thread.currentThread().interrupt();
}
}
}
@Override
- public Iterable<String> fetch() throws InterruptedException, IOException {
+ public Iterable<String> fetch() throws IOException {
final MRConsumerResponse response = this.consumer.fetchWithReturnConsumerResponse();
if (response == null) {
logger.warn("{}: DMaaP NULL response received", this);
- closeCondition.await(fetchTimeout, TimeUnit.MILLISECONDS);
+ sleepAfterFetchFailure();
return new ArrayList<>();
} else {
logger.debug("DMaaP consumer received {} : {}", response.getResponseCode(),
logger.error("DMaaP consumer received: {} : {}", response.getResponseCode(),
response.getResponseMessage());
- closeCondition.await(fetchTimeout, TimeUnit.MILLISECONDS);
+ sleepAfterFetchFailure();
/* fall through */
}
}
}
+ private void sleepAfterFetchFailure() {
+ try {
+ this.closeCondition.await(this.fetchTimeout, TimeUnit.MILLISECONDS);
+
+ } catch (InterruptedException e) {
+ logger.warn("{}: interrupted while handling fetch error", this, e);
+ Thread.currentThread().interrupt();
+ }
+ }
+
@Override
public void close() {
this.closeCondition.countDown();
final String dme2RouteOffer = (busTopicParams.isAdditionalPropsValid()
- ? busTopicParams.getAdditionalProps().get(DmaapTopicSinkFactory.DME2_ROUTE_OFFER_PROPERTY)
+ ? busTopicParams.getAdditionalProps().get(
+ PolicyEndPointProperties.DME2_ROUTE_OFFER_PROPERTY)
: null);
if (busTopicParams.isEnvironmentInvalid()) {
props = new Properties();
- props.setProperty(DmaapTopicSinkFactory.DME2_SERVICE_NAME_PROPERTY, serviceName);
+ props.setProperty(PolicyEndPointProperties.DME2_SERVICE_NAME_PROPERTY, serviceName);
props.setProperty("username", busTopicParams.getUserName());
props.setProperty("password", busTopicParams.getPassword());
props.setProperty("Partner", busTopicParams.getPartner());
}
if (dme2RouteOffer != null) {
- props.setProperty(DmaapTopicSinkFactory.DME2_ROUTE_OFFER_PROPERTY, dme2RouteOffer);
+ props.setProperty(PolicyEndPointProperties.DME2_ROUTE_OFFER_PROPERTY, dme2RouteOffer);
}
props.setProperty("Latitude", busTopicParams.getLatitude());
import com.att.nsa.cambria.client.CambriaClientBuilders;
import com.att.nsa.cambria.client.CambriaClientBuilders.PublisherBuilder;
import com.fasterxml.jackson.annotation.JsonIgnore;
-
import java.net.MalformedURLException;
import java.security.GeneralSecurityException;
import java.util.ArrayList;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
-
import org.apache.commons.lang3.StringUtils;
import org.onap.dmaap.mr.client.impl.MRSimplerBatchPublisher;
import org.onap.dmaap.mr.client.response.MRPublisherResponse;
import org.onap.dmaap.mr.test.clients.ProtocolTypeConstants;
-import org.onap.policy.common.endpoints.event.comm.bus.DmaapTopicSinkFactory;
import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
import org.onap.policy.common.gson.annotation.GsonJsonIgnore;
import org.slf4j.Logger;
busTopicParams.getUserName(),busTopicParams.getPassword(),busTopicParams.isUseHttps());
String dme2RouteOffer = busTopicParams.isAdditionalPropsValid()
- ? busTopicParams.getAdditionalProps().get(DmaapTopicSinkFactory.DME2_ROUTE_OFFER_PROPERTY)
+ ? busTopicParams.getAdditionalProps().get(
+ PolicyEndPointProperties.DME2_ROUTE_OFFER_PROPERTY)
: null;
validateParams(busTopicParams, dme2RouteOffer);
props.setProperty("Environment", busTopicParams.getEnvironment());
props.setProperty("AFT_ENVIRONMENT", busTopicParams.getAftEnvironment());
- props.setProperty(DmaapTopicSinkFactory.DME2_SERVICE_NAME_PROPERTY, serviceName);
+ props.setProperty(PolicyEndPointProperties.DME2_SERVICE_NAME_PROPERTY, serviceName);
if (busTopicParams.getPartner() != null) {
props.setProperty("Partner", busTopicParams.getPartner());
}
if (dme2RouteOffer != null) {
- props.setProperty(DmaapTopicSinkFactory.DME2_ROUTE_OFFER_PROPERTY, dme2RouteOffer);
+ props.setProperty(PolicyEndPointProperties.DME2_ROUTE_OFFER_PROPERTY, dme2RouteOffer);
}
props.setProperty("Latitude", busTopicParams.getLatitude());
import org.onap.policy.common.endpoints.event.comm.TopicListener;
import org.onap.policy.common.endpoints.event.comm.bus.BusTopicSource;
import org.onap.policy.common.endpoints.event.comm.bus.internal.BusConsumer.FilterableBusConsumer;
+import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
import org.onap.policy.common.endpoints.utils.NetLoggerUtil;
import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType;
import org.onap.policy.common.utils.network.NetworkUtil;
}
if (busTopicParams.getFetchTimeout() <= 0) {
- this.fetchTimeout = NO_TIMEOUT_MS_FETCH;
+ this.fetchTimeout = PolicyEndPointProperties.NO_TIMEOUT_MS_FETCH;
} else {
this.fetchTimeout = busTopicParams.getFetchTimeout();
}
if (busTopicParams.getFetchLimit() <= 0) {
- this.fetchLimit = NO_LIMIT_FETCH;
+ this.fetchLimit = PolicyEndPointProperties.NO_LIMIT_FETCH;
} else {
this.fetchLimit = busTopicParams.getFetchLimit();
}
while (this.alive) {
try {
fetchAllMessages();
- } catch (Exception e) {
+ } catch (IOException | RuntimeException e) {
logger.error("{}: cannot fetch because of ", this, e.getMessage(), e);
}
}
logger.info("{}: exiting thread", this);
}
- private void fetchAllMessages() throws InterruptedException, IOException {
+ private void fetchAllMessages() throws IOException {
for (String event : this.consumer.fetch()) {
synchronized (this) {
this.recentEvents.add(event);
import java.util.List;
import lombok.Getter;
import lombok.NonNull;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
import org.onap.policy.common.endpoints.event.comm.TopicSink;
import org.onap.policy.common.utils.coder.Coder;
import org.onap.policy.common.utils.coder.CoderException;
* @return the sinks for the topic
*/
protected List<TopicSink> getTopicSinks(final String topic) {
- return TopicEndpoint.manager.getTopicSinks(topic);
+ return TopicEndpointManager.getManager().getTopicSinks(topic);
}
}
import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType;
import org.onap.policy.common.utils.services.OrderedService;
-import org.onap.policy.common.utils.services.OrderedServiceImpl;
import org.slf4j.Logger;
/**
*/
public interface NetLoggerFeatureApi extends OrderedService {
- /**
- * Feature providers implementing this interface.
- */
- OrderedServiceImpl<NetLoggerFeatureApi> providers =
- new OrderedServiceImpl<>(NetLoggerFeatureApi.class);
-
/**
* Intercepts a message before it is logged.
*
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. 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 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.endpoints.features;
+
+import lombok.Getter;
+import org.onap.policy.common.utils.services.OrderedServiceImpl;
+
+/**
+ * Providers for network logging feature.
+ */
+public class NetLoggerFeatureProviders {
+
+ /**
+ * Feature providers implementing this interface.
+ */
+ @Getter
+ private static OrderedServiceImpl<NetLoggerFeatureApi> providers =
+ new OrderedServiceImpl<>(NetLoggerFeatureApi.class);
+
+ private NetLoggerFeatureProviders() {
+ // do nothing
+ }
+}
* 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.
*/
public interface HttpClient extends Startable {
- /**
- * Factory.
- */
- HttpClientFactory factory = new IndexedHttpClientFactory();
-
/**
* GET request.
*
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. 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 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.endpoints.http.client;
+
+/**
+ * Exception generated by HttpClient builder.
+ */
+public class HttpClientConfigException extends Exception {
+ private static final long serialVersionUID = 1L;
+
+ public HttpClientConfigException() {
+ super();
+ }
+
+ public HttpClientConfigException(String message) {
+ super(message);
+ }
+
+ public HttpClientConfigException(Throwable cause) {
+ super(cause);
+ }
+
+ public HttpClientConfigException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
* 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.
package org.onap.policy.common.endpoints.http.client;
-import java.security.KeyManagementException;
-import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Properties;
import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
/**
* Build and http client with the following parameters.
*/
- HttpClient build(BusTopicParams busTopicParams)
- throws KeyManagementException, NoSuchAlgorithmException, ClassNotFoundException;
+ HttpClient build(BusTopicParams busTopicParams) throws HttpClientConfigException;
/**
* Build http client from properties.
*/
- List<HttpClient> build(Properties properties) throws KeyManagementException, NoSuchAlgorithmException;
+ List<HttpClient> build(Properties properties) throws HttpClientConfigException;
/**
* Get http client.
- *
+ *
* @param name the name
* @return the http client
*/
/**
* List of http clients.
- *
+ *
* @return http clients
*/
List<HttpClient> inventory();
/**
* Destroy by name.
- *
+ *
* @param name name
*/
void destroy(String name);
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. 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 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.endpoints.http.client;
+
+import lombok.Getter;
+
+public class HttpClientFactoryInstance {
+
+ /**
+ * The client factory.
+ */
+ @Getter
+ private static final HttpClientFactory clientFactory = new IndexedHttpClientFactory();
+
+
+ private HttpClientFactoryInstance() {
+ // do nothing
+ }
+}
protected HashMap<String, HttpClient> clients = new HashMap<>();
@Override
- public synchronized HttpClient build(BusTopicParams busTopicParams)
- throws KeyManagementException, NoSuchAlgorithmException, ClassNotFoundException {
+ public synchronized HttpClient build(BusTopicParams busTopicParams) throws HttpClientConfigException {
if (clients.containsKey(busTopicParams.getClientName())) {
return clients.get(busTopicParams.getClientName());
}
- JerseyClient client =
- new JerseyClient(busTopicParams);
+ JerseyClient client;
+ try {
+ client = new JerseyClient(busTopicParams);
+ } catch (KeyManagementException | NoSuchAlgorithmException | ClassNotFoundException e) {
+ throw new HttpClientConfigException(e);
+ }
if (busTopicParams.isManaged()) {
clients.put(busTopicParams.getClientName(), client);
}
@Override
- public synchronized List<HttpClient> build(Properties properties)
- throws KeyManagementException, NoSuchAlgorithmException {
+ public synchronized List<HttpClient> build(Properties properties) throws HttpClientConfigException {
ArrayList<HttpClient> clientList = new ArrayList<>();
String clientNames = properties.getProperty(PolicyEndPointProperties.PROPERTY_HTTP_CLIENT_SERVICES);
* 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.
*/
public interface HttpServletServer extends Startable {
-
- /**
- * Factory of Http Servlet Servers.
- */
- HttpServletServerFactory factory = new IndexedHttpServletServerFactory();
-
/**
* Get the port.
- *
+ *
* @return port
*/
int getPort();
/**
* Enables basic authentication with user and password on the the relative path relativeUriPath.
- *
+ *
* @param user user
* @param password password
* @param relativeUriPath relative path
/**
* Sets the serialization provider to be used when classes are added to the service.
- *
+ *
* @param provider the provider to use for message serialization and de-serialization
*/
void setSerializationProvider(String provider);
/**
* Adds a JAX-RS servlet class to serve REST requests.
- *
+ *
* @param servletPath servlet path
* @param restClass JAX-RS API Class
- *
+ *
* @throws IllegalArgumentException unable to process because of invalid input
* @throws IllegalStateException unable to process because of invalid state
*/
/**
* Adds a package containing JAX-RS classes to serve REST requests.
- *
+ *
* @param servletPath servlet path
* @param restPackage JAX-RS package to scan
- *
+ *
* @throws IllegalArgumentException unable to process because of invalid input
* @throws IllegalStateException unable to process because of invalid state
*/
/**
* Blocking start of the http server.
- *
+ *
* @param maxWaitTime max time to wait for the start to take place
* @return true if start was successful
- *
+ *
* @throws IllegalArgumentException if arguments are invalid
* @throws InterruptedException if the blocking operation is interrupted
*/
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. 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 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.endpoints.http.server;
+
+import lombok.Getter;
+
+public class HttpServletServerFactoryInstance {
+
+ /**
+ * The servlet factory.
+ */
+ @Getter
+ private static final HttpServletServerFactory serverFactory = new IndexedHttpServletServerFactory();
+
+
+ private HttpServletServerFactoryInstance() {
+ // do nothing
+ }
+
+}
* 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.
package org.onap.policy.common.endpoints.properties;
-public interface PolicyEndPointProperties {
+public class PolicyEndPointProperties {
/* Generic property suffixes */
- String PROPERTY_TOPIC_SERVERS_SUFFIX = ".servers";
- String PROPERTY_TOPIC_TOPICS_SUFFIX = ".topics";
- String PROPERTY_TOPIC_API_KEY_SUFFIX = ".apiKey";
- String PROPERTY_TOPIC_API_SECRET_SUFFIX = ".apiSecret";
- String PROPERTY_TOPIC_AAF_MECHID_SUFFIX = ".aafMechId";
- String PROPERTY_TOPIC_AAF_PASSWORD_SUFFIX = ".aafPassword";
- String PROPERTY_TOPIC_EFFECTIVE_TOPIC_SUFFIX = ".effectiveTopic";
- String PROPERTY_TOPIC_EVENTS_SUFFIX = ".events";
- String PROPERTY_TOPIC_EVENTS_FILTER_SUFFIX = ".filter";
- String PROPERTY_TOPIC_EVENTS_CUSTOM_MODEL_CODER_GSON_SUFFIX = ".events.custom.gson";
+ public static final String PROPERTY_TOPIC_SERVERS_SUFFIX = ".servers";
+ public static final String PROPERTY_TOPIC_TOPICS_SUFFIX = ".topics";
+ public static final String PROPERTY_TOPIC_API_KEY_SUFFIX = ".apiKey";
+ public static final String PROPERTY_TOPIC_API_SECRET_SUFFIX = ".apiSecret";
+ public static final String PROPERTY_TOPIC_AAF_MECHID_SUFFIX = ".aafMechId";
+ public static final String PROPERTY_TOPIC_AAF_PASSWORD_SUFFIX = ".aafPassword";
+ public static final String PROPERTY_TOPIC_EFFECTIVE_TOPIC_SUFFIX = ".effectiveTopic";
+ public static final String PROPERTY_TOPIC_EVENTS_SUFFIX = ".events";
+ public static final String PROPERTY_TOPIC_EVENTS_FILTER_SUFFIX = ".filter";
+ public static final String PROPERTY_TOPIC_EVENTS_CUSTOM_MODEL_CODER_GSON_SUFFIX = ".events.custom.gson";
- String PROPERTY_TOPIC_SOURCE_CONSUMER_GROUP_SUFFIX = ".consumerGroup";
- String PROPERTY_TOPIC_SOURCE_CONSUMER_INSTANCE_SUFFIX = ".consumerInstance";
- String PROPERTY_TOPIC_SOURCE_FETCH_TIMEOUT_SUFFIX = ".fetchTimeout";
- String PROPERTY_TOPIC_SOURCE_FETCH_LIMIT_SUFFIX = ".fetchLimit";
- String PROPERTY_MANAGED_SUFFIX = ".managed";
- String PROPERTY_AAF_SUFFIX = ".aaf";
+ public static final String PROPERTY_TOPIC_SOURCE_CONSUMER_GROUP_SUFFIX = ".consumerGroup";
+ public static final String PROPERTY_TOPIC_SOURCE_CONSUMER_INSTANCE_SUFFIX = ".consumerInstance";
+ public static final String PROPERTY_TOPIC_SOURCE_FETCH_TIMEOUT_SUFFIX = ".fetchTimeout";
+ public static final String PROPERTY_TOPIC_SOURCE_FETCH_LIMIT_SUFFIX = ".fetchLimit";
+ public static final String PROPERTY_MANAGED_SUFFIX = ".managed";
+ public static final String PROPERTY_AAF_SUFFIX = ".aaf";
- String PROPERTY_TOPIC_SINK_PARTITION_KEY_SUFFIX = ".partitionKey";
+ public static final String PROPERTY_TOPIC_SINK_PARTITION_KEY_SUFFIX = ".partitionKey";
- String PROPERTY_ALLOW_SELF_SIGNED_CERTIFICATES_SUFFIX = ".selfSignedCertificates";
+ public static final String PROPERTY_ALLOW_SELF_SIGNED_CERTIFICATES_SUFFIX = ".selfSignedCertificates";
/* UEB Properties */
- String PROPERTY_UEB_SOURCE_TOPICS = "ueb.source.topics";
- String PROPERTY_UEB_SINK_TOPICS = "ueb.sink.topics";
+ public static final String PROPERTY_UEB_SOURCE_TOPICS = "ueb.source.topics";
+ public static final String PROPERTY_UEB_SINK_TOPICS = "ueb.sink.topics";
/* DMAAP Properties */
- String PROPERTY_DMAAP_SOURCE_TOPICS = "dmaap.source.topics";
- String PROPERTY_DMAAP_SINK_TOPICS = "dmaap.sink.topics";
-
- String PROPERTY_DMAAP_DME2_PARTNER_SUFFIX = ".dme2.partner";
- String PROPERTY_DMAAP_DME2_ROUTE_OFFER_SUFFIX = ".dme2.routeOffer";
- String PROPERTY_DMAAP_DME2_ENVIRONMENT_SUFFIX = ".dme2.environment";
- String PROPERTY_DMAAP_DME2_AFT_ENVIRONMENT_SUFFIX = ".dme2.aft.environment";
- String PROPERTY_DMAAP_DME2_LATITUDE_SUFFIX = ".dme2.latitude";
- String PROPERTY_DMAAP_DME2_LONGITUDE_SUFFIX = ".dme2.longitude";
-
- String PROPERTY_DMAAP_DME2_EP_READ_TIMEOUT_MS_SUFFIX = ".dme2.epReadTimeoutMs";
- String PROPERTY_DMAAP_DME2_EP_CONN_TIMEOUT_SUFFIX = ".dme2.epConnTimeout";
- String PROPERTY_DMAAP_DME2_ROUNDTRIP_TIMEOUT_MS_SUFFIX = ".dme2.roundtripTimeoutMs";
- String PROPERTY_DMAAP_DME2_VERSION_SUFFIX = ".dme2.version";
- String PROPERTY_DMAAP_DME2_SERVICE_NAME_SUFFIX = ".dme2.serviceName";
- String PROPERTY_DMAAP_DME2_SUB_CONTEXT_PATH_SUFFIX = ".dme2.subContextPath";
- String PROPERTY_DMAAP_DME2_SESSION_STICKINESS_REQUIRED_SUFFIX =
+ public static final String PROPERTY_DMAAP_SOURCE_TOPICS = "dmaap.source.topics";
+ public static final String PROPERTY_DMAAP_SINK_TOPICS = "dmaap.sink.topics";
+
+ public static final String PROPERTY_DMAAP_DME2_PARTNER_SUFFIX = ".dme2.partner";
+ public static final String PROPERTY_DMAAP_DME2_ROUTE_OFFER_SUFFIX = ".dme2.routeOffer";
+ public static final String PROPERTY_DMAAP_DME2_ENVIRONMENT_SUFFIX = ".dme2.environment";
+ public static final String PROPERTY_DMAAP_DME2_AFT_ENVIRONMENT_SUFFIX = ".dme2.aft.environment";
+ public static final String PROPERTY_DMAAP_DME2_LATITUDE_SUFFIX = ".dme2.latitude";
+ public static final String PROPERTY_DMAAP_DME2_LONGITUDE_SUFFIX = ".dme2.longitude";
+
+ public static final String PROPERTY_DMAAP_DME2_EP_READ_TIMEOUT_MS_SUFFIX = ".dme2.epReadTimeoutMs";
+ public static final String PROPERTY_DMAAP_DME2_EP_CONN_TIMEOUT_SUFFIX = ".dme2.epConnTimeout";
+ public static final String PROPERTY_DMAAP_DME2_ROUNDTRIP_TIMEOUT_MS_SUFFIX = ".dme2.roundtripTimeoutMs";
+ public static final String PROPERTY_DMAAP_DME2_VERSION_SUFFIX = ".dme2.version";
+ public static final String PROPERTY_DMAAP_DME2_SERVICE_NAME_SUFFIX = ".dme2.serviceName";
+ public static final String PROPERTY_DMAAP_DME2_SUB_CONTEXT_PATH_SUFFIX = ".dme2.subContextPath";
+ public static final String PROPERTY_DMAAP_DME2_SESSION_STICKINESS_REQUIRED_SUFFIX =
".dme2.sessionStickinessRequired";
- String PROPERTY_NOOP_SOURCE_TOPICS = "noop.source.topics";
- String PROPERTY_NOOP_SINK_TOPICS = "noop.sink.topics";
+ public static final String PROPERTY_NOOP_SOURCE_TOPICS = "noop.source.topics";
+ public static final String PROPERTY_NOOP_SINK_TOPICS = "noop.sink.topics";
/* HTTP Server Properties */
- String PROPERTY_HTTP_SERVER_SERVICES = "http.server.services";
+ public static final String PROPERTY_HTTP_SERVER_SERVICES = "http.server.services";
- String PROPERTY_HTTP_HOST_SUFFIX = ".host";
- String PROPERTY_HTTP_PORT_SUFFIX = ".port";
- String PROPERTY_HTTP_CONTEXT_URIPATH_SUFFIX = ".contextUriPath";
+ public static final String PROPERTY_HTTP_HOST_SUFFIX = ".host";
+ public static final String PROPERTY_HTTP_PORT_SUFFIX = ".port";
+ public static final String PROPERTY_HTTP_CONTEXT_URIPATH_SUFFIX = ".contextUriPath";
- String PROPERTY_HTTP_AUTH_USERNAME_SUFFIX = ".userName";
- String PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX = ".password";
- String PROPERTY_HTTP_AUTH_URIPATH_SUFFIX = ".authUriPath";
+ public static final String PROPERTY_HTTP_AUTH_USERNAME_SUFFIX = ".userName";
+ public static final String PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX = ".password";
+ public static final String PROPERTY_HTTP_AUTH_URIPATH_SUFFIX = ".authUriPath";
- String PROPERTY_HTTP_FILTER_CLASSES_SUFFIX = ".filterClasses";
- String PROPERTY_HTTP_REST_CLASSES_SUFFIX = ".restClasses";
- String PROPERTY_HTTP_REST_PACKAGES_SUFFIX = ".restPackages";
- String PROPERTY_HTTP_REST_URIPATH_SUFFIX = ".restUriPath";
+ public static final String PROPERTY_HTTP_FILTER_CLASSES_SUFFIX = ".filterClasses";
+ public static final String PROPERTY_HTTP_REST_CLASSES_SUFFIX = ".restClasses";
+ public static final String PROPERTY_HTTP_REST_PACKAGES_SUFFIX = ".restPackages";
+ public static final String PROPERTY_HTTP_REST_URIPATH_SUFFIX = ".restUriPath";
- String PROPERTY_HTTP_HTTPS_SUFFIX = ".https";
- String PROPERTY_HTTP_SWAGGER_SUFFIX = ".swagger";
+ public static final String PROPERTY_HTTP_HTTPS_SUFFIX = ".https";
+ public static final String PROPERTY_HTTP_SWAGGER_SUFFIX = ".swagger";
- String PROPERTY_HTTP_SERIALIZATION_PROVIDER = ".serialization.provider";
+ public static final String PROPERTY_HTTP_SERIALIZATION_PROVIDER = ".serialization.provider";
/* HTTP Client Properties */
- String PROPERTY_HTTP_CLIENT_SERVICES = "http.client.services";
+ public static final String PROPERTY_HTTP_CLIENT_SERVICES = "http.client.services";
- String PROPERTY_HTTP_URL_SUFFIX = PROPERTY_HTTP_CONTEXT_URIPATH_SUFFIX;
+ public static final String PROPERTY_HTTP_URL_SUFFIX = PROPERTY_HTTP_CONTEXT_URIPATH_SUFFIX;
+
+
+ /* DMaaP DME2 Topic Properties */
+
+ public static final String DME2_READ_TIMEOUT_PROPERTY = "AFT_DME2_EP_READ_TIMEOUT_MS";
+ public static final String DME2_EP_CONN_TIMEOUT_PROPERTY = "AFT_DME2_EP_CONN_TIMEOUT";
+ public static final String DME2_ROUNDTRIP_TIMEOUT_PROPERTY = "AFT_DME2_ROUNDTRIP_TIMEOUT_MS";
+ public static final String DME2_VERSION_PROPERTY = "Version";
+ public static final String DME2_ROUTE_OFFER_PROPERTY = "routeOffer";
+ public static final String DME2_SERVICE_NAME_PROPERTY = "ServiceName";
+ public static final String DME2_SUBCONTEXT_PATH_PROPERTY = "SubContextPath";
+ public static final String DME2_SESSION_STICKINESS_REQUIRED_PROPERTY = "sessionstickinessrequired";
+
+
+ /* Topic Sink Values */
+
+ /**
+ * Log Failures after X number of retries.
+ */
+ public static final int DEFAULT_LOG_SEND_FAILURES_AFTER = 1;
+
+
+ /* Topic Source values */
+
+ /**
+ * Default Timeout fetching in milliseconds.
+ */
+ public static final int DEFAULT_TIMEOUT_MS_FETCH = 15000;
+
+ /**
+ * Default maximum number of messages fetch at the time.
+ */
+ public static final int DEFAULT_LIMIT_FETCH = 100;
+
+ /**
+ * Definition of No Timeout fetching.
+ */
+ public static final int NO_TIMEOUT_MS_FETCH = -1;
+
+ /**
+ * Definition of No limit fetching.
+ */
+ public static final int NO_LIMIT_FETCH = -1;
+
+
+ private PolicyEndPointProperties() {
+ // do nothing
+ }
}
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
-import org.onap.policy.common.endpoints.event.comm.bus.DmaapTopicSourceFactory;
import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams.TopicParamsBuilder;
import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
Map<String,String> map = new HashMap<>();
map.put(PolicyEndPointProperties.PROPERTY_DMAAP_DME2_ROUTE_OFFER_SUFFIX,
- DmaapTopicSourceFactory.DME2_ROUTE_OFFER_PROPERTY);
+ PolicyEndPointProperties.DME2_ROUTE_OFFER_PROPERTY);
map.put(PolicyEndPointProperties.PROPERTY_DMAAP_DME2_EP_READ_TIMEOUT_MS_SUFFIX,
- DmaapTopicSourceFactory.DME2_READ_TIMEOUT_PROPERTY);
+ PolicyEndPointProperties.DME2_READ_TIMEOUT_PROPERTY);
map.put(PolicyEndPointProperties.PROPERTY_DMAAP_DME2_EP_CONN_TIMEOUT_SUFFIX,
- DmaapTopicSourceFactory.DME2_EP_CONN_TIMEOUT_PROPERTY);
+ PolicyEndPointProperties.DME2_EP_CONN_TIMEOUT_PROPERTY);
map.put(PolicyEndPointProperties.PROPERTY_DMAAP_DME2_ROUNDTRIP_TIMEOUT_MS_SUFFIX,
- DmaapTopicSourceFactory.DME2_ROUNDTRIP_TIMEOUT_PROPERTY);
+ PolicyEndPointProperties.DME2_ROUNDTRIP_TIMEOUT_PROPERTY);
map.put(PolicyEndPointProperties.PROPERTY_DMAAP_DME2_VERSION_SUFFIX,
- DmaapTopicSourceFactory.DME2_VERSION_PROPERTY);
+ PolicyEndPointProperties.DME2_VERSION_PROPERTY);
map.put(PolicyEndPointProperties.PROPERTY_DMAAP_DME2_SUB_CONTEXT_PATH_SUFFIX,
- DmaapTopicSourceFactory.DME2_SUBCONTEXT_PATH_PROPERTY);
+ PolicyEndPointProperties.DME2_SUBCONTEXT_PATH_PROPERTY);
map.put(PolicyEndPointProperties.PROPERTY_DMAAP_DME2_SESSION_STICKINESS_REQUIRED_SUFFIX,
- DmaapTopicSourceFactory.DME2_SESSION_STICKINESS_REQUIRED_PROPERTY);
+ PolicyEndPointProperties.DME2_SESSION_STICKINESS_REQUIRED_PROPERTY);
PROP_TO_DME = Collections.unmodifiableMap(map);
}
import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
import org.onap.policy.common.endpoints.features.NetLoggerFeatureApi;
+import org.onap.policy.common.endpoints.features.NetLoggerFeatureProviders;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
*/
private static boolean featureBeforeLog(Logger eventLogger, EventType type, CommInfrastructure protocol,
String topic, String message) {
- for (NetLoggerFeatureApi feature : NetLoggerFeatureApi.providers.getList()) {
+ for (NetLoggerFeatureApi feature : NetLoggerFeatureProviders.getProviders().getList()) {
try {
if (feature.beforeLog(eventLogger, type, protocol, topic, message)) {
return true;
*/
private static boolean featureAfterLog(Logger eventLogger, EventType type, CommInfrastructure protocol,
String topic, String message) {
- for (NetLoggerFeatureApi feature : NetLoggerFeatureApi.providers.getList()) {
+ for (NetLoggerFeatureApi feature : NetLoggerFeatureProviders.getProviders().getList()) {
try {
if (feature.afterLog(eventLogger, type, protocol, topic, message)) {
return true;
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. 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.
*
* @author Ajith Sreekumar (ajith.sreekumar@est.tech)
*/
-public abstract class ParameterUtils {
+public class ParameterUtils {
/**
* Private constructor used to prevent sub class instantiation.
import java.util.Map;
import org.onap.policy.common.endpoints.event.comm.Topic;
import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
/**
* Base class for DmaapTopicXxxFactory tests.
@Override
public void testBuildProperties() {
-
+
super.testBuildProperties();
-
+
// check properties specific to DMaaP/DME2
initFactory();
assertEquals(MY_PARTNER, params.getPartner());
Map<String, String> add = params.getAdditionalProps();
- assertEquals(MY_CONN_TIMEOUT, add.get(DmaapTopicSinkFactory.DME2_EP_CONN_TIMEOUT_PROPERTY));
- assertEquals(MY_READ_TIMEOUT, add.get(DmaapTopicSinkFactory.DME2_READ_TIMEOUT_PROPERTY));
- assertEquals(MY_ROUNDTRIP_TIMEOUT, add.get(DmaapTopicSinkFactory.DME2_ROUNDTRIP_TIMEOUT_PROPERTY));
- assertEquals(MY_ROUTE, add.get(DmaapTopicSinkFactory.DME2_ROUTE_OFFER_PROPERTY));
- assertEquals(MY_STICKINESS, add.get(DmaapTopicSinkFactory.DME2_SESSION_STICKINESS_REQUIRED_PROPERTY));
- assertEquals(MY_SUBCONTEXT, add.get(DmaapTopicSinkFactory.DME2_SUBCONTEXT_PATH_PROPERTY));
- assertEquals(MY_DME_VERSION, add.get(DmaapTopicSinkFactory.DME2_VERSION_PROPERTY));
+ assertEquals(MY_CONN_TIMEOUT, add.get(PolicyEndPointProperties.DME2_EP_CONN_TIMEOUT_PROPERTY));
+ assertEquals(MY_READ_TIMEOUT, add.get(PolicyEndPointProperties.DME2_READ_TIMEOUT_PROPERTY));
+ assertEquals(MY_ROUNDTRIP_TIMEOUT, add.get(PolicyEndPointProperties.DME2_ROUNDTRIP_TIMEOUT_PROPERTY));
+ assertEquals(MY_ROUTE, add.get(PolicyEndPointProperties.DME2_ROUTE_OFFER_PROPERTY));
+ assertEquals(MY_STICKINESS, add.get(PolicyEndPointProperties.DME2_SESSION_STICKINESS_REQUIRED_PROPERTY));
+ assertEquals(MY_SUBCONTEXT, add.get(PolicyEndPointProperties.DME2_SUBCONTEXT_PATH_PROPERTY));
+ assertEquals(MY_DME_VERSION, add.get(PolicyEndPointProperties.DME2_VERSION_PROPERTY));
}
@Override
// check "additional" properties
expectNullAddProp(PROPERTY_DMAAP_DME2_EP_CONN_TIMEOUT_SUFFIX,
- DmaapTopicSinkFactory.DME2_EP_CONN_TIMEOUT_PROPERTY);
+ PolicyEndPointProperties.DME2_EP_CONN_TIMEOUT_PROPERTY);
expectNullAddProp(PROPERTY_DMAAP_DME2_EP_READ_TIMEOUT_MS_SUFFIX,
- DmaapTopicSinkFactory.DME2_READ_TIMEOUT_PROPERTY);
+ PolicyEndPointProperties.DME2_READ_TIMEOUT_PROPERTY);
expectNullAddProp(PROPERTY_DMAAP_DME2_ROUNDTRIP_TIMEOUT_MS_SUFFIX,
- DmaapTopicSinkFactory.DME2_ROUNDTRIP_TIMEOUT_PROPERTY);
+ PolicyEndPointProperties.DME2_ROUNDTRIP_TIMEOUT_PROPERTY);
- expectNullAddProp(PROPERTY_DMAAP_DME2_ROUTE_OFFER_SUFFIX, DmaapTopicSinkFactory.DME2_ROUTE_OFFER_PROPERTY);
+ expectNullAddProp(PROPERTY_DMAAP_DME2_ROUTE_OFFER_SUFFIX, PolicyEndPointProperties.DME2_ROUTE_OFFER_PROPERTY);
expectNullAddProp(PROPERTY_DMAAP_DME2_SESSION_STICKINESS_REQUIRED_SUFFIX,
- DmaapTopicSinkFactory.DME2_SESSION_STICKINESS_REQUIRED_PROPERTY);
+ PolicyEndPointProperties.DME2_SESSION_STICKINESS_REQUIRED_PROPERTY);
expectNullAddProp(PROPERTY_DMAAP_DME2_SUB_CONTEXT_PATH_SUFFIX,
- DmaapTopicSinkFactory.DME2_SUBCONTEXT_PATH_PROPERTY);
+ PolicyEndPointProperties.DME2_SUBCONTEXT_PATH_PROPERTY);
- expectNullAddProp(PROPERTY_DMAAP_DME2_VERSION_SUFFIX, DmaapTopicSinkFactory.DME2_VERSION_PROPERTY);
+ expectNullAddProp(PROPERTY_DMAAP_DME2_VERSION_SUFFIX, PolicyEndPointProperties.DME2_VERSION_PROPERTY);
}
@Override
* ============LICENSE_START=======================================================
* ONAP Policy Engine - Common Modules
* ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-2019 AT&T Intellectual Property. 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.
@Test
public void test() {
- assertNotNull(DmaapTopicSink.factory);
+ assertNotNull(DmaapTopicFactories.getSinkFactory());
}
}
import org.junit.Before;
import org.junit.Test;
import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
public class DmaapTopicSourceFactoryTest extends DmaapTopicFactoryTestBase<DmaapTopicSource> {
// check default values for source-specific parameters
checkDefault(PROPERTY_TOPIC_SOURCE_FETCH_LIMIT_SUFFIX,
- params2 -> params2.getFetchLimit() == DmaapTopicSource.DEFAULT_LIMIT_FETCH,
+ params2 -> params2.getFetchLimit() == PolicyEndPointProperties.DEFAULT_LIMIT_FETCH,
null, "", "invalid-limit-number");
checkDefault(PROPERTY_TOPIC_SOURCE_FETCH_TIMEOUT_SUFFIX,
- params2 -> params2.getFetchTimeout() == DmaapTopicSource.DEFAULT_TIMEOUT_MS_FETCH,
+ params2 -> params2.getFetchTimeout() == PolicyEndPointProperties.DEFAULT_TIMEOUT_MS_FETCH,
null, "", "invalid-timeout-number");
}
BusTopicParams params = factory.params.getFirst();
assertEquals(MY_API_KEY, params.getApiKey());
assertEquals(MY_API_SECRET, params.getApiSecret());
- assertEquals(DmaapTopicSource.DEFAULT_LIMIT_FETCH, params.getFetchLimit());
- assertEquals(DmaapTopicSource.DEFAULT_TIMEOUT_MS_FETCH, params.getFetchTimeout());
+ assertEquals(PolicyEndPointProperties.DEFAULT_LIMIT_FETCH, params.getFetchLimit());
+ assertEquals(PolicyEndPointProperties.DEFAULT_TIMEOUT_MS_FETCH, params.getFetchTimeout());
}
@Test
BusTopicParams params = factory.params.getFirst();
assertEquals(null, params.getApiKey());
assertEquals(null, params.getApiSecret());
- assertEquals(DmaapTopicSource.DEFAULT_LIMIT_FETCH, params.getFetchLimit());
- assertEquals(DmaapTopicSource.DEFAULT_TIMEOUT_MS_FETCH, params.getFetchTimeout());
+ assertEquals(PolicyEndPointProperties.DEFAULT_LIMIT_FETCH, params.getFetchLimit());
+ assertEquals(PolicyEndPointProperties.DEFAULT_TIMEOUT_MS_FETCH, params.getFetchTimeout());
}
@Test
* ============LICENSE_START=======================================================
* ONAP Policy Engine - Common Modules
* ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-2019 AT&T Intellectual Property. 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.
@Test
public void test() {
- assertNotNull(DmaapTopicSource.factory);
+ assertNotNull(DmaapTopicFactories.getSourceFactory());
}
}
* ============LICENSE_START=======================================================
* ONAP Policy Engine - Common Modules
* ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-2019 AT&T Intellectual Property. 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.
@Test
public void test() {
- assertNotNull(UebTopicSink.factory);
+ assertNotNull(UebTopicFactories.getSinkFactory());
}
}
import org.junit.Before;
import org.junit.Test;
import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
+import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
public class UebTopicSourceFactoryTest extends UebTopicFactoryTestBase<UebTopicSource> {
// check default values for source-specific parameters
checkDefault(PROPERTY_TOPIC_SOURCE_FETCH_LIMIT_SUFFIX,
- params2 -> params2.getFetchLimit() == UebTopicSource.DEFAULT_LIMIT_FETCH,
+ params2 -> params2.getFetchLimit() == PolicyEndPointProperties.DEFAULT_LIMIT_FETCH,
null, "", "invalid-limit-number");
checkDefault(PROPERTY_TOPIC_SOURCE_FETCH_TIMEOUT_SUFFIX,
- params2 -> params2.getFetchTimeout() == UebTopicSource.DEFAULT_TIMEOUT_MS_FETCH,
+ params2 -> params2.getFetchTimeout() == PolicyEndPointProperties.DEFAULT_TIMEOUT_MS_FETCH,
null, "", "invalid-timeout-number");
}
BusTopicParams params = factory.params.getFirst();
assertEquals(MY_API_KEY, params.getApiKey());
assertEquals(MY_API_SECRET, params.getApiSecret());
- assertEquals(UebTopicSource.DEFAULT_LIMIT_FETCH, params.getFetchLimit());
- assertEquals(UebTopicSource.DEFAULT_TIMEOUT_MS_FETCH, params.getFetchTimeout());
+ assertEquals(PolicyEndPointProperties.DEFAULT_LIMIT_FETCH, params.getFetchLimit());
+ assertEquals(PolicyEndPointProperties.DEFAULT_TIMEOUT_MS_FETCH, params.getFetchTimeout());
}
@Test
BusTopicParams params = factory.params.getFirst();
assertEquals(null, params.getApiKey());
assertEquals(null, params.getApiSecret());
- assertEquals(UebTopicSource.DEFAULT_LIMIT_FETCH, params.getFetchLimit());
- assertEquals(UebTopicSource.DEFAULT_TIMEOUT_MS_FETCH, params.getFetchTimeout());
+ assertEquals(PolicyEndPointProperties.DEFAULT_LIMIT_FETCH, params.getFetchLimit());
+ assertEquals(PolicyEndPointProperties.DEFAULT_TIMEOUT_MS_FETCH, params.getFetchTimeout());
assertEquals(true, params.isAllowSelfSignedCerts());
}
* ============LICENSE_START=======================================================
* ONAP Policy Engine - Common Modules
* ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-2019 AT&T Intellectual Property. 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.
@Test
public void test() {
- assertNotNull(UebTopicSource.factory);
+ assertNotNull(UebTopicFactories.getSourceFactory());
}
}
} catch (IOException e) {
assertEquals(ex, e);
-
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- assertEquals(ex, e);
}
}
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Test;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
import org.onap.policy.common.endpoints.event.comm.TopicSink;
public class TopicSinkClientTest {
props.setProperty("noop.sink.topics", TOPIC);
// clear all topics and then configure one topic
- TopicEndpoint.manager.shutdown();
- TopicEndpoint.manager.addTopicSinks(props);
+ TopicEndpointManager.getManager().shutdown();
+ TopicEndpointManager.getManager().addTopicSinks(props);
}
@AfterClass
public static void tearDown() {
// clear all topics after the tests
- TopicEndpoint.manager.shutdown();
+ TopicEndpointManager.getManager().shutdown();
}
/**
@Test
public void testGetTopicSinks() throws Exception {
- sink = TopicEndpoint.manager.getNoopTopicSink(TOPIC);
+ sink = TopicEndpointManager.getManager().getNoopTopicSink(TOPIC);
assertNotNull(sink);
final AtomicReference<String> evref = new AtomicReference<>(null);
@Test
public void testTopicSinkClient_GetTopic() throws TopicSinkClientException {
- assertEquals(TOPIC, new TopicSinkClient(TopicEndpoint.manager.getNoopTopicSink(TOPIC)).getTopic());
+ assertEquals(TOPIC, new TopicSinkClient(TopicEndpointManager.getManager().getNoopTopicSink(TOPIC)).getTopic());
assertEquals(TOPIC, new TopicSinkClient(TOPIC).getTopic());
assertThatThrownBy(() -> new TopicSinkClient((TopicSink) null)).isInstanceOf(IllegalArgumentException.class);
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import java.security.KeyManagementException;
-import java.security.NoSuchAlgorithmException;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import org.junit.Test;
import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.common.endpoints.http.client.HttpClient;
+import org.onap.policy.common.endpoints.http.client.HttpClientConfigException;
+import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
import org.onap.policy.common.endpoints.http.server.HttpServletServer;
+import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
import org.onap.policy.common.endpoints.http.server.internal.JettyJerseyServer;
import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
import org.onap.policy.common.utils.network.NetworkUtil;
/* echo server - http + no auth */
final HttpServletServer echoServerNoAuth =
- HttpServletServer.factory.build("echo", LOCALHOST, 6666, "/", false, true);
+ HttpServletServerFactoryInstance.getServerFactory().build("echo", LOCALHOST, 6666, "/", false, true);
echoServerNoAuth.addServletPackage("/*", HttpClientTest.class.getPackage().getName());
echoServerNoAuth.waitedStart(5000);
/* echo server - https + basic auth */
- final HttpServletServer echoServerAuth =
- HttpServletServer.factory.build("echo", true, LOCALHOST, 6667, "/", false, true);
+ final HttpServletServer echoServerAuth = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo", true, LOCALHOST, 6667, "/", false, true);
echoServerAuth.setBasicAuthentication("x", "y", null);
echoServerAuth.addServletPackage("/*", HttpClientTest.class.getPackage().getName());
echoServerAuth.addFilterClass("/*", TestFilter.class.getName());
*/
@Before
public void setUp() {
- HttpClient.factory.destroy();
+ HttpClientFactoryInstance.getClientFactory().destroy();
MyGsonProvider.resetSome();
MyJacksonProvider.resetSome();
*/
@AfterClass
public static void tearDownAfterClass() {
- HttpServletServer.factory.destroy();
- HttpClient.factory.destroy();
+ HttpServletServerFactoryInstance.getServerFactory().destroy();
+ HttpClientFactoryInstance.getClientFactory().destroy();
if (savedValuesMap.containsKey(JettyJerseyServer.SYSTEM_KEYSTORE_PROPERTY_NAME)) {
System.setProperty(JettyJerseyServer.SYSTEM_KEYSTORE_PROPERTY_NAME,
@Test
public void testHttpPutAuthClient_JacksonProvider() throws Exception {
- final HttpClient client = HttpClient.factory.build(BusTopicParams.builder().clientName(TEST_HTTP_AUTH_CLIENT)
- .useHttps(true).allowSelfSignedCerts(true).hostname(LOCALHOST).port(6667)
- .basePath(JUNIT_ECHO).userName("x").password("y").managed(true)
- .serializationProvider(MyJacksonProvider.class.getName()).build());
+ final HttpClient client = HttpClientFactoryInstance.getClientFactory()
+ .build(BusTopicParams.builder().clientName(TEST_HTTP_AUTH_CLIENT).useHttps(true)
+ .allowSelfSignedCerts(true).hostname(LOCALHOST).port(6667).basePath(JUNIT_ECHO)
+ .userName("x").password("y").managed(true)
+ .serializationProvider(MyJacksonProvider.class.getName()).build());
Entity<MyEntity> entity = Entity.entity(new MyEntity(MY_VALUE), MediaType.APPLICATION_JSON);
final Response response = client.put(HELLO, entity, Collections.emptyMap());
@Test
public void testHttpPutAuthClient_GsonProvider() throws Exception {
- final HttpClient client = HttpClient.factory.build(BusTopicParams.builder().clientName(TEST_HTTP_AUTH_CLIENT)
- .useHttps(true).allowSelfSignedCerts(true).hostname(LOCALHOST).port(6667)
- .basePath(JUNIT_ECHO).userName("x").password("y").managed(true)
- .serializationProvider(MyGsonProvider.class.getName()).build());
+ final HttpClient client = HttpClientFactoryInstance.getClientFactory()
+ .build(BusTopicParams.builder().clientName(TEST_HTTP_AUTH_CLIENT).useHttps(true)
+ .allowSelfSignedCerts(true).hostname(LOCALHOST).port(6667).basePath(JUNIT_ECHO)
+ .userName("x").password("y").managed(true)
+ .serializationProvider(MyGsonProvider.class.getName()).build());
Entity<MyEntity> entity = Entity.entity(new MyEntity(MY_VALUE), MediaType.APPLICATION_JSON);
final Response response = client.put(HELLO, entity, Collections.emptyMap());
httpProperties.setProperty(PolicyEndPointProperties.PROPERTY_HTTP_CLIENT_SERVICES + DOT_PDP
+ PolicyEndPointProperties.PROPERTY_MANAGED_SUFFIX, "true");
- final List<HttpServletServer> servers = HttpServletServer.factory.build(httpProperties);
+ final List<HttpServletServer> servers =
+ HttpServletServerFactoryInstance.getServerFactory().build(httpProperties);
assertEquals(2, servers.size());
- final List<HttpClient> clients = HttpClient.factory.build(httpProperties);
+ final List<HttpClient> clients = HttpClientFactoryInstance.getClientFactory().build(httpProperties);
assertEquals(2, clients.size());
for (final HttpServletServer server : servers) {
server.waitedStart(10000);
}
- final HttpClient clientPap = HttpClient.factory.get("PAP");
+ final HttpClient clientPap = HttpClientFactoryInstance.getClientFactory().get("PAP");
final Response response = clientPap.get();
assertEquals(200, response.getStatus());
- final HttpClient clientPdp = HttpClient.factory.get("PDP");
+ final HttpClient clientPdp = HttpClientFactoryInstance.getClientFactory().get("PDP");
final Response response2 = clientPdp.get("test");
assertEquals(500, response2.getStatus());
+ PolicyEndPointProperties.PROPERTY_HTTP_SERIALIZATION_PROVIDER,
MyJacksonProvider.class.getName());
- final List<HttpClient> clients = HttpClient.factory.build(httpProperties);
+ final List<HttpClient> clients = HttpClientFactoryInstance.getClientFactory().build(httpProperties);
assertEquals(2, clients.size());
Entity<MyEntity> entity = Entity.entity(new MyEntity(MY_VALUE), MediaType.APPLICATION_JSON);
// use gson client
MyGsonProvider.resetSome();
MyJacksonProvider.resetSome();
- HttpClient client = HttpClient.factory.get("GSON");
+ HttpClient client = HttpClientFactoryInstance.getClientFactory().get("GSON");
Response response = client.put(HELLO, entity, Collections.emptyMap());
String body = HttpClient.getBody(response, String.class);
// use jackson client
MyGsonProvider.resetSome();
MyJacksonProvider.resetSome();
- client = HttpClient.factory.get("JACKSON");
+ client = HttpClientFactoryInstance.getClientFactory().get("JACKSON");
response = client.put(HELLO, entity, Collections.emptyMap());
body = HttpClient.getBody(response, String.class);
assertFalse(MyGsonProvider.hasWrittenSome());
}
- private HttpClient getAuthHttpClient()
- throws KeyManagementException, NoSuchAlgorithmException, ClassNotFoundException {
- return HttpClient.factory.build(BusTopicParams.builder().clientName(TEST_HTTP_AUTH_CLIENT)
- .useHttps(true).allowSelfSignedCerts(true).hostname(LOCALHOST).port(6667).basePath(JUNIT_ECHO)
- .userName("x").password("y").managed(true).build());
+ private HttpClient getAuthHttpClient() throws HttpClientConfigException {
+ return HttpClientFactoryInstance.getClientFactory()
+ .build(BusTopicParams.builder().clientName(TEST_HTTP_AUTH_CLIENT).useHttps(true)
+ .allowSelfSignedCerts(true).hostname(LOCALHOST).port(6667).basePath(JUNIT_ECHO)
+ .userName("x").password("y").managed(true).build());
}
private HttpClient getNoAuthHttpClient(String clientName, boolean https, int port)
- throws KeyManagementException, NoSuchAlgorithmException, ClassNotFoundException {
- return HttpClient.factory.build(BusTopicParams.builder().clientName(clientName)
- .useHttps(https).allowSelfSignedCerts(https).hostname(LOCALHOST).port(port).basePath(JUNIT_ECHO)
- .userName(null).password(null).managed(true).build());
+ throws HttpClientConfigException {
+ return HttpClientFactoryInstance.getClientFactory()
+ .build(BusTopicParams.builder().clientName(clientName).useHttps(https)
+ .allowSelfSignedCerts(https).hostname(LOCALHOST).port(port).basePath(JUNIT_ECHO)
+ .userName(null).password(null).managed(true).build());
}
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP
+ * ================================================================================
+ * Copyright (C) 2019 AT&T Intellectual Property. 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 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.endpoints.http.server.test;
+
+import org.junit.Test;
+import org.onap.policy.common.endpoints.http.client.HttpClientConfigException;
+import org.onap.policy.common.utils.test.ExceptionsTester;
+
+public class HttpExceptionsTest extends ExceptionsTester {
+
+ @Test
+ public void testHttpClientConfigException() {
+ test(HttpClientConfigException.class);
+ }
+}
import org.junit.Before;
import org.junit.Test;
import org.onap.policy.common.endpoints.http.server.HttpServletServer;
+import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
import org.onap.policy.common.utils.gson.GsonTestUtils;
import org.onap.policy.common.utils.network.NetworkUtil;
import org.slf4j.Logger;
incrementPort();
portUrl = LOCALHOST_PREFIX + port;
- HttpServletServer.factory.destroy();
+ HttpServletServerFactoryInstance.getServerFactory().destroy();
MyJacksonProvider.resetSome();
MyGsonProvider.resetSome();
@AfterClass
public static void tearDownAfterClass() {
- HttpServletServer.factory.destroy();
+ HttpServletServerFactoryInstance.getServerFactory().destroy();
}
@Test
public void testDefaultPackageServer() throws Exception {
logger.info("-- testDefaultPackageServer() --");
- HttpServletServer server = HttpServletServer.factory.build("echo", LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo", LOCALHOST, port, "/", false, true);
server.addServletPackage("/*", this.getClass().getPackage().getName());
server.addFilterClass("/*", TestFilter.class.getName());
server.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
RestEchoReqResp request = new RestEchoReqResp();
request.setRequestId(100);
public void testJacksonPackageServer() throws Exception {
logger.info("-- testJacksonPackageServer() --");
- HttpServletServer server = HttpServletServer.factory.build("echo", LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo", LOCALHOST, port, "/", false, true);
server.setSerializationProvider(MyJacksonProvider.class.getName());
server.addServletPackage("/*", this.getClass().getPackage().getName());
server.addFilterClass("/*", TestFilter.class.getName());
server.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
RestEchoReqResp request = new RestEchoReqResp();
request.setRequestId(100);
public void testGsonPackageServer() throws Exception {
logger.info("-- testGsonPackageServer() --");
- HttpServletServer server = HttpServletServer.factory.build("echo", LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo", LOCALHOST, port, "/", false, true);
server.setSerializationProvider(MyGsonProvider.class.getName());
server.addServletPackage("/*", this.getClass().getPackage().getName());
server.addFilterClass("/*", TestFilter.class.getName());
server.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
RestEchoReqResp request = new RestEchoReqResp();
request.setRequestId(100);
public void testDefaultClassServer() throws Exception {
logger.info("-- testDefaultClassServer() --");
- HttpServletServer server = HttpServletServer.factory.build("echo", LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo", LOCALHOST, port, "/", false, true);
server.addServletClass("/*", RestEchoService.class.getName());
server.addFilterClass("/*", TestFilter.class.getName());
server.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
RestEchoReqResp request = new RestEchoReqResp();
request.setRequestId(100);
public void testJacksonClassServer() throws Exception {
logger.info("-- testJacksonClassServer() --");
- HttpServletServer server = HttpServletServer.factory.build("echo", LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo", LOCALHOST, port, "/", false, true);
server.setSerializationProvider(MyJacksonProvider.class.getName());
server.addServletClass("/*", RestEchoService.class.getName());
server.addFilterClass("/*", TestFilter.class.getName());
server.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
RestEchoReqResp request = new RestEchoReqResp();
request.setRequestId(100);
public void testGsonClassServer() throws Exception {
logger.info("-- testGsonClassServer() --");
- HttpServletServer server = HttpServletServer.factory.build("echo", LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo", LOCALHOST, port, "/", false, true);
server.setSerializationProvider(MyGsonProvider.class.getName());
server.addServletClass("/*", RestEchoService.class.getName());
server.addFilterClass("/*", TestFilter.class.getName());
server.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
RestEchoReqResp request = new RestEchoReqResp();
request.setRequestId(100);
@Test
public void testSerialize() {
- HttpServletServer server = HttpServletServer.factory.build("echo", LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo", LOCALHOST, port, "/", false, true);
server.addServletPackage("/*", this.getClass().getPackage().getName());
server.addFilterClass("/*", TestFilter.class.getName());
public void testSingleServer() throws Exception {
logger.info("-- testSingleServer() --");
- HttpServletServer server = HttpServletServer.factory.build("echo", LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo", LOCALHOST, port, "/", false, true);
server.addServletPackage("/*", this.getClass().getPackage().getName());
server.addFilterClass("/*", TestFilter.class.getName());
server.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
- assertFalse(HttpServletServer.factory.get(port).isAaf());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
+ assertFalse(HttpServletServerFactoryInstance.getServerFactory().get(port).isAaf());
String response = http(portUrl + JUNIT_ECHO_HELLO);
assertEquals(HELLO, response);
response = http(portUrl + "/junit/echo/hello?block=true");
assertEquals("FILTERED", response);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
- assertEquals(1, HttpServletServer.factory.inventory().size());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
+ assertEquals(1, HttpServletServerFactoryInstance.getServerFactory().inventory().size());
server.setAafAuthentication("/*");
- assertTrue(HttpServletServer.factory.get(port).isAaf());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAaf());
- HttpServletServer.factory.destroy(port);
- assertEquals(0, HttpServletServer.factory.inventory().size());
+ HttpServletServerFactoryInstance.getServerFactory().destroy(port);
+ assertEquals(0, HttpServletServerFactoryInstance.getServerFactory().inventory().size());
}
@Test
public void testMultipleServers() throws Exception {
logger.info("-- testMultipleServers() --");
- HttpServletServer server1 = HttpServletServer.factory.build("echo-1", false,LOCALHOST, port, "/", true, true);
+ HttpServletServer server1 = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo-1", false,LOCALHOST, port, "/", true, true);
server1.addServletPackage("/*", this.getClass().getPackage().getName());
server1.waitedStart(5000);
int port2 = port + 1;
- HttpServletServer server2 = HttpServletServer.factory.build("echo-2", LOCALHOST, port2, "/", false, true);
+ HttpServletServer server2 = HttpServletServerFactoryInstance.getServerFactory()
+ .build("echo-2", LOCALHOST, port2, "/", false, true);
server2.addServletPackage("/*", this.getClass().getPackage().getName());
server2.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
- assertTrue(HttpServletServer.factory.get(port2).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port2).isAlive());
String response = http(portUrl + JUNIT_ECHO_HELLO);
assertTrue(HELLO.equals(response));
assertThatThrownBy(() -> http(LOCALHOST_PREFIX + port2 + SWAGGER_JSON)).isInstanceOf(IOException.class);
- HttpServletServer.factory.destroy();
- assertTrue(HttpServletServer.factory.inventory().isEmpty());
+ HttpServletServerFactoryInstance.getServerFactory().destroy();
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().inventory().isEmpty());
}
@Test
String randomName = UUID.randomUUID().toString();
- HttpServletServer server = HttpServletServer.factory.build(randomName, LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build(randomName, LOCALHOST, port, "/", false, true);
server.addServletPackage("/*", this.getClass().getPackage().getName());
server.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
String response = http(portUrl + JUNIT_ECHO_HELLO);
assertTrue(HELLO.equals(response));
response = http(portUrl + "/junit/endpoints/http/servers");
assertTrue(response.contains(randomName));
- HttpServletServer.factory.destroy();
- assertTrue(HttpServletServer.factory.inventory().isEmpty());
+ HttpServletServerFactoryInstance.getServerFactory().destroy();
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().inventory().isEmpty());
}
@Test
logger.info("-- testServiceClass() --");
String randomName = UUID.randomUUID().toString();
- HttpServletServer server = HttpServletServer.factory.build(randomName, LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build(randomName, LOCALHOST, port, "/", false, true);
server.addServletClass("/*", RestEchoService.class.getName());
server.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
String response = http(portUrl + JUNIT_ECHO_HELLO);
assertTrue(HELLO.equals(response));
- HttpServletServer.factory.destroy();
- assertTrue(HttpServletServer.factory.inventory().isEmpty());
+ HttpServletServerFactoryInstance.getServerFactory().destroy();
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().inventory().isEmpty());
}
@Test
String randomName = UUID.randomUUID().toString();
- HttpServletServer server = HttpServletServer.factory.build(randomName, LOCALHOST, port, "/", false, true);
+ HttpServletServer server = HttpServletServerFactoryInstance.getServerFactory()
+ .build(randomName, LOCALHOST, port, "/", false, true);
server.addServletClass("/*", RestEchoService.class.getName());
server.addServletClass("/*", RestEndpoints.class.getName());
server.waitedStart(5000);
- assertTrue(HttpServletServer.factory.get(port).isAlive());
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().get(port).isAlive());
String response = http(portUrl + JUNIT_ECHO_HELLO);
assertTrue(HELLO.equals(response));
response = http(portUrl + "/junit/endpoints/http/servers");
assertTrue(response.contains(randomName));
- HttpServletServer.factory.destroy();
- assertTrue(HttpServletServer.factory.inventory().isEmpty());
+ HttpServletServerFactoryInstance.getServerFactory().destroy();
+ assertTrue(HttpServletServerFactoryInstance.getServerFactory().inventory().isEmpty());
}
/**
* ============LICENSE_START=======================================================
* policy-endpoints
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017, 2019 AT&T Intellectual Property. 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.
import javax.ws.rs.core.MediaType;
import org.onap.policy.common.endpoints.http.server.HttpServletServer;
+import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
@Path("/junit/endpoints")
public class RestEndpoints {
/**
* Returns the http servers.
- *
+ *
* @return the list of servers as a string
*/
@GET
@Path("http/servers")
@Produces(MediaType.TEXT_PLAIN)
- public String httpServers() {
- List<HttpServletServer> servers =
- HttpServletServer.factory.inventory();
+ public String httpServers() {
+ List<HttpServletServer> servers = HttpServletServerFactoryInstance.getServerFactory().inventory();
return servers.toString();
}
-
-
+
+
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. 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.
*/
public class CommonTestData {
- public static final String REST_SERVER_PASSWORD = "zb!XztG34";
+ public static final String REST_SERVER_PASS = "zb!XztG34";
public static final String REST_SERVER_USER = "healthcheck";
public static final int REST_SERVER_PORT = 6969;
public static final String REST_SERVER_HOST = "0.0.0.0";
public static final String TOPIC_NAME = "POLICY-PDP-PAP";
public static final String TOPIC_INFRA = "dmaap";
public static final String TOPIC_SERVER = "message-router";
- public static final List<TopicParameters> TOPIC_PARAMS =
+
+ protected static final List<TopicParameters> TOPIC_PARAMS =
Arrays.asList(getTopicParameters(TOPIC_NAME, TOPIC_INFRA, TOPIC_SERVER));
- public static final Coder coder = new StandardCoder();
+
+ protected static final Coder coder = new StandardCoder();
/**
* Create topic parameters for test cases.
map.put("host", REST_SERVER_HOST);
map.put("port", REST_SERVER_PORT);
map.put("userName", REST_SERVER_USER);
- map.put("password", REST_SERVER_PASSWORD);
+ map.put("password", REST_SERVER_PASS);
}
return map;
*/
public String getParameterGroupAsString(String filePath) throws IOException {
File file = new File(filePath);
- String json = new String(Files.readAllBytes(file.toPath()), StandardCharsets.UTF_8);
- return json;
+ return new String(Files.readAllBytes(file.toPath()), StandardCharsets.UTF_8);
}
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. 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.
private static final Coder coder = new StandardCoder();
@Test
- public void test() throws Exception {
+ public void test() {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(false), RestServerParameters.class);
final GroupValidationResult validationResult = restServerParameters.validate();
assertEquals(CommonTestData.REST_SERVER_HOST, restServerParameters.getHost());
assertEquals(CommonTestData.REST_SERVER_PORT, restServerParameters.getPort());
assertEquals(CommonTestData.REST_SERVER_USER, restServerParameters.getUserName());
- assertEquals(CommonTestData.REST_SERVER_PASSWORD, restServerParameters.getPassword());
+ assertEquals(CommonTestData.REST_SERVER_PASS, restServerParameters.getPassword());
assertEquals(CommonTestData.REST_SERVER_HTTPS, restServerParameters.isHttps());
assertEquals(CommonTestData.REST_SERVER_AAF, restServerParameters.isAaf());
}
@Test
- public void testValidate() throws Exception {
+ public void testValidate() {
final RestServerParameters restServerParameters =
testData.toObject(testData.getRestServerParametersMap(false), RestServerParameters.class);
final GroupValidationResult result = restServerParameters.validate();
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. 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.
private static final Coder coder = new StandardCoder();
@Test
- public void test() throws Exception {
+ public void test() {
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParameterGroupMap(false), TopicParameterGroup.class);
final GroupValidationResult validationResult = topicParameterGroup.validate();
}
@Test
- public void testValidate() throws Exception {
+ public void testValidate() {
final TopicParameterGroup topicParameterGroup =
testData.toObject(testData.getTopicParameterGroupMap(false), TopicParameterGroup.class);
final GroupValidationResult result = topicParameterGroup.validate();
import org.junit.Test;
import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
import org.onap.policy.common.endpoints.features.NetLoggerFeatureApi;
+import org.onap.policy.common.endpoints.features.NetLoggerFeatureProviders;
import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType;
import org.slf4j.Logger;
*/
@BeforeClass
public static void setUp() {
- netLoggerFeature = (NetLoggerFeature) NetLoggerFeatureApi.providers.getList().get(0);
+ netLoggerFeature = (NetLoggerFeature) NetLoggerFeatureProviders.getProviders().getList().get(0);
}
/**
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. 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.
* @author Ajith Sreekumar (ajith.sreekumar@est.tech)
*/
public class ParameterUtilsTest {
+ private static final String SERVERS = ".servers";
/**
* Test getTopicProperties from TopicParameterGroup.
assertEquals(CommonTestData.TOPIC_NAME,
topicProperties.getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics"));
assertEquals(CommonTestData.TOPIC_SERVER, topicProperties
- .getProperty(CommonTestData.TOPIC_INFRA + ".source.topics." + CommonTestData.TOPIC_NAME + ".servers"));
+ .getProperty(CommonTestData.TOPIC_INFRA + ".source.topics." + CommonTestData.TOPIC_NAME + SERVERS));
assertEquals(CommonTestData.TOPIC_SERVER, topicProperties
- .getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics." + CommonTestData.TOPIC_NAME + ".servers"));
+ .getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics." + CommonTestData.TOPIC_NAME + SERVERS));
}
@Test
assertEquals(CommonTestData.TOPIC_NAME,
topicProperties.getProperty(CommonTestData.TOPIC_INFRA + ".source.topics"));
assertEquals(CommonTestData.TOPIC_SERVER, topicProperties
- .getProperty(CommonTestData.TOPIC_INFRA + ".source.topics." + CommonTestData.TOPIC_NAME + ".servers"));
+ .getProperty(CommonTestData.TOPIC_INFRA + ".source.topics." + CommonTestData.TOPIC_NAME + SERVERS));
ParameterUtils.updateTopicProperties(topicProperties, "sink", CommonTestData.TOPIC_INFRA,
CommonTestData.TOPIC_NAME, Arrays.asList(CommonTestData.TOPIC_SERVER));
assertEquals(CommonTestData.TOPIC_NAME,
topicProperties.getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics"));
assertEquals(CommonTestData.TOPIC_SERVER, topicProperties
- .getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics." + CommonTestData.TOPIC_NAME + ".servers"));
+ .getProperty(CommonTestData.TOPIC_INFRA + ".sink.topics." + CommonTestData.TOPIC_NAME + SERVERS));
}
}