Skip to content

Commit

Permalink
removed ModelWebService(Raw), related port and cleanup around
Browse files Browse the repository at this point in the history
  • Loading branch information
virgo47 committed Apr 16, 2020
1 parent a184ad3 commit ba39519
Show file tree
Hide file tree
Showing 14 changed files with 229 additions and 1,182 deletions.

This file was deleted.

9 changes: 0 additions & 9 deletions model/model-common/pom.xml
Expand Up @@ -70,11 +70,6 @@
<artifactId>model-api</artifactId>
<version>4.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.evolveum.midpoint.repo</groupId>
<artifactId>audit-api</artifactId>
<version>4.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.evolveum.midpoint.repo</groupId>
<artifactId>repo-common</artifactId>
Expand Down Expand Up @@ -120,10 +115,6 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
Expand Down
Expand Up @@ -7,12 +7,9 @@
package com.evolveum.midpoint.model.common.expression.evaluator;

import java.util.Collection;

import javax.xml.bind.JAXBElement;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.schema.cache.CacheConfigurationManager;
import com.evolveum.midpoint.task.api.Task;
import org.apache.commons.lang.Validate;

import com.evolveum.midpoint.prism.ItemDefinition;
Expand All @@ -22,8 +19,10 @@
import com.evolveum.midpoint.repo.common.expression.AbstractObjectResolvableExpressionEvaluatorFactory;
import com.evolveum.midpoint.repo.common.expression.ExpressionEvaluator;
import com.evolveum.midpoint.repo.common.expression.ExpressionFactory;
import com.evolveum.midpoint.schema.cache.CacheConfigurationManager;
import com.evolveum.midpoint.schema.expression.ExpressionProfile;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.xml.ns._public.common.common_3.FunctionExpressionEvaluatorType;
Expand All @@ -33,7 +32,6 @@
* This is NOT autowired evaluator.
*
* @author semancik
*
*/
public class FunctionExpressionEvaluatorFactory extends AbstractObjectResolvableExpressionEvaluatorFactory {

Expand All @@ -42,7 +40,8 @@ public class FunctionExpressionEvaluatorFactory extends AbstractObjectResolvable
private final Protector protector;
private final PrismContext prismContext;

public FunctionExpressionEvaluatorFactory(ExpressionFactory expressionFactory, Protector protector, PrismContext prismContext,
public FunctionExpressionEvaluatorFactory(
ExpressionFactory expressionFactory, Protector protector, PrismContext prismContext,
CacheConfigurationManager cacheConfigurationManager) {
super(expressionFactory, cacheConfigurationManager);
this.protector = protector;
Expand All @@ -58,18 +57,18 @@ public QName getElementName() {
* @see com.evolveum.midpoint.common.expression.ExpressionEvaluatorFactory#createEvaluator(javax.xml.bind.JAXBElement, com.evolveum.midpoint.prism.PrismContext)
*/
@Override
public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D> createEvaluator(
public <V extends PrismValue, D extends ItemDefinition> ExpressionEvaluator<V, D> createEvaluator(
Collection<JAXBElement<?>> evaluatorElements,
D outputDefinition,
ExpressionProfile expressionProfile,
ExpressionFactory factory,
String contextDescription, Task task, OperationResult result)
throws SchemaException, ObjectNotFoundException {
throws SchemaException, ObjectNotFoundException {

Validate.notNull(outputDefinition, "output definition must be specified for 'generate' expression evaluator");

if (evaluatorElements.size() > 1) {
throw new SchemaException("More than one evaluator specified in "+contextDescription);
throw new SchemaException("More than one evaluator specified in " + contextDescription);
}
JAXBElement<?> evaluatorElement = evaluatorElements.iterator().next();

Expand All @@ -78,10 +77,10 @@ public <V extends PrismValue,D extends ItemDefinition> ExpressionEvaluator<V,D>
evaluatorTypeObject = evaluatorElement.getValue();
}
if (evaluatorTypeObject != null && !(evaluatorTypeObject instanceof FunctionExpressionEvaluatorType)) {
throw new SchemaException("Function expression evaluator cannot handle elements of type " + evaluatorTypeObject.getClass().getName()+" in "+contextDescription);
throw new SchemaException("Function expression evaluator cannot handle elements of type " + evaluatorTypeObject.getClass().getName() + " in " + contextDescription);
}

FunctionExpressionEvaluatorType functionEvaluatorType = (FunctionExpressionEvaluatorType)evaluatorTypeObject;
FunctionExpressionEvaluatorType functionEvaluatorType = (FunctionExpressionEvaluatorType) evaluatorTypeObject;

return new FunctionExpressionEvaluator(ELEMENT_NAME, functionEvaluatorType, outputDefinition, protector, getObjectResolver(), prismContext);
}
Expand Down
Expand Up @@ -6,79 +6,43 @@
*/
package com.evolveum.midpoint.model.common.expression.script.jsr223;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;

import javax.script.Bindings;
import javax.script.Compilable;
import javax.script.CompiledScript;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import javax.xml.namespace.QName;
import javax.script.*;

import com.evolveum.midpoint.common.LocalizationService;
import com.evolveum.midpoint.model.common.expression.functions.FunctionLibrary;
import com.evolveum.midpoint.model.common.expression.script.AbstractCachingScriptEvaluator;
import com.evolveum.midpoint.model.common.expression.script.ScriptEvaluator;
import com.evolveum.midpoint.model.common.expression.script.ScriptExpressionEvaluationContext;
import com.evolveum.midpoint.prism.*;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.crypto.Protector;
import com.evolveum.midpoint.prism.xml.XsdTypeMapper;
import com.evolveum.midpoint.repo.common.ObjectResolver;
import com.evolveum.midpoint.repo.common.expression.ExpressionSyntaxException;
import com.evolveum.midpoint.repo.common.expression.ExpressionUtil;
import com.evolveum.midpoint.repo.common.expression.ExpressionVariables;
import com.evolveum.midpoint.schema.constants.MidPointConstants;
import com.evolveum.midpoint.schema.internals.InternalCounters;
import com.evolveum.midpoint.schema.internals.InternalMonitor;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.ExceptionUtil;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.CommunicationException;
import com.evolveum.midpoint.util.exception.ConfigurationException;
import com.evolveum.midpoint.util.exception.ExpressionEvaluationException;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SecurityViolationException;
import com.evolveum.midpoint.util.exception.SystemException;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ScriptExpressionEvaluatorType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ScriptExpressionReturnTypeType;
import com.evolveum.midpoint.util.exception.*;

/**
* Expression evaluator that is using javax.script (JSR-223) engine.
*
* <p>
* This evaluator does not really support expression profiles. It has just one
* global almighty compiler (ScriptEngine).
*
* @author Radovan Semancik
*
*/
public class Jsr223ScriptEvaluator extends AbstractCachingScriptEvaluator<ScriptEngine,CompiledScript> {

private static final Trace LOGGER = TraceManager.getTrace(Jsr223ScriptEvaluator.class);
public class Jsr223ScriptEvaluator extends AbstractCachingScriptEvaluator<ScriptEngine, CompiledScript> {

private final ScriptEngine scriptEngine;

public Jsr223ScriptEvaluator(String engineName, PrismContext prismContext, Protector protector,
LocalizationService localizationService) {
public Jsr223ScriptEvaluator(String engineName, PrismContext prismContext,
Protector protector, LocalizationService localizationService) {
super(prismContext, protector, localizationService);

ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
scriptEngine = scriptEngineManager.getEngineByName(engineName);
if (scriptEngine == null) {
throw new SystemException("The JSR-223 scripting engine for '"+engineName+"' was not found");
throw new SystemException("The JSR-223 scripting engine for '" + engineName + "' was not found");
}
}

@Override
protected CompiledScript compileScript(String codeString, ScriptExpressionEvaluationContext context) throws Exception {
return ((Compilable)scriptEngine).compile(codeString);
return ((Compilable) scriptEngine).compile(codeString);
}

@Override
Expand All @@ -89,13 +53,12 @@ protected Object evaluateScript(CompiledScript compiledScript, ScriptExpressionE
}

private Bindings convertToBindings(ScriptExpressionEvaluationContext context)
throws ExpressionSyntaxException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException {
throws ExpressionSyntaxException, ObjectNotFoundException, CommunicationException, ConfigurationException, SecurityViolationException, ExpressionEvaluationException {
Bindings bindings = scriptEngine.createBindings();
bindings.putAll(prepareScriptVariablesValueMap(context));
return bindings;
}


// public <T> Object evaluateReportScript(String codeString, ScriptExpressionEvaluationContext context) throws ExpressionEvaluationException,
// ObjectNotFoundException, ExpressionSyntaxException, CommunicationException, ConfigurationException, SecurityViolationException {
//
Expand Down Expand Up @@ -126,7 +89,6 @@ private Bindings convertToBindings(ScriptExpressionEvaluationContext context)
// return evalRawResult;
// }


/* (non-Javadoc)
* @see com.evolveum.midpoint.common.expression.ExpressionEvaluator#getLanguageName()
*/
Expand Down

This file was deleted.

4 changes: 0 additions & 4 deletions model/model-impl/pom.xml
Expand Up @@ -265,10 +265,6 @@
<artifactId>spring-boot-starter-amqp</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
</dependency>

<!-- Test -->
<dependency>
Expand Down

0 comments on commit ba39519

Please sign in to comment.