Initialising ParticipantK8sParameters in the constructor to fix Null pointer Exception in kub-participant module.
Constructor cannot use autowired properties.
Updated pfDao getFiltered method signature to align with latest code in policy models.
Issue-ID: POLICY-3240
Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech>
Change-Id: I9405c1e050b31b153ee53829ffece9f4be27818e
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaClElementStatistics;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.base.PfReferenceTimestampKey;
+import org.onap.policy.models.dao.PfFilterParameters;
import org.onap.policy.models.provider.PolicyModelsProviderParameters;
import org.onap.policy.models.provider.impl.AbstractModelsProvider;
public List<ClElementStatistics> getFilteredClElementStatistics(final String name, final String version,
final Instant startTimeStamp, final Instant endTimeStamp, Map<String, Object> filterMap,
final String sortOrder, final int getRecordNum) {
- return asClElementStatisticsList(getPfDao().getFiltered(JpaClElementStatistics.class, name, version,
- startTimeStamp, endTimeStamp, filterMap, sortOrder, getRecordNum));
+
+ // @formatter:off
+ PfFilterParameters filterParams = PfFilterParameters
+ .builder()
+ .name(name)
+ .version(version)
+ .startTime(startTimeStamp)
+ .endTime(endTimeStamp)
+ .filterMap(filterMap)
+ .sortOrder(sortOrder)
+ .recordNum(getRecordNum)
+ .build();
+ // @formatter:on
+ return asClElementStatisticsList(getPfDao().getFiltered(JpaClElementStatistics.class, filterParams));
}
}
import org.onap.policy.clamp.controlloop.models.controlloop.persistence.concepts.JpaParticipantStatistics;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.base.PfTimestampKey;
+import org.onap.policy.models.dao.PfFilterParameters;
import org.onap.policy.models.provider.PolicyModelsProviderParameters;
import org.onap.policy.models.provider.impl.AbstractModelsProvider;
final Instant startTimeStamp, final Instant endTimeStamp, Map<String, Object> filterMap,
final String sortOrder, final int getRecordNum) {
- return asParticipantStatisticsList(getPfDao().getFiltered(JpaParticipantStatistics.class, name, version,
- startTimeStamp, endTimeStamp, filterMap, sortOrder, getRecordNum));
+ // @formatter:off
+ PfFilterParameters filterParams = PfFilterParameters
+ .builder()
+ .name(name)
+ .version(version)
+ .startTime(startTimeStamp)
+ .endTime(endTimeStamp)
+ .filterMap(filterMap)
+ .sortOrder(sortOrder)
+ .recordNum(getRecordNum)
+ .build();
+ // @formatter:on
+
+ return asParticipantStatisticsList(getPfDao().getFiltered(JpaParticipantStatistics.class, filterParams));
}
static String executeCommand(ProcessBuilder processBuilder) throws ServiceException {
var commandStr = toString(processBuilder);
- processBuilder.redirectInput(ProcessBuilder.Redirect.DISCARD);
-
try {
var process = processBuilder.start();
process.waitFor();
private static final StandardCoder STANDARD_CODER = new StandardCoder();
- @Autowired
- private ParticipantK8sParameters participantK8sParameters;
+ private final ParticipantK8sParameters participantK8sParameters;
/**
* The chartStore map contains chart name as key & ChartInfo as value.
/**
* Constructor method.
*/
- public ChartStore() {
+ public ChartStore(@Autowired ParticipantK8sParameters participantK8sParameters) {
+ this.participantK8sParameters = participantK8sParameters;
this.restoreFromLocalFileSystem();
}
}
private synchronized void restoreFromLocalFileSystem() {
- Path localChartDirectoryPath = Paths.get(participantK8sParameters.getLocalChartDirectory());
-
try {
+ Path localChartDirectoryPath = Paths.get(participantK8sParameters.getLocalChartDirectory());
Files.createDirectories(localChartDirectoryPath);
restoreFromLocalFileSystem(localChartDirectoryPath);
- } catch (IOException ioe) {
+ } catch (Exception ioe) {
LOGGER.warn("Could not restore charts from local file system: {}", ioe);
}
}
@Override
public FileVisitResult visitFile(Path localChartFile, BasicFileAttributes attrs) throws IOException {
try {
- ChartInfo chart = STANDARD_CODER.decode(localChartFile.toFile(), ChartInfo.class);
- localChartMap.put(key(chart), chart);
+ // Decode only the json file excluding the helm charts
+ if (localChartFile.endsWith(participantK8sParameters.getInfoFileName())) {
+ ChartInfo chart = STANDARD_CODER.decode(localChartFile.toFile(), ChartInfo.class);
+ localChartMap.put(key(chart), chart);
+ }
return FileVisitResult.CONTINUE;
} catch (CoderException ce) {
throw new IOException("Error decoding chart file", ce);
"implementation":"org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
"databaseDriver":"org.mariadb.jdbc.Driver",
"databaseUrl":"jdbc:mariadb://localhost:3306/controlloop",
- "databaseUser":"admin",
- "databasePassword":"passme",
+ "databaseUser":"policy",
+ "databasePassword":"P01icY",
"persistenceUnit":"ToscaConceptTest"
}
}