use of com.enonic.xp.script.ScriptValue in project xp by enonic.
the class ModifyScheduledJobHandler method updateUser.
private void updateUser(final EditableScheduledJob target, final ScriptValue params) {
if (params.getKeys().contains("user")) {
final ScriptValue value = params.getMember("user");
target.user = value != null ? PrincipalKey.from(value.getValue(String.class)) : null;
}
}
use of com.enonic.xp.script.ScriptValue in project xp by enonic.
the class ModifyScheduledJobHandler method updateCalendar.
private void updateCalendar(final EditableScheduledJob target, final ScriptValue params) {
if (params.getKeys().contains("schedule")) {
final ScriptValue value = params.getMember("schedule");
if (value == null) {
throw new IllegalArgumentException("schedule cannot be null");
}
target.calendar = buildCalendar((Map) params.getMember("schedule").getMap());
}
}
use of com.enonic.xp.script.ScriptValue in project xp by enonic.
the class ModifyScheduledJobHandler method updateConfig.
private void updateConfig(final EditableScheduledJob target, final ScriptValue params) {
if (params.getKeys().contains("config")) {
final ScriptValue value = params.getMember("config");
if (value == null) {
throw new IllegalArgumentException("config cannot be null");
}
target.config = propertyTreeMarshallerService.get().marshal(params.getMember("config").getMap());
}
}
use of com.enonic.xp.script.ScriptValue in project xp by enonic.
the class SubmitTaskHandler method submitTask.
public String submitTask() {
descriptor = descriptor == null ? "" : descriptor;
final DescriptorKey taskKey;
if (descriptor.contains(":")) {
taskKey = DescriptorKey.from(descriptor);
} else {
final ApplicationKey app = getApplication();
if (app == null) {
throw new RuntimeException("Could not resolve current application for descriptord task: '" + descriptor + "'");
}
taskKey = DescriptorKey.from(app, descriptor);
}
final TaskService taskService = taskServiceSupplier.get();
PropertyTree data = propertyTreeMarshallerServiceSupplier.get().marshal(Optional.ofNullable(config).map(ScriptValue::getMap).orElse(Map.of()));
final SubmitTaskParams params = SubmitTaskParams.create().descriptorKey(taskKey).data(data).build();
final TaskId taskId = taskService.submitTask(params);
return taskId.toString();
}
use of com.enonic.xp.script.ScriptValue in project xp by enonic.
the class QueryContentHandlerTest method testExecute.
@Test
public void testExecute() throws Exception {
FindContentIdsByQueryResult queryResult = FindContentIdsByQueryResult.create().contents(ContentIds.from("contentId")).sort(Collections.singletonMap(ContentId.from("contentId"), SortValuesProperty.create().values(10).build())).build();
Contents contents = Contents.create().add(Content.create().id(ContentId.from("contentId")).name("name").parentPath(ContentPath.ROOT).build()).build();
Mockito.when(contentService.find(Mockito.any(ContentQuery.class))).thenReturn(queryResult);
Mockito.when(contentService.getByIds(Mockito.any(GetContentByIdsParams.class))).thenReturn(contents);
QueryContentHandler instance = new QueryContentHandler();
instance.initialize(newBeanContext(ResourceKey.from("myapp:/test")));
final ScriptValue sort = Mockito.mock(ScriptValue.class);
final ScriptValue query = Mockito.mock(ScriptValue.class);
Mockito.when(sort.getValue(String.class)).thenReturn("getDistance(\"location\", \"83,80\", \"km\")");
Mockito.when(query.getValue(String.class)).thenReturn("_name = \"cityName\"");
Mockito.when(query.isValue()).thenReturn(true);
Mockito.when(sort.isValue()).thenReturn(true);
instance.setSort(sort);
instance.setQuery(query);
JsonMapGenerator generator = new JsonMapGenerator();
ContentsResultMapper resultMapper = (ContentsResultMapper) instance.execute();
resultMapper.serialize(generator);
final JsonNode actualJson = (JsonNode) generator.getRoot();
Assertions.assertEquals(1, actualJson.path("count").asInt());
Assertions.assertTrue(actualJson.path("hits").get(0).path("_sort").isArray());
Assertions.assertEquals(10, actualJson.path("hits").get(0).path("_sort").get(0).asInt());
}
Aggregations