You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by sk...@apache.org on 2017/08/04 13:41:25 UTC
syncope git commit: [SYNCOPE-1115] Now it is possible to display
attributes for propagation tasks in Admin Console
Repository: syncope
Updated Branches:
refs/heads/2_0_X b652bec77 -> a623680a7
[SYNCOPE-1115] Now it is possible to display attributes for propagation tasks in Admin Console
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/a623680a
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/a623680a
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/a623680a
Branch: refs/heads/2_0_X
Commit: a623680a7a69b89e768874950a1c93709dda7e2a
Parents: b652bec
Author: skylark17 <ma...@tirasa.net>
Authored: Fri Aug 4 15:40:57 2017 +0200
Committer: skylark17 <ma...@tirasa.net>
Committed: Fri Aug 4 15:40:57 2017 +0200
----------------------------------------------------------------------
.../console/tasks/AnyPropagationTasks.java | 11 ++-
.../tasks/PropagationTaskDirectoryPanel.java | 16 +++-
.../client/console/tasks/PropagationTasks.java | 10 +++
.../tasks/TaskAttributesDetailsView.java | 79 ++++++++++++++++++++
.../wicket/markup/html/form/ActionLink.java | 4 +-
.../PropagationTaskDirectoryPanel.properties | 1 +
.../PropagationTaskDirectoryPanel_it.properties | 1 +
...opagationTaskDirectoryPanel_pt_BR.properties | 1 +
.../PropagationTaskDirectoryPanel_ru.properties | 1 +
.../tasks/TaskAttributesDetailsView.html | 23 ++++++
.../markup/html/form/ActionPanel.properties | 8 ++
.../markup/html/form/ActionPanel_it.properties | 8 ++
.../html/form/ActionPanel_pt_BR.properties | 8 ++
.../markup/html/form/ActionPanel_ru.properties | 8 ++
.../syncope/fit/console/TopologyITCase.java | 2 +-
15 files changed, 177 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/java/org/apache/syncope/client/console/tasks/AnyPropagationTasks.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/AnyPropagationTasks.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/AnyPropagationTasks.java
index 5193036..b3b004a 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/AnyPropagationTasks.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/AnyPropagationTasks.java
@@ -32,7 +32,7 @@ import org.apache.wicket.model.StringResourceModel;
public class AnyPropagationTasks extends AbstractPropagationTasks {
private static final long serialVersionUID = -4013796607157549641L;
-
+
public <T extends AnyTO> AnyPropagationTasks(
final BaseModal<?> baseModal,
final AnyTypeKind anyTypeKind,
@@ -53,6 +53,15 @@ public class AnyPropagationTasks extends AbstractPropagationTasks {
new TaskExecutionDetails<>(baseModal, taskTO, pageReference),
target);
}
+
+ @Override
+ protected void viewTaskDetails(final PropagationTaskTO taskTO, final AjaxRequestTarget target) {
+ mlp.next(
+ new StringResourceModel("task.view.details", this, new Model<>(Pair.of(null, taskTO))).
+ getObject(),
+ new TaskAttributesDetailsView(baseModal, taskTO, pageReference),
+ target);
+ }
});
add(mlp);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.java
index 614ebe3..0db71d5 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.java
@@ -127,7 +127,19 @@ public abstract class PropagationTaskDirectoryPanel
PropagationTaskDirectoryPanel.this.getTogglePanel().close(target);
viewTask(taskTO, target);
}
- }, ActionLink.ActionType.VIEW, StandardEntitlement.TASK_READ);
+ }, ActionLink.ActionType.VIEW_EXECUTIONS, StandardEntitlement.TASK_READ);
+
+ // [SYNCOPE-1115] - Display attributes for propagation tasks
+ panel.add(new ActionLink<PropagationTaskTO>() {
+
+ private static final long serialVersionUID = 9206257220553949594L;
+
+ @Override
+ public void onClick(final AjaxRequestTarget target, final PropagationTaskTO modelObject) {
+ PropagationTaskDirectoryPanel.this.getTogglePanel().close(target);
+ viewTaskDetails(modelObject, target);
+ }
+ }, ActionLink.ActionType.VIEW_DETAILS, StandardEntitlement.TASK_READ);
panel.add(new ActionLink<PropagationTaskTO>() {
@@ -208,4 +220,6 @@ public abstract class PropagationTaskDirectoryPanel
return tasks.iterator();
}
}
+
+ protected abstract void viewTaskDetails(PropagationTaskTO taskTO, AjaxRequestTarget target);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTasks.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTasks.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTasks.java
index c4f3aeb..b1f4a20 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTasks.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/PropagationTasks.java
@@ -40,6 +40,7 @@ public class PropagationTasks extends AbstractPropagationTasks {
super(BaseModal.CONTENT_ID);
final MultilevelPanel tasks = new MultilevelPanel("tasks");
+
tasks.setFirstLevel(new PropagationTaskDirectoryPanel(baseModal, tasks, resource, pageReference) {
private static final long serialVersionUID = -2195387360323687302L;
@@ -51,6 +52,15 @@ public class PropagationTasks extends AbstractPropagationTasks {
new TaskExecutionDetails<>(baseModal, taskTO, pageReference),
target);
}
+
+ @Override
+ protected void viewTaskDetails(final PropagationTaskTO taskTO, final AjaxRequestTarget target) {
+ tasks.next(
+ new StringResourceModel("task.view.details", this, new Model<>(Pair.of(null, taskTO))).
+ getObject(),
+ new TaskAttributesDetailsView(baseModal, taskTO, pageReference),
+ target);
+ }
});
add(tasks);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
new file mode 100644
index 0000000..6ad4079
--- /dev/null
+++ b/client/console/src/main/java/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.syncope.client.console.tasks;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.IOException;
+import org.apache.commons.lang3.tuple.Pair;
+import org.apache.syncope.client.console.panels.MultilevelPanel;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.form.JsonEditorPanel;
+import org.apache.syncope.common.lib.to.PropagationTaskTO;
+import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.model.PropertyModel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Task attributes details.
+ */
+public class TaskAttributesDetailsView extends MultilevelPanel.SecondLevel {
+
+ private static final long serialVersionUID = -4110576026663173545L;
+
+ private static final Logger LOG = LoggerFactory.getLogger(AnyPropagationTasks.class);
+
+ private static final ObjectMapper MAPPER = new ObjectMapper();
+
+ public TaskAttributesDetailsView(final BaseModal<?> baseModal, final PropagationTaskTO taskTO,
+ final PageReference pageRef) {
+ super();
+
+ Pair<String, String> info = Pair.of(taskTO.getEntityKey(), getJSONInfo(taskTO));
+ JsonEditorPanel jsonPanel =
+ new JsonEditorPanel(null, new PropertyModel<String>(info, "value"), true,
+ null) {
+
+ private static final long serialVersionUID = -8927036362466990179L;
+
+ @Override
+ public void onSubmit(final AjaxRequestTarget target, final Form<?> form) {
+ modal.close(target);
+ }
+ };
+
+ add(jsonPanel);
+
+ }
+
+ private String getJSONInfo(final PropagationTaskTO taskTO) {
+ String json = "";
+ try {
+ JsonNode list = MAPPER.readTree(taskTO.getAttributes());
+ json = MAPPER.writerWithDefaultPrettyPrinter().writeValueAsString(list);
+ } catch (IOException ex) {
+ LOG.error("Error converting objects to JSON", ex);
+ }
+
+ return json;
+ }
+}
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLink.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLink.java b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLink.java
index 3de74f8..9e55595 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLink.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLink.java
@@ -95,7 +95,9 @@ public abstract class ActionLink<T extends Serializable> implements Serializable
NOTIFICATION_TASKS("read"),
ZOOM_IN("zoomin"),
ZOOM_OUT("zoomout"),
- WORKFLOW_MODELER("workflowModeler");
+ WORKFLOW_MODELER("workflowModeler"),
+ VIEW_EXECUTIONS("read"),
+ VIEW_DETAILS("read");
private final String actionId;
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.properties
index d06158d..aa8e1c3 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel.properties
@@ -19,4 +19,5 @@ anyTypeKind=Object Type
entityKey=Local ID
connObjectKey=Remote ID
task.view=${right.operation} ${right.objectClassName}
+task.view.details=Attributes detail
resource=Resource
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_it.properties
index 71a1e85..4f76954 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_it.properties
@@ -19,4 +19,5 @@ anyTypeKind=Tipo Oggetto
entityKey=ID Locale
connObjectKey=ID Remoto
task.view=${right.operation} ${right.objectClassName}
+task.view.details=Dettaglio degli attributi
resource=risorsa
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_pt_BR.properties
index 4e2efd0..0d545e7 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_pt_BR.properties
@@ -19,4 +19,5 @@ anyTypeKind=Object Type
entityKey=Local ID
connObjectKey=Remote ID
task.view=${right.operation} ${right.objectClassName}
+task.view.details=Detalhes dos atributos
resource=Recurso
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_ru.properties
index 593eb12..baab4ad 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_ru.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/PropagationTaskDirectoryPanel_ru.properties
@@ -20,4 +20,5 @@ anyTypeKind=\u041e\u0431\u044a\u0435\u043a\u0442
entityKey=\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440
connObjectKey=\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0435
task.view=${right.operation} ${right.objectClassName}
+task.view.details=\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432
resource=Pecypce
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.html b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.html
new file mode 100644
index 0000000..f6f3a66
--- /dev/null
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/tasks/TaskAttributesDetailsView.html
@@ -0,0 +1,23 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
+ <wicket:panel>
+ <div wicket:id="content"></div>
+ </wicket:panel>
+</html>
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel.properties
index eaf9bda..994ab1c 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel.properties
@@ -86,6 +86,14 @@ view.class=fa fa-eye
view.title=view
view.alt=view icon
+view_executions.class=fa fa-eye
+view_executions.title=view executions
+view_executions.alt=view executions icon
+
+view_details.class=fa fa-info-circle
+view_details.title=view details
+view_details.alt=view details icon
+
members.class=fa fa-users
members.title=members
members.alt=members icon
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_it.properties
index 0351275..70ca259 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_it.properties
@@ -86,6 +86,14 @@ view.class=fa fa-eye
view.title=view
view.alt=view icon
+view_executions.class=fa fa-eye
+view_executions.title=view executions
+view_executions.alt=view executions icon
+
+view_details.class=fa fa-info-circle
+view_details.title=view details
+view_details.alt=view details icon
+
members.class=fa fa-users
members.title=members
members.alt=members icon
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_pt_BR.properties
index 0351275..70ca259 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_pt_BR.properties
@@ -86,6 +86,14 @@ view.class=fa fa-eye
view.title=view
view.alt=view icon
+view_executions.class=fa fa-eye
+view_executions.title=view executions
+view_executions.alt=view executions icon
+
+view_details.class=fa fa-info-circle
+view_details.title=view details
+view_details.alt=view details icon
+
members.class=fa fa-users
members.title=members
members.alt=members icon
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_ru.properties
index 0351275..70ca259 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_ru.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionPanel_ru.properties
@@ -86,6 +86,14 @@ view.class=fa fa-eye
view.title=view
view.alt=view icon
+view_executions.class=fa fa-eye
+view_executions.title=view executions
+view_executions.alt=view executions icon
+
+view_details.class=fa fa-info-circle
+view_details.title=view details
+view_details.alt=view details icon
+
members.class=fa fa-users
members.title=members
members.alt=members icon
http://git-wip-us.apache.org/repos/asf/syncope/blob/a623680a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
index d2da2e2..67afad7 100644
--- a/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
+++ b/fit/core-reference/src/test/java/org/apache/syncope/fit/console/TopologyITCase.java
@@ -356,7 +356,7 @@ public class TopologyITCase extends AbstractConsoleITCase {
TESTER.executeAjaxEvent(component.getPageRelativePath(), Constants.ON_CLICK);
TESTER.clickLink("body:toggle:outerObjectsRepeater:1:outer:form:content:tasks:firstLevelContainer:first:"
+ "outerObjectsRepeater:1:outer:container:content:togglePanelContainer:container:"
- + "actions:actions:actionRepeater:1:action:action");
+ + "actions:actions:actionRepeater:2:action:action");
TESTER.clickLink("body:topologyLI:topology");