Skip to content
Snippets Groups Projects
Commit a85af3a8 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4461 rename executeProcessor -> processVorgang; extract processor properties to own file

parent 076869b6
No related branches found
No related tags found
No related merge requests found
......@@ -43,7 +43,7 @@ public class EnvironmentController {
private GoofyProperties goofyProperties;
@Autowired
private ManualTriggeredProcessorProperties manualTriggeredProcessorProperties;
private VorgangProcessorProperties vorgangProcessorProperties;
@GetMapping
public FrontendEnvironment getFrontendEnvironment() {
......@@ -53,7 +53,7 @@ public class EnvironmentController {
.authServer(oAuth2Properties.getAuthServerUrl())
.clientId(oAuth2Properties.getResource())
.realm(oAuth2Properties.getRealm())
.processorNames(manualTriggeredProcessorProperties.getAnalogButtonProcessorNames())
.processorNames(vorgangProcessorProperties.getProcessorNames())
.build();
}
}
\ No newline at end of file
......@@ -13,19 +13,19 @@ import lombok.Setter;
@Getter
@Setter
@Configuration
@ConfigurationProperties(prefix = ManualTriggeredProcessorProperties.PREFIX)
public class ManualTriggeredProcessorProperties {
@ConfigurationProperties(prefix = VorgangProcessorProperties.PREFIX)
public class VorgangProcessorProperties {
static final String PREFIX = "ozgcloud.vorgang";
/**
* Matching conditions of manual triggerable vorgang processing based on vorgang#formId and vorgang#formEngineName.
* Matching condition for processing based on vorgang#formId and vorgang#formEngineName.
*/
private List<VorgangProperty> analogButtonProcessor = Collections.emptyList();
private List<VorgangProperty> processor = Collections.emptyList();
/**
* Names of processor used after triggered vorgang processing.
* Name of used processor.
*/
private List<String> analogButtonProcessorNames = Collections.emptyList();
private List<String> processorNames = Collections.emptyList();
}
......@@ -71,7 +71,7 @@ public enum CommandOrder {
CREATE_BESCHEID(false, Type.VORGANG),
EXECUTE_PROCESSOR(false, Type.VORGANG);
PROCESS_VORGANG(false, Type.VORGANG);
enum Type {
VORGANG, VORGANG_LIST, WIEDERVORLAGE, KOMMENTAR, FORWARDING, POSTFACH
......
......@@ -39,7 +39,7 @@ import org.springframework.hateoas.LinkRelation;
import org.springframework.hateoas.server.RepresentationModelProcessor;
import org.springframework.stereotype.Component;
import de.ozgcloud.alfa.ManualTriggeredProcessorProperties;
import de.ozgcloud.alfa.VorgangProcessorProperties;
import de.ozgcloud.alfa.attachment.AttachmentController;
import de.ozgcloud.alfa.common.FeatureToggleProperties;
import de.ozgcloud.alfa.common.ModelBuilder;
......@@ -64,7 +64,7 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity
static final LinkRelation REL_VORGANG_FORWARDING = LinkRelation.of("forwarding");
static final LinkRelation REL_HISTORIE = LinkRelation.of("historie");
static final LinkRelation REL_BESCHEID = LinkRelation.of("createBescheid");
static final LinkRelation REL_EXECUTE_PROCESSOR = LinkRelation.of("executeProcessor");
static final LinkRelation REL_PROCESS_VORGANG = LinkRelation.of("processVorgang");
static final String REL_SEARCH_USER = "search-user-profiles";
static final String USER_PROFILE_SEARCH_DELETED_PARAM = "deleted";
......@@ -85,7 +85,7 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity
@Autowired
private VorgangProperties vorgangProperties;
@Autowired
private ManualTriggeredProcessorProperties manualTriggeredProcessorProperties;
private VorgangProcessorProperties vorgangProcessorProperties;
private static final Predicate<VorgangWithEingang> HAS_ATTACHMENTS = vorgangWithEingang -> vorgangWithEingang.getEingang()
.getNumberOfAttachments() > 0;
......@@ -120,9 +120,9 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity
.ifMatch(() -> isCreateBescheidEnabled(vorgang))
.addLink(linkTo(methodOn(CommandByRelationController.class).createCommand(vorgang.getId(), vorgang.getId(), vorgang.getVersion(),
null)).withRel(REL_BESCHEID))
.ifMatch(this::showAnalogProcessorButton)
.ifMatch(this::isProcessable)
.addLink(() -> linkTo(methodOn(CommandByRelationController.class).createCommand(vorgang.getId(), vorgang.getId(), vorgang.getVersion(),
null)).withRel(REL_EXECUTE_PROCESSOR))
null)).withRel(REL_PROCESS_VORGANG))
.buildModel();
}
......@@ -165,8 +165,8 @@ class VorgangWithEingangProzessor implements RepresentationModelProcessor<Entity
return isAnyFormIdAndFormEngineNameMatching(eingangHeader, vorgangProperties.getBescheid());
}
private boolean showAnalogProcessorButton(VorgangWithEingang vorgang) {
return isAnyFormIdAndFormEngineNameMatching(vorgang.getEingang().getHeader(), manualTriggeredProcessorProperties.getAnalogButtonProcessor());
private boolean isProcessable(VorgangWithEingang vorgang) {
return isAnyFormIdAndFormEngineNameMatching(vorgang.getEingang().getHeader(), vorgangProcessorProperties.getProcessor());
}
private boolean isAnyFormIdAndFormEngineNameMatching(EingangHeader eingangHeader, List<VorgangProperty> properties) {
......
......@@ -48,7 +48,7 @@ class EnvironmentControllerTest {
@Mock
private GoofyProperties goofyProperties;
@Mock
private ManualTriggeredProcessorProperties manualTriggeredProcessorProperties;
private VorgangProcessorProperties vorgangProcessorProperties;
private MockMvc mockMvc;
......@@ -90,7 +90,7 @@ class EnvironmentControllerTest {
@Test
void shouldHaveProcessorNames() {
var processorName = "dummyProcessorName";
when(manualTriggeredProcessorProperties.getAnalogButtonProcessorNames()).thenReturn(List.of(processorName));
when(vorgangProcessorProperties.getProcessorNames()).thenReturn(List.of(processorName));
var response = doRequest();
......
......@@ -184,7 +184,7 @@ class CommandModelAssemblerTest {
"WIEDERVORLAGE_WIEDEREROEFFNEN", "CREATE_KOMMENTAR", "EDIT_KOMMENTAR", "REDIRECT_VORGANG", "FORWARD_SUCCESSFULL",
"FORWARD_FAILED", "ASSIGN_USER", "SEND_POSTFACH_MAIL", "SEND_POSTFACH_NACHRICHT", "RESEND_POSTFACH_MAIL", "CREATE_ATTACHED_ITEM",
"UPDATE_ATTACHED_ITEM", "PATCH_ATTACHED_ITEM", "RECEIVE_POSTFACH_NACHRICHT", "VORGANG_LOESCHEN", "DELETE_ATTACHED_ITEM",
"VORGANG_ZUM_LOESCHEN_MARKIEREN", "LOESCH_ANFORDERUNG_ZURUECKNEHMEN", "CREATE_BESCHEID", "EXECUTE_PROCESSOR" })
"VORGANG_ZUM_LOESCHEN_MARKIEREN", "LOESCH_ANFORDERUNG_ZURUECKNEHMEN", "CREATE_BESCHEID", "PROCESS_VORGANG" })
void shouldBePresentOnOrder(CommandOrder order) {
var model = toModelWithOrder(order);
......
......@@ -44,7 +44,7 @@ import org.springframework.hateoas.Link;
import org.springframework.hateoas.LinkRelation;
import org.springframework.web.util.UriComponentsBuilder;
import de.ozgcloud.alfa.ManualTriggeredProcessorProperties;
import de.ozgcloud.alfa.VorgangProcessorProperties;
import de.ozgcloud.alfa.common.FeatureToggleProperties;
import de.ozgcloud.alfa.common.UserProfileUrlProvider;
import de.ozgcloud.alfa.common.user.CurrentUserService;
......@@ -72,7 +72,7 @@ class VorgangWithEingangProzessorTest {
private VorgangProperties vorgangProperties;
@Mock
private ManualTriggeredProcessorProperties manualTriggeredProcessorProperties;
private VorgangProcessorProperties vorgangProcessorProperties;
private UserProfileUrlProvider urlProvider = new UserProfileUrlProvider();
......@@ -526,7 +526,7 @@ class VorgangWithEingangProzessorTest {
@BeforeEach
void init() {
when(manualTriggeredProcessorProperties.getAnalogButtonProcessor()).thenReturn(List.of(VorgangPropertyTestFactory.create()));
when(vorgangProcessorProperties.getProcessor()).thenReturn(List.of(VorgangPropertyTestFactory.create()));
}
@Test
......@@ -534,7 +534,7 @@ class VorgangWithEingangProzessorTest {
var processed = processor.process(vorgangEntityModel);
var expectedLink = String.format("/api/vorgangs/%s/relations/%s/%s/commands", VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.ID, VorgangHeaderTestFactory.VERSION);
assertThat(processed.getLink(VorgangWithEingangProzessor.REL_EXECUTE_PROCESSOR))
assertThat(processed.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG))
.isPresent().get().extracting(Link::getHref).isEqualTo(expectedLink);
}
}
......@@ -546,21 +546,21 @@ class VorgangWithEingangProzessorTest {
@Test
void shouldNotBeVisibleOnWrongFormId() {
var properties = List.of(VorgangPropertyTestFactory.createBuilder().formId("quatsch").build());
when(manualTriggeredProcessorProperties.getAnalogButtonProcessor()).thenReturn(properties);
when(vorgangProcessorProperties.getProcessor()).thenReturn(properties);
var processed = processor.process(vorgangEntityModel);
assertThat(processed.getLink(VorgangWithEingangProzessor.REL_EXECUTE_PROCESSOR)).isNotPresent();
assertThat(processed.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)).isNotPresent();
}
@Test
void shouldNotBeVisibleOnWrongFormEngineName() {
var properties = List.of(VorgangPropertyTestFactory.createBuilder().formEngineName("quatsch").build());
when(manualTriggeredProcessorProperties.getAnalogButtonProcessor()).thenReturn(properties);
when(vorgangProcessorProperties.getProcessor()).thenReturn(properties);
var processed = processor.process(vorgangEntityModel);
assertThat(processed.getLink(VorgangWithEingangProzessor.REL_EXECUTE_PROCESSOR)).isNotPresent();
assertThat(processed.getLink(VorgangWithEingangProzessor.REL_PROCESS_VORGANG)).isNotPresent();
}
}
}
......
ozgcloud:
vorgang:
processorNames:
- ticketCheck
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment