protected Clock createClock(XMLGregorianCalendar date) { Clock clock = new Clock(); clock.override(date); return clock; }
@BeforeClass public void setupFactory() { System.out.println("Setting up expression factory and evaluator"); PrismContext prismContext = getPrismContext(); ObjectResolver resolver = new DirectoryFileObjectResolver(OBJECTS_DIR); Protector protector = KeyStoreBasedProtectorBuilder.create(prismContext).buildOnly(); Clock clock = new Clock(); Collection<FunctionLibrary> functions = new ArrayList<>(); functions.add(FunctionLibraryUtil.createBasicFunctionLibrary(prismContext, protector, clock)); scriptExpressionfactory = new ScriptExpressionFactory(prismContext, protector, null); scriptExpressionfactory.setObjectResolver(resolver); scriptExpressionfactory.setFunctions(functions); evaluator = new Jsr223ScriptEvaluator("groovy", prismContext, protector, LocalizationTestUtil.getLocalizationService()); String languageUrl = evaluator.getLanguageUrl(); scriptExpressionfactory.registerEvaluator(languageUrl, evaluator); }
@BeforeClass public void setupFactory() { PrismContext prismContext = PrismTestUtil.getPrismContext(); ObjectResolver resolver = new DirectoryFileObjectResolver(OBJECTS_DIR); Protector protector = KeyStoreBasedProtectorBuilder.create(prismContext).buildOnly(); Clock clock = new Clock(); Collection<FunctionLibrary> functions = new ArrayList<>(); functions.add(FunctionLibraryUtil.createBasicFunctionLibrary(prismContext, protector, clock)); scriptExpressionfactory = new ScriptExpressionFactory(prismContext, protector, null); scriptExpressionfactory.setObjectResolver(resolver); scriptExpressionfactory.setFunctions(functions); localizationService = LocalizationTestUtil.getLocalizationService(); evaluator = createEvaluator(prismContext, protector); String languageUrl = evaluator.getLanguageUrl(); System.out.println("Expression test for "+evaluator.getLanguageName()+": registering "+evaluator+" with URL "+languageUrl); scriptExpressionfactory.registerEvaluator(languageUrl, evaluator); }
@BeforeSuite public void setup() throws SchemaException, SAXException, IOException { PrettyPrinter.setDefaultNamespacePrefix(MidPointConstants.NS_MIDPOINT_PUBLIC_PREFIX); PrismTestUtil.resetPrismContext(MidPointPrismContextFactory.FACTORY); prismContext = PrismTestUtil.createInitializedPrismContext(); ObjectResolver resolver = new DirectoryFileObjectResolver(MidPointTestConstants.OBJECTS_DIR); Protector protector = ExpressionTestUtil.createInitializedProtector(prismContext); Clock clock = new Clock(); expressionFactory = ExpressionTestUtil.createInitializedExpressionFactory(resolver, protector, prismContext, clock, null, null); }
@BeforeSuite public void setup() throws SchemaException, SAXException, IOException { PrettyPrinter.setDefaultNamespacePrefix(MidPointConstants.NS_MIDPOINT_PUBLIC_PREFIX); PrismTestUtil.resetPrismContext(MidPointPrismContextFactory.FACTORY); protector = KeyStoreBasedProtectorBuilder.create(getPrismContext()) .keyStorePath("src/test/resources/keystore.jceks") .keyStorePassword("changeit") .initialize(); clock = new Clock(); }
public List<PrismContainerValue<WorkItemType>> searchApprovalWorkItems(int days, QName sortColumn) throws CommunicationException, ObjectNotFoundException, SchemaException, SecurityViolationException, ConfigurationException, ExpressionEvaluationException, DatatypeConfigurationException { Task task = taskManager.createTaskInstance(); OperationResult result = task.getResult(); ObjectQuery query = prismContext.queryFor(AbstractWorkItemType.class).build(); if (days > 0) { XMLGregorianCalendar since = (new Clock()).currentTimeXMLGregorianCalendar(); DatatypeFactory df = DatatypeFactory.newInstance(); since.add (df.newDuration(false, 0, 0, days, 0, 0, 0)); query.addFilter(prismContext.queryFor(AbstractWorkItemType.class) .item(AbstractWorkItemType.F_CREATE_TIMESTAMP).lt(since).buildFilter()); } if (sortColumn != null) { query.addFilter(prismContext.queryFor(AbstractWorkItemType.class) .asc(sortColumn) .buildFilter()); } Object[] itemsToResolve = { WorkItemType.F_ASSIGNEE_REF, ItemPath.create(PrismConstants.T_PARENT, WfContextType.F_OBJECT_REF), ItemPath.create(PrismConstants.T_PARENT, WfContextType.F_TARGET_REF), ItemPath.create(PrismConstants.T_PARENT, WfContextType.F_REQUESTER_REF) }; SearchResultList<WorkItemType> workItems = model.searchContainers(WorkItemType.class, query, schemaHelper.getOperationOptionsBuilder().items(itemsToResolve).resolve().build(), task, result); return PrismContainerValue.toPcvList(workItems); }
public void init() throws SchemaException, SAXException, IOException { PrettyPrinter.setDefaultNamespacePrefix(MidPointConstants.NS_MIDPOINT_PUBLIC_PREFIX); PrismTestUtil.resetPrismContext(MidPointPrismContextFactory.FACTORY); prismContext = PrismTestUtil.createInitializedPrismContext(); ObjectResolver resolver = new DirectoryFileObjectResolver(MidPointTestConstants.OBJECTS_DIR); protector = ExpressionTestUtil.createInitializedProtector(prismContext); Clock clock = new Clock(); ExpressionFactory expressionFactory = ExpressionTestUtil.createInitializedExpressionFactory(resolver, protector, prismContext, clock, null, null); mappingFactory = new MappingFactory(); mappingFactory.setExpressionFactory(expressionFactory); mappingFactory.setObjectResolver(resolver); mappingFactory.setPrismContext(prismContext); mappingFactory.setProfiling(true); mappingFactory.setProtector(protector); }