Skip to content

Commit

Permalink
some missing stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
miguelatwefox committed Dec 6, 2023
1 parent 9af330d commit 19245c1
Show file tree
Hide file tree
Showing 105 changed files with 733 additions and 656 deletions.
2 changes: 1 addition & 1 deletion backend/annotation-processing/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>backend</artifactId>
<groupId>io.mateu</groupId>
<version>2.2.69</version>
<version>2.2.70</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>annotation-processing</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion backend/core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>backend</artifactId>
<groupId>io.mateu</groupId>
<version>2.2.69</version>
<version>2.2.70</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
import com.google.common.base.Strings;
import io.mateu.mdd.shared.interfaces.SortCriteria;
import io.mateu.mdd.shared.interfaces.SortType;
import io.mateu.util.Helper;
import io.mateu.util.Serializer;

import java.util.*;
import java.util.stream.Collectors;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@

import io.mateu.mdd.shared.interfaces.SortCriteria;
import io.mateu.remote.dtos.*;
import io.mateu.util.Helper;
import io.mateu.util.Serializer;
import java.nio.charset.StandardCharsets;
import java.util.Base64;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;

import io.mateu.util.Serializer;
import lombok.RequiredArgsConstructor;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import io.mateu.mdd.shared.data.ExternalReference;
import io.mateu.mdd.shared.reflection.FieldInterfaced;
import io.mateu.reflection.ReflectionHelper;
import io.mateu.util.Helper;
import io.mateu.util.Serializer;
import jakarta.persistence.Entity;
import java.io.IOException;
Expand All @@ -20,7 +19,6 @@
import java.util.List;
import java.util.Map;
import javax.naming.AuthenticationException;

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,10 @@
import io.mateu.core.domain.model.store.JourneyContainer;
import io.mateu.core.domain.model.store.JourneyStoreService;
import io.mateu.reflection.ReflectionHelper;
import java.util.*;

import io.mateu.remote.dtos.Form;
import io.mateu.remote.dtos.Step;
import java.util.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
Expand Down Expand Up @@ -94,24 +91,30 @@ public Mono<Void> handle(RunStepActionCommand command) throws Throwable {
for (ActionRunner actionRunner : actionRunners) {
if (actionRunner.applies(viewInstance, actionId)) {
return actionRunner
.run(viewInstance, journeyId, stepId, actionId, data, serverHttpRequest)
.then(Mono.deferContextual(contextView -> {
String activeTabId = (String) command.getData().get("__activeTabId");
try {
var stepAfterRun = store.readStep(journeyId, stepId);
stepAfterRun.getView().getMain().getComponents().stream().map(c -> c.getMetadata())
.run(viewInstance, journeyId, stepId, actionId, data, serverHttpRequest)
.then(
Mono.deferContextual(
contextView -> {
String activeTabId = (String) command.getData().get("__activeTabId");
try {
var stepAfterRun = store.readStep(journeyId, stepId);
stepAfterRun.getView().getMain().getComponents().stream()
.map(c -> c.getMetadata())
.filter(m -> m instanceof Form)
.map(m -> (Form) m)
.flatMap(f -> f.getTabs().stream())
.forEach(t -> t.setActive(!Strings.isNullOrEmpty(activeTabId) && activeTabId.equals(t.getId())));
store.updateStep(journeyId, stepId, stepAfterRun);
} catch (Throwable e) {
throw new RuntimeException(e);
}

return Mono.empty();
}));

.forEach(
t ->
t.setActive(
!Strings.isNullOrEmpty(activeTabId)
&& activeTabId.equals(t.getId())));
store.updateStep(journeyId, stepId, stepAfterRun);
} catch (Throwable e) {
throw new RuntimeException(e);
}

return Mono.empty();
}));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@
import io.mateu.core.domain.commands.runStepAction.ActionRunner;
import io.mateu.core.domain.model.editors.EntityEditor;
import io.mateu.core.domain.model.store.JourneyStoreService;
import io.mateu.util.Helper;
import java.util.Map;

import io.mateu.util.Serializer;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
Expand All @@ -16,8 +14,7 @@
public class EntityEditorEditActionRunner implements ActionRunner {

@Autowired JourneyStoreService store;
@Autowired
Serializer serializer;
@Autowired Serializer serializer;

@Override
public boolean applies(Object viewInstance, String actionId) {
Expand All @@ -39,7 +36,8 @@ public Mono<Void> run(

private Object getEditor(EntityEditor entityEditor) throws Exception {
Object pojo =
serializer.fromJson(serializer.toJson(entityEditor.getData()), entityEditor.getEntityClass());
serializer.fromJson(
serializer.toJson(entityEditor.getData()), entityEditor.getEntityClass());
return pojo;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@
import java.util.List;
import java.util.Map;
import java.util.UUID;

import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,7 @@
import java.util.List;
import java.util.Map;
import java.util.UUID;

import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@
import io.mateu.core.domain.model.store.JourneyStoreService;
import io.mateu.mdd.shared.reflection.FieldInterfaced;
import io.mateu.reflection.ReflectionHelper;
import java.util.Map;

import io.mateu.util.Serializer;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
Expand All @@ -21,7 +19,6 @@ public class FieldEditorActionRunner implements ActionRunner {
final JourneyStoreService store;
final ReflectionHelper reflectionHelper;
final Serializer serializer;


@Override
public boolean applies(Object viewInstance, String actionId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@
import io.mateu.core.domain.model.editors.FieldEditor;
import io.mateu.core.domain.model.store.JourneyStoreService;
import io.mateu.remote.dtos.Step;
import io.mateu.util.Helper;
import io.mateu.util.Serializer;
import java.util.Map;

import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@
import java.util.List;
import java.util.Map;
import java.util.UUID;

import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
Expand All @@ -27,7 +25,7 @@ public class MethodParametersEditorRunActionRunner extends AbstractActionRunner
implements ActionRunner {

final JourneyStoreService store;
final private ActualValueExtractor actualValueExtractor;
private final ActualValueExtractor actualValueExtractor;
final ReflectionHelper reflectionHelper;
final Serializer serializer;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,9 @@
import io.mateu.core.domain.model.store.JourneyStoreService;
import io.mateu.mdd.core.interfaces.ReadOnlyPojo;
import io.mateu.reflection.ReflectionHelper;
import io.mateu.util.Helper;
import java.util.Map;

import io.mateu.util.Serializer;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
Expand Down Expand Up @@ -45,7 +42,8 @@ public Mono<Void> run(

private Object getEditor(ObjectEditor objectEditor) throws Throwable {
Object object = reflectionHelper.newInstance(objectEditor.getType());
Object filled = serializer.fromJson(serializer.toJson(objectEditor.getData()), objectEditor.getType());
Object filled =
serializer.fromJson(serializer.toJson(objectEditor.getData()), objectEditor.getType());
reflectionHelper.copy(filled, object);

Object editor = object;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,11 @@
import io.mateu.mdd.shared.data.ResultType;
import io.mateu.reflection.ReflectionHelper;
import io.mateu.remote.dtos.Step;
import io.mateu.util.Helper;
import io.mateu.util.Serializer;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;

import io.mateu.util.Serializer;
import jakarta.validation.Validation;
import jakarta.validation.Validator;
import jakarta.validation.ValidatorFactory;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
Expand Down Expand Up @@ -57,7 +50,6 @@ public Mono<Void> run(

validationService.validate(pojo);


if (pojo instanceof PersistentPojo) {
((PersistentPojo<?>) pojo).save();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,7 @@
import java.util.List;
import java.util.Map;
import java.util.UUID;

import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,15 @@
import io.mateu.mdd.shared.data.Result;
import io.mateu.mdd.shared.interfaces.Listing;
import io.mateu.reflection.ReflectionHelper;
import io.mateu.util.Helper;
import io.mateu.util.Serializer;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.Parameter;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;

import io.mateu.util.Serializer;
import jakarta.validation.Validation;
import jakarta.validation.Validator;
import jakarta.validation.ValidatorFactory;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
Expand Down Expand Up @@ -97,7 +91,8 @@ private Object getActualInstance(Object viewInstance, Map<String, Object> data)
}

private Map<Object, Method> getActions(Object viewInstance) {
return reflectionHelper.getAllMethods(getActualInstance(viewInstance, Map.of()).getClass())
return reflectionHelper
.getAllMethods(getActualInstance(viewInstance, Map.of()).getClass())
.stream()
.filter(m -> m.isAnnotationPresent(Action.class) || m.isAnnotationPresent(MainAction.class))
.collect(Collectors.toMap(m -> m.getName(), m -> m));
Expand All @@ -121,13 +116,13 @@ public Mono<Void> run(
}

public Mono<Void> runMethod(
Object actualViewInstance,
Method m,
String journeyId,
String stepId,
String actionId,
Map<String, Object> data,
ServerHttpRequest serverHttpRequest)
Object actualViewInstance,
Method m,
String journeyId,
String stepId,
String actionId,
Map<String, Object> data,
ServerHttpRequest serverHttpRequest)
throws Throwable {
// todo: inject parameters (ServerHttpRequest, selection for jpacrud)
if (needsParameters(m)) {
Expand All @@ -147,7 +142,10 @@ public Mono<Void> runMethod(
journeyId,
actionId,
new MethodParametersEditor(
actualViewInstance, m.getName(), store.getCurrentStep(journeyId).getId(), serializer),
actualViewInstance,
m.getName(),
store.getCurrentStep(journeyId).getId(),
serializer),
serverHttpRequest);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,21 @@
import jakarta.validation.Validation;
import jakarta.validation.Validator;
import jakarta.validation.ValidatorFactory;
import org.springframework.stereotype.Service;

import java.util.stream.Collectors;
import org.springframework.stereotype.Service;

@Service
public class ValidationService {

public void validate(Object bean) throws Exception {
Validator validator;
try (ValidatorFactory factory = Validation.buildDefaultValidatorFactory()) {
validator = factory.getValidator();
}
var violations = validator.validate(bean);
if (!violations.isEmpty()) {
var msg = violations.stream().map(v -> v.getMessage()).collect(Collectors.joining(","));
throw new Exception(msg);
}
public void validate(Object bean) throws Exception {
Validator validator;
try (ValidatorFactory factory = Validation.buildDefaultValidatorFactory()) {
validator = factory.getValidator();
}

var violations = validator.validate(bean);
if (!violations.isEmpty()) {
var msg = violations.stream().map(v -> v.getMessage()).collect(Collectors.joining(","));
throw new Exception(msg);
}
}
}
Loading

0 comments on commit 19245c1

Please sign in to comment.