Skip to content

Commit 2646bbd

Browse files
Fix some bugs
1 parent d466ff2 commit 2646bbd

File tree

10 files changed

+74
-38
lines changed

10 files changed

+74
-38
lines changed

openaev-api/src/main/java/io/openaev/importer/V1_DataImporter.java

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -223,32 +223,36 @@ private Tag createTag(JsonNode jsonNode) {
223223
}
224224

225225
// -- DOMAINS --
226-
private List<String> importDomains(JsonNode importNode, String prefix, Map<String, Base> baseIds) {
226+
private List<String> importDomains(
227+
JsonNode importNode, String prefix, Map<String, Base> baseIds) {
227228
List<String> domainIds = new ArrayList<>();
228229
resolveJsonElements(importNode, prefix + "domains")
229230
.forEach(
230231
nodeDomain -> {
231-
JsonNode idNode = nodeDomain.get("domain_id");
232-
if (idNode == null) {
233-
return;
234-
}
235-
String id = idNode.textValue();
232+
JsonNode idNode = nodeDomain.get("domain_id");
233+
if (idNode == null) {
234+
return;
235+
}
236+
String id = idNode.textValue();
236237

237-
if (baseIds.get(id) != null) {
238-
// Already import
239-
domainIds.add(baseIds.get(id).getId());
240-
return;
241-
}
238+
if (baseIds.get(id) != null) {
239+
// Already import
240+
domainIds.add(baseIds.get(id).getId());
241+
return;
242+
}
242243

243-
Optional<Domain> existingDomain = this.domainService.findOptionalById(id);
244-
if (existingDomain.isPresent()) {
245-
baseIds.put(id, existingDomain.get());
246-
domainIds.add(existingDomain.get().getId());
247-
} else {
248-
Domain createdDomain = this.domainService.upsert(nodeDomain.get("domain_name").textValue(), nodeDomain.get("domain_color").textValue());
249-
baseIds.put(createdDomain.getId(), createdDomain);
250-
domainIds.add(createdDomain.getId());
251-
}
244+
Optional<Domain> existingDomain = this.domainService.findOptionalById(id);
245+
if (existingDomain.isPresent()) {
246+
baseIds.put(id, existingDomain.get());
247+
domainIds.add(existingDomain.get().getId());
248+
} else {
249+
Domain createdDomain =
250+
this.domainService.upsert(
251+
nodeDomain.get("domain_name").textValue(),
252+
nodeDomain.get("domain_color").textValue());
253+
baseIds.put(createdDomain.getId(), createdDomain);
254+
domainIds.add(createdDomain.getId());
255+
}
252256
});
253257

254258
return domainIds;

openaev-api/src/main/java/io/openaev/migration/V4_52__Implement_Domains_notion.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,19 @@ REFERENCES domains(domain_id)
7575
+ " (gen_random_uuid(), 'Cloud', '#9999CC'),"
7676
+ " (gen_random_uuid(), 'Table-Top', '#FFCC33'),"
7777
+ " (gen_random_uuid(), 'To classify', '#FFFFFF');");
78+
79+
stmt.execute(
80+
"""
81+
insert into payloads_domains (payload_id, domain_id)
82+
select p.payload_id, d.domain_id from payloads p
83+
inner join domains d on d.domain_name = 'To classify';""");
84+
85+
stmt.execute(
86+
"""
87+
insert into injectors_contracts_domains (injector_contract_id, domain_id)
88+
select ic.injector_contract_id, d.domain_id from injectors_contracts ic
89+
inner join domains d on d.domain_name = 'To classify'
90+
where ic.injector_contract_payload is null;""");
7891
}
7992
}
8093
}

openaev-api/src/main/java/io/openaev/rest/domain/DomainService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ private Optional<Domain> findByName(final String name) {
4141
}
4242

4343
public Optional<Domain> findOptionalById(final String domainId) {
44-
return domainRepository.findById(domainId);
44+
return domainRepository.findById(domainId);
4545
}
4646

4747
public Domain findById(final String domainId) {
@@ -54,7 +54,7 @@ public Domain findById(final String domainId) {
5454
}
5555

5656
public Iterable<Domain> findAllById(final List<String> domainIds) {
57-
return domainRepository.findAllById(domainIds);
57+
return domainRepository.findAllById(domainIds);
5858
}
5959

6060
public Domain upsertDomain(final DomainBaseInput input) {
Binary file not shown.
Binary file not shown.
Binary file not shown.

openaev-api/src/test/java/io/openaev/rest/payload/PayloadApiTest.java

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,8 @@ void createPayloadWithNullArch() throws Exception {
112112

113113
Domain domain = domainComposer.forDefaultToClassifyDomain().persist().get();
114114
PayloadCreateInput input =
115-
PayloadInputFixture.createDefaultPayloadCreateInputForCommandLine(List.of(domain.getId()));
115+
PayloadInputFixture.createDefaultPayloadCreateInputForCommandLine(
116+
List.of(domain.getId()));
116117
input.setExecutionArch(null);
117118
mvc.perform(
118119
post(PAYLOAD_URI)
@@ -125,7 +126,7 @@ void createPayloadWithNullArch() throws Exception {
125126
@DisplayName(
126127
"Creating an executable Payload with an arch different from x86_64 or arm64 should fail")
127128
void createExecutablePayloadWithoutArch() throws Exception {
128-
Domain domain = domainComposer.forDefaultToClassifyDomain().persist().get();
129+
Domain domain = domainComposer.forDefaultToClassifyDomain().persist().get();
129130

130131
PayloadCreateInput input =
131132
PayloadInputFixture.createDefaultPayloadCreateInputForExecutable(List.of(domain.getId()));
@@ -152,7 +153,8 @@ void given_payload_create_input_with_output_parsers_should_return_payload_with_o
152153

153154
Domain domain = domainComposer.forDefaultToClassifyDomain().persist().get();
154155
PayloadCreateInput input =
155-
PayloadInputFixture.createDefaultPayloadCreateInputWithOutputParser(List.of(domain.getId()));
156+
PayloadInputFixture.createDefaultPayloadCreateInputWithOutputParser(
157+
List.of(domain.getId()));
156158

157159
mvc.perform(
158160
post(PAYLOAD_URI)
@@ -185,7 +187,8 @@ void given_payload_create_input_with_output_parsers_should_return_payload_with_o
185187

186188
Domain domain = domainComposer.forDefaultToClassifyDomain().persist().get();
187189
PayloadCreateInput input =
188-
PayloadInputFixture.createDefaultPayloadCreateInputWithDetectionRemediation(List.of(domain.getId()));
190+
PayloadInputFixture.createDefaultPayloadCreateInputWithDetectionRemediation(
191+
List.of(domain.getId()));
189192

190193
mvc.perform(
191194
post(PAYLOAD_URI)
@@ -205,7 +208,8 @@ void given_payload_create_input_with_output_parsers_should_return_payload_with_o
205208
/******* Create *******/
206209
Domain domain = domainComposer.forDefaultToClassifyDomain().persist().get();
207210
PayloadCreateInput input =
208-
PayloadInputFixture.createDefaultPayloadCreateInputWithDetectionRemediation(List.of(domain.getId()));
211+
PayloadInputFixture.createDefaultPayloadCreateInputWithDetectionRemediation(
212+
List.of(domain.getId()));
209213

210214
String response =
211215
mvc.perform(
@@ -244,7 +248,8 @@ void given_targetedAssetArgument_should_create_payload_with_targeted_asset() thr
244248

245249
Domain domain = domainComposer.forDefaultToClassifyDomain().persist().get();
246250
PayloadCreateInput input =
247-
PayloadInputFixture.createDefaultPayloadCreateInputForCommandLine(List.of(domain.getId()));
251+
PayloadInputFixture.createDefaultPayloadCreateInputForCommandLine(
252+
List.of(domain.getId()));
248253

249254
PayloadArgument targetedAssetArgument = new PayloadArgument();
250255
targetedAssetArgument.setKey("URL");
@@ -441,7 +446,8 @@ void updatePayloadNoExecutableWithoutArch() throws Exception {
441446
var payloadId = JsonPath.read(response, "$.payload_id");
442447

443448
PayloadUpdateInput updateInput =
444-
PayloadInputFixture.getDefaultCommandPayloadUpdateInputWithOutputParser(List.of(domain.getId()));
449+
PayloadInputFixture.getDefaultCommandPayloadUpdateInputWithOutputParser(
450+
List.of(domain.getId()));
445451

446452
mvc.perform(
447453
put(PAYLOAD_URI + "/" + payloadId)
@@ -491,7 +497,8 @@ void updatePayloadNoExecutableWithoutArch() throws Exception {
491497
var payloadId = JsonPath.read(response, "$.payload_id");
492498

493499
PayloadUpdateInput updateInput =
494-
PayloadInputFixture.getDefaultPayloadUpdateInputWithDetectionRemediation(List.of(domain.getId()));
500+
PayloadInputFixture.getDefaultPayloadUpdateInputWithDetectionRemediation(
501+
List.of(domain.getId()));
495502

496503
mvc.perform(
497504
put(PAYLOAD_URI + "/" + payloadId)
@@ -547,7 +554,8 @@ void upsertCommandPayloadToValidateArchitecture() throws Exception {
547554

548555
Domain domain = domainComposer.forDefaultToClassifyDomain().persist().get();
549556
PayloadCreateInput input =
550-
PayloadInputFixture.createDefaultPayloadCreateInputWithOutputParser(List.of(domain.getId()));
557+
PayloadInputFixture.createDefaultPayloadCreateInputWithOutputParser(
558+
List.of(domain.getId()));
551559

552560
mvc.perform(
553561
post(PAYLOAD_URI).contentType(MediaType.APPLICATION_JSON).content(asJsonString(input)))
@@ -604,7 +612,8 @@ void upsertCommandPayloadToValidateArchitecture() throws Exception {
604612
.andExpect(jsonPath("$.payload_detection_remediations.length()").value(0));
605613

606614
PayloadUpsertInput upsertInput =
607-
PayloadInputFixture.getDefaultCommandPayloadUpsertInputWithDetectionRemediations(Set.of(domain));
615+
PayloadInputFixture.getDefaultCommandPayloadUpsertInputWithDetectionRemediations(
616+
Set.of(domain));
608617
upsertInput.setExternalId("external-id");
609618

610619
mvc.perform(

openaev-api/src/test/java/io/openaev/runner/InitStarterPackCommandLineRunnerTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ public void shouldInitStarterPackWithDefaultAssets() throws JsonProcessingExcept
337337
InjectorContract injectorContract =
338338
InjectorContractFixture.createPayloadInjectorContractWithFieldsContent(
339339
injector, payload, List.of(contractAsset));
340+
// Be careful should match inject into the zip scenario
340341
injectorContract.setId("2e7fc079-4444-4531-4444-928fe4a1fc0b");
341342
injectorContractComposer
342343
.forInjectorContract(injectorContract)
@@ -396,7 +397,8 @@ public void shouldInitStarterPackWithDefaultAssetGroups() throws JsonProcessingE
396397
InjectorContract injectorContract =
397398
InjectorContractFixture.createPayloadInjectorContractWithFieldsContent(
398399
injector, payload, List.of(contractAssetGroup));
399-
injectorContract.setId("ea43ae39-1a8c-47dc-93e1-80ef8b0e70c4");
400+
// Be careful should match inject into the zip scenario
401+
injectorContract.setId("df0d6fe6-ffb1-4e4c-a5f8-11a45b30dd69");
400402
injectorContractComposer
401403
.forInjectorContract(injectorContract)
402404
.withInjector(injector)
Binary file not shown.

openaev-front/src/admin/components/common/injects/Injects.tsx

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,11 +133,19 @@ const Injects: FunctionComponent<Props> = ({
133133
field: 'inject_contract_domain',
134134
label: t('domains'),
135135
isSortable: true,
136-
value: (inject: InjectOutputType, _: InjectorContractConverted['convertedContent']) => {
137-
return inject.inject_injector_contract.injector_contract_domains && inject.inject_injector_contract.injector_contract_domains.length > 0
138-
? (
139-
<ItemDomains domains={inject.inject_injector_contract.injector_contract_domains} variant="reduced-view" />
140-
)
136+
value: (inject: InjectOutputType) => {
137+
const payloadDomains
138+
= inject.inject_injector_contract?.injector_contract_payload?.payload_domains;
139+
140+
const contractDomains
141+
= inject.inject_injector_contract?.injector_contract_domains;
142+
143+
const domains
144+
= (payloadDomains && payloadDomains.length > 0 && payloadDomains)
145+
|| (contractDomains && contractDomains.length > 0 && contractDomains);
146+
147+
return domains
148+
? <ItemDomains domains={domains} variant="reduced-view" />
141149
: <></>;
142150
},
143151
},

0 commit comments

Comments
 (0)