private Properties properties;
- /**
- * Empty private constructor. We do not want to create
- * an instance of this without giving Properties object.
- *
- * @throws OnapPolicyFinderFactoryException Exception will be thrown
- */
- public OnapPolicyFinderFactory() throws OnapPolicyFinderFactoryException {
- throw new OnapPolicyFinderFactoryException("Please use the constructor with Properties object.");
- }
-
/**
* Constructor with properties passed. This will be preferred.
*
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class XacmlPolicyUtils {
+public final class XacmlPolicyUtils {
private static final Logger LOGGER = LoggerFactory.getLogger(XacmlPolicyUtils.class);
);
//@formatter:on
- ToscaConceptIdentifier policyId;
- Map<String, MatchableProperty> matchables = new HashMap<>();
+ private ToscaConceptIdentifier policyId;
+ private Map<String, MatchableProperty> matchables = new HashMap<>();
public MatchablePolicyType(@NonNull ToscaPolicyType policyType, @NonNull MatchableCallback callback) {
this.policyId = new ToscaConceptIdentifier(policyType.getName(), policyType.getVersion());
* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-2021 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.
@RequiredArgsConstructor
public class MatchableProperty {
@NonNull
- String property;
+ private String property;
@NonNull
- MatchablePropertyType<?> type;
+ private MatchablePropertyType<?> type;
}
* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2020 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
import org.onap.policy.pdp.xacml.application.common.ToscaPolicyTranslatorUtils;
public class MatchablePropertyTypeList extends MatchablePropertyTypeBase<List<MatchablePropertyType<?>>> {
- MatchableProperty primitiveProperty;
+ private MatchableProperty primitiveProperty;
/**
* constructor.
import org.onap.policy.pdp.xacml.application.common.ToscaPolicyTranslatorUtils;
public class MatchablePropertyTypeMap extends MatchablePropertyTypeBase<Map<String, MatchablePropertyType<?>>> {
- MatchableProperty primitiveProperty;
+ private MatchableProperty primitiveProperty;
/**
* constructor.
import java.util.Map;
import java.util.Map.Entry;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
@Getter
@Setter
@ToString
+@NoArgsConstructor
@XACMLRequest(ReturnPolicyIdList = true)
public class StdCombinedPolicyRequest {
@XACMLResource(attributeId = "urn:org:onap:policy-type", includeInResults = true)
private Collection<String> resourcePolicyType = new ArrayList<>();
- public StdCombinedPolicyRequest() {
- super();
- }
-
/**
* Parses the DecisionRequest into a MonitoringRequest.
*
import com.google.common.base.Strings;
import java.util.Collection;
import java.util.Map;
+import lombok.NoArgsConstructor;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.EffectType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@NoArgsConstructor
public class StdCombinedPolicyResultsTranslator extends StdBaseTranslator {
private static final Logger LOGGER = LoggerFactory.getLogger(StdCombinedPolicyResultsTranslator.class);
- public StdCombinedPolicyResultsTranslator() {
- super();
- }
-
@Override
public Object convertPolicy(ToscaPolicy toscaPolicy) throws ToscaPolicyConversionException {
//
import java.util.Map;
import java.util.Map.Entry;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
@Getter
@Setter
@ToString
+@NoArgsConstructor
@XACMLRequest(ReturnPolicyIdList = true)
public class StdMatchablePolicyRequest {
protected static DataTypeFactory dataTypeFactory = null;
- public StdMatchablePolicyRequest() {
- super();
- }
-
protected static synchronized DataTypeFactory getDataTypeFactory() {
try {
if (dataTypeFactory != null) {
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import lombok.NoArgsConstructor;
import lombok.Setter;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
* @author pameladragosh
*
*/
+@NoArgsConstructor
public class StdMatchableTranslator extends StdBaseTranslator implements MatchableCallback {
private static final Logger LOGGER = LoggerFactory.getLogger(StdMatchableTranslator.class);
@Setter
private Path pathForData;
- public StdMatchableTranslator() {
- super();
- }
-
@Override
public Request convertRequest(DecisionRequest request) throws ToscaPolicyConversionException {
LOGGER.info("Converting Request {}", request);
import java.util.Properties;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
import org.onap.policy.pdp.xacml.application.common.ToscaDictionary;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
+@NoArgsConstructor(access = AccessLevel.PROTECTED)
public abstract class StdOnapPip extends StdConfigurableEngine {
protected static Logger logger = LoggerFactory.getLogger(StdOnapPip.class);
protected String issuer;
protected boolean shutdown = false;
- protected StdOnapPip() {
- super();
- }
-
@Override
public Collection<PIPRequest> attributesProvided() {
return Collections.emptyList();
import java.util.List;
import java.util.Map;
import java.util.Properties;
+import lombok.AccessLevel;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import org.apache.commons.lang3.tuple.Pair;
import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@NoArgsConstructor(access = AccessLevel.PROTECTED)
public abstract class StdXacmlApplicationServiceProvider implements XacmlApplicationServiceProvider {
private static final Logger LOGGER = LoggerFactory.getLogger(StdXacmlApplicationServiceProvider.class);
private PDPEngine pdpEngine = null;
private Map<ToscaPolicy, Path> mapLoadedPolicies = new HashMap<>();
- protected StdXacmlApplicationServiceProvider() {
- super();
- }
-
@Override
public String applicationName() {
return applicationName;
* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
- * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2019-2021 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.
package org.onap.policy.pdp.xacml.application.common;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import java.io.FileInputStream;
import java.util.Properties;
public class OnapPolicyFinderFactoryTest {
- @Test
- public void testNoUseConstructor() throws Exception {
- assertThatExceptionOfType(OnapPolicyFinderFactoryException.class).isThrownBy(() -> {
- new OnapPolicyFinderFactory();
- }).withMessageContaining("Please use the constructor with Properties object.");
- }
-
@Test
public void testFinder() throws Exception {
//
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import lombok.NoArgsConstructor;
import org.apache.commons.io.IOUtils;
import org.onap.policy.common.utils.coder.CoderException;
import org.onap.policy.common.utils.coder.StandardYamlCoder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@NoArgsConstructor
public class CoordinationGuardTranslator implements ToscaPolicyTranslator {
private static final Logger LOGGER = LoggerFactory.getLogger(CoordinationGuardTranslator.class);
- public CoordinationGuardTranslator() {
- super();
- }
-
@Override
public Object convertPolicy(ToscaPolicy toscaPolicy) throws ToscaPolicyConversionException {
LOGGER.debug("Using CoordinationGuardTranslator.convertPolicy");
import java.time.ZoneOffset;
import java.util.Map;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
@Getter
@Setter
@ToString
+@NoArgsConstructor
@XACMLRequest(ReturnPolicyIdList = true)
public class GuardPolicyRequest {
private static final String STR_GUARD = "guard";
public static final String PREFIX_RESOURCE_ATTRIBUTE_ID = "urn:org:onap:guard:target:";
- public GuardPolicyRequest() {
- super();
- }
-
/**
* Parses the DecisionRequest into a StdMetadataPolicyRequest.
*
import java.util.List;
import java.util.Map;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.ApplyType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@NoArgsConstructor
public class GuardTranslator implements ToscaPolicyTranslator {
private static final Logger LOGGER = LoggerFactory.getLogger(GuardTranslator.class);
//
private static final String VARIABLE_TIMEINRANGE = "timeInRange";
- public GuardTranslator() {
- super();
- }
/**
* Convert the policy.
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import lombok.Getter;
+import lombok.NoArgsConstructor;
import org.onap.policy.common.parameters.annotations.NotBlank;
import org.onap.policy.common.parameters.annotations.NotNull;
import org.onap.policy.models.decisions.concepts.DecisionRequest;
* @author Chenfei Gao (cgao@research.att.com)
*
*/
+@NoArgsConstructor
public class NativePdpApplicationTranslator implements ToscaPolicyTranslator {
private static final Logger LOGGER = LoggerFactory.getLogger(NativePdpApplicationTranslator.class);
- public NativePdpApplicationTranslator() {
- super();
- }
-
@Override
public Object convertPolicy(ToscaPolicy toscaPolicy) throws ToscaPolicyConversionException {
//
public class OptimizationSubscriberRequest extends StdMatchablePolicyRequest {
@XACMLSubject(attributeId = "urn:org:onap:optimization:subscriber:name", includeInResults = true)
- List<String> subscriberRoles;
+ private List<String> subscriberRoles;
/**
* Create an instance of xacml request.
* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2019, 2021 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.
package org.onap.policy.pdpx.main.comm;
+import lombok.AllArgsConstructor;
import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClient;
import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClientException;
import org.onap.policy.models.pdp.concepts.PdpStatus;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@AllArgsConstructor
public class XacmlPdpPapRegistration {
private static final Logger LOGGER = LoggerFactory.getLogger(XacmlPdpPapRegistration.class);
private final TopicSinkClient client;
- /**
- * Constructs the object.
- * @param client name of the TopickSinkClient
- */
- public XacmlPdpPapRegistration(TopicSinkClient client) {
- this.client = client;
- }
-
/**
* Sends PDP register and unregister message to the PAP.
* @param status of the PDP
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
+import lombok.AllArgsConstructor;
import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClient;
import org.onap.policy.models.pdp.concepts.PdpStatus;
import org.onap.policy.models.pdp.concepts.PdpUpdate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+@AllArgsConstructor
public class XacmlPdpUpdatePublisher {
private static final Logger LOGGER = LoggerFactory.getLogger(XacmlPdpUpdatePublisher.class);
private final XacmlState state;
private final XacmlPdpApplicationManager appManager;
- /**
- * Constructs the object.
- * @param client messages are published to this client
- * @param state tracks the state of this PDP
- * @param appManager application manager
- */
- public XacmlPdpUpdatePublisher(TopicSinkClient client, XacmlState state, XacmlPdpApplicationManager appManager) {
- this.client = client;
- this.state = state;
- this.appManager = appManager;
- }
-
/**
* Handle the PDP Update message.
*
package org.onap.policy.pdpx.main.parameters;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import java.io.FileReader;
+import java.io.File;
import org.onap.policy.common.parameters.ValidationResult;
+import org.onap.policy.common.utils.coder.Coder;
+import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.pdpx.main.PolicyXacmlPdpException;
import org.onap.policy.pdpx.main.startstop.XacmlPdpCommandLineArguments;
import org.slf4j.Logger;
*/
public class XacmlPdpParameterHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(XacmlPdpParameterHandler.class);
- private static final Gson gson = new GsonBuilder().create();
+ private static final Coder CODER = new StandardCoder();
/**
* Read the parameters from the parameter file.
XacmlPdpParameterGroup xacmlPdpParameterGroup = null;
try {
- // Read the parameters from JSON using Gson
- xacmlPdpParameterGroup = gson.fromJson(new FileReader(arguments.getFullConfigurationFilePath()),
+ // Read the parameters from JSON
+ xacmlPdpParameterGroup = CODER.decode(new File(arguments.getFullConfigurationFilePath()),
XacmlPdpParameterGroup.class);
} catch (final Exception e) {
final String errorMessage = "error reading parameters from \"" + arguments.getConfigurationFilePath()
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2019, 2021 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.
* Class to hold statistical data for xacmlPdp component.
*
*/
+@Getter
public class XacmlPdpStatisticsManager {
@Getter
@Setter
private long totalPolicyTypesCount;
private long totalPoliciesCount;
- private long errorsCount;
+ private long errorCount;
private long permitDecisionsCount;
private long denyDecisionsCount;
private long indeterminantDecisionsCount;
* @return the errorDecisionsCount
*/
public long updateErrorCount() {
- return ++errorsCount;
+ return ++errorCount;
}
/**
return ++notApplicableDecisionsCount;
}
- /**
- * Returns the current value of totalPolicyTypesCount.
-
- * @return the totalPolicyTypesCount
- */
- public long getTotalPolicyTypesCount() {
- return totalPolicyTypesCount;
- }
-
- /**
- * Returns the current value of totalPoliciesCount.
-
- * @return the totalPoliciesCount
- */
- public long getTotalPoliciesCount() {
- return totalPoliciesCount;
- }
-
- /**
- * Returns the current value of errorDecisionsCount.
-
- * @return the permitDecisionsCount
- */
- public long getErrorCount() {
- return errorsCount;
- }
-
- /**
- * Returns the current value of permitDecisionsCount.
-
- * @return the permitDecisionsCount
- */
- public long getPermitDecisionsCount() {
- return permitDecisionsCount;
- }
-
- /**
- * Returns the current value of denyDecisionsCount.
-
- * @return the denyDecisionsCount
- */
- public long getDenyDecisionsCount() {
- return denyDecisionsCount;
- }
-
- /**
- * Returns the current value of indeterminantDecisionsCount.
-
- * @return the indeterminantDecisionsCount
- */
- public long getIndeterminantDecisionsCount() {
- return indeterminantDecisionsCount;
- }
-
- /**
- * Returns the current value of notApplicableDecisionsCount.
-
- * @return the notApplicableDecisionsCount
- */
- public long getNotApplicableDecisionsCount() {
- return notApplicableDecisionsCount;
- }
-
/**
* Reset all the statistics counts to 0.
*/
public void resetAllStatistics() {
totalPolicyTypesCount = 0L;
totalPoliciesCount = 0L;
- errorsCount = 0L;
+ errorCount = 0L;
permitDecisionsCount = 0L;
denyDecisionsCount = 0L;
indeterminantDecisionsCount = 0L;
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-2021 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 Logger LOGGER = LoggerFactory.getLogger(XacmlExceptionMapper.class);
@Getter
- String invalidRequest;
+ protected String invalidRequest;
@Getter
- String invalidResponse;
+ protected String invalidResponse;
public abstract boolean isInvalidRequest(String message);
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Arrays;
+import lombok.Getter;
+import lombok.Setter;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.HelpFormatter;
private final Options options;
// The command line options
+ @Getter
+ @Setter
private String configurationFilePath = null;
+ @Getter
+ @Setter
private String propertyFilePath = null;
/**
return stringWriter.toString();
}
- /**
- * Gets the configuration file path.
- *
- * @return the configuration file path
- */
- public String getConfigurationFilePath() {
- return configurationFilePath;
- }
-
/**
* Gets the full expanded configuration file path.
*
return ResourceUtils.getFilePath4Resource(getConfigurationFilePath());
}
- /**
- * Sets the configuration file path.
- *
- * @param configurationFilePath the configuration file path
- */
- public void setConfigurationFilePath(final String configurationFilePath) {
- this.configurationFilePath = configurationFilePath;
-
- }
-
/**
* Check set configuration file path.
*
return configurationFilePath != null && !configurationFilePath.isEmpty();
}
- /**
- * Gets the property file path.
- *
- * @return the property file path
- */
- public String getPropertyFilePath() {
- return propertyFilePath;
- }
-
/**
* Gets the full expanded property file path.
*
return ResourceUtils.getFilePath4Resource(getPropertyFilePath());
}
- /**
- * Sets the property file path.
- *
- * @param propertyFilePath the property file path
- */
- public void setPropertyFilePath(final String propertyFilePath) {
- this.propertyFilePath = propertyFilePath;
-
- }
-
/**
* Validate readable file.
*
badArguments.parse(badArgumentString);
assertThatThrownBy(() -> new XacmlPdpParameterHandler().getParameters(badArguments))
- .hasMessage("error reading parameters from \"parameters/BadParameters.json\"\n"
- + "(JsonSyntaxException):java.lang.IllegalStateException: "
- + "Expected a string but was BEGIN_ARRAY at line 2 column 14 path $.name");
+ .hasMessageContaining("error reading parameters from", "parameters/BadParameters.json",
+ "JsonSyntaxException", "java.lang.IllegalStateException",
+ "Expected a string but was BEGIN_ARRAY at line 2 column 14 path $.name");
}
invalidArguments.parse(invalidArgumentString);
assertThatThrownBy(() -> new XacmlPdpParameterHandler().getParameters(invalidArguments))
- .hasMessage("error reading parameters from \"parameters/InvalidParameters.json\"\n"
- + "(JsonSyntaxException):java.lang.IllegalStateException: "
- + "Expected a string but was BEGIN_ARRAY at line 2 column 14 path $.name");
+ .hasMessageContaining("error reading parameters from", "parameters/InvalidParameters.json",
+ "JsonSyntaxException", "java.lang.IllegalStateException",
+ "Expected a string but was BEGIN_ARRAY at line 2 column 14 path $.name");
}
@Test