Skip to content

Package: DeviceKeystoreCertificateCreateTargetProcessor

DeviceKeystoreCertificateCreateTargetProcessor

nameinstructionbranchcomplexitylinemethod
DeviceKeystoreCertificateCreateTargetProcessor()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
initProcessing(JobTargetWrapper)
M: 7 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
lambda$processTarget$0(JobTarget, DeviceKeystoreCertificate, Long)
M: 9 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
processTarget(JobTarget)
M: 46 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 10 C: 0
0%
M: 1 C: 0
0%
static {...}
M: 11 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*******************************************************************************
2: * Copyright (c) 2021, 2022 Eurotech and/or its affiliates and others
3: *
4: * This program and the accompanying materials are made
5: * available under the terms of the Eclipse Public License 2.0
6: * which is available at https://www.eclipse.org/legal/epl-2.0/
7: *
8: * SPDX-License-Identifier: EPL-2.0
9: *
10: * Contributors:
11: * Eurotech - initial API and implementation
12: *******************************************************************************/
13: package org.eclipse.kapua.service.device.management.keystore.job;
14:
15: import org.eclipse.kapua.KapuaException;
16: import org.eclipse.kapua.commons.security.KapuaSecurityUtils;
17: import org.eclipse.kapua.job.engine.commons.operation.AbstractDeviceTargetProcessor;
18: import org.eclipse.kapua.job.engine.commons.wrappers.JobTargetWrapper;
19: import org.eclipse.kapua.model.id.KapuaId;
20: import org.eclipse.kapua.service.device.management.keystore.DeviceKeystoreManagementFactory;
21: import org.eclipse.kapua.service.device.management.keystore.DeviceKeystoreManagementService;
22: import org.eclipse.kapua.service.device.management.keystore.job.definition.DeviceCertificateCreatePropertyKeys;
23: import org.eclipse.kapua.service.device.management.keystore.model.DeviceKeystoreCertificate;
24: import org.eclipse.kapua.service.job.operation.TargetProcessor;
25: import org.eclipse.kapua.service.job.targets.JobTarget;
26:
27: import javax.batch.runtime.context.JobContext;
28: import javax.batch.runtime.context.StepContext;
29: import javax.inject.Inject;
30:
31: /**
32: * {@link TargetProcessor} for {@link DeviceKeystoreManagementService#createKeystoreCertificate(KapuaId, KapuaId, DeviceKeystoreCertificate, Long)}.
33: *
34: * @since 1.0.0
35: */
36: public class DeviceKeystoreCertificateCreateTargetProcessor extends AbstractDeviceTargetProcessor implements TargetProcessor {
37: private static final DeviceKeystoreManagementService KEYSTORE_MANAGEMENT_SERVICE = LOCATOR.getService(DeviceKeystoreManagementService.class);
38: private static final DeviceKeystoreManagementFactory KEYSTORE_MANAGEMENT_FACTORY = LOCATOR.getFactory(DeviceKeystoreManagementFactory.class);
39:
40: @Inject
41: JobContext jobContext;
42:
43: @Inject
44: StepContext stepContext;
45:
46: @Override
47: protected void initProcessing(JobTargetWrapper wrappedJobTarget) {
48: setContext(jobContext, stepContext);
49: }
50:
51: @Override
52: public void processTarget(JobTarget jobTarget) throws KapuaException {
53:
54: String keystoreId = stepContextWrapper.getStepProperty(DeviceCertificateCreatePropertyKeys.KEYSTORE_ID, String.class);
55: String alias = stepContextWrapper.getStepProperty(DeviceCertificateCreatePropertyKeys.ALIAS, String.class);
56: String certificate = stepContextWrapper.getStepProperty(DeviceCertificateCreatePropertyKeys.CERTIFICATE, String.class);
57: Long timeout = stepContextWrapper.getStepProperty(DeviceCertificateCreatePropertyKeys.TIMEOUT, Long.class);
58:
59: DeviceKeystoreCertificate deviceKeystoreCertificate = KEYSTORE_MANAGEMENT_FACTORY.newDeviceKeystoreCertificate();
60:
61: deviceKeystoreCertificate.setKeystoreId(keystoreId);
62: deviceKeystoreCertificate.setAlias(alias);
63: deviceKeystoreCertificate.setCertificate(certificate);
64:
65: KapuaSecurityUtils.doPrivileged(() -> KEYSTORE_MANAGEMENT_SERVICE.createKeystoreCertificate(jobTarget.getScopeId(), jobTarget.getJobTargetId(), deviceKeystoreCertificate, timeout));
66: }
67: }