You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2016/05/06 16:33:26 UTC

syncope git commit: [SYNCOPE-745] Export internal storage configuration as XML

Repository: syncope
Updated Branches:
  refs/heads/master 7dc7ddae7 -> 2144363e6


[SYNCOPE-745] Export internal storage configuration as XML


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/2144363e
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/2144363e
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/2144363e

Branch: refs/heads/master
Commit: 2144363e60f5bbbc29b6dce4bf1190c2d9868232
Parents: 7dc7dda
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Fri May 6 18:33:17 2016 +0200
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Fri May 6 18:33:17 2016 +0200

----------------------------------------------------------------------
 .../syncope/client/console/pages/BasePage.java  | 40 +++++++++++
 .../client/console/widgets/LoadWidget.java      |  5 --
 .../syncope/client/console/pages/BasePage.html  | 71 ++++++++++++++++++++
 .../client/console/pages/BasePage.properties    |  5 ++
 .../client/console/pages/BasePage_it.properties |  5 ++
 .../console/pages/BasePage_pt_BR.properties     |  5 ++
 .../client/console/pages/BasePage_ru.properties | 11 ++-
 .../console/panels/DashboardOverviewPanel.html  | 10 +--
 .../client/console/widgets/LoadWidget.html      | 10 ---
 .../cxf/service/ConfigurationServiceImpl.java   |  7 +-
 10 files changed, 144 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/2144363e/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java b/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
index c5797db..b9cbe61 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
@@ -25,16 +25,21 @@ import org.apache.syncope.client.console.BookmarkablePageLinkBuilder;
 import org.apache.syncope.client.console.SyncopeConsoleApplication;
 import org.apache.syncope.client.console.SyncopeConsoleSession;
 import org.apache.syncope.client.console.annotations.ExtPage;
+import org.apache.syncope.client.console.commons.Constants;
+import org.apache.syncope.client.console.commons.HttpResourceStream;
 import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
 import org.apache.syncope.client.console.init.ConsoleInitializer;
 import org.apache.syncope.client.console.panels.NotificationPanel;
+import org.apache.syncope.client.console.rest.ConfigurationRestClient;
 import org.apache.syncope.client.console.topology.Topology;
 import org.apache.syncope.client.console.wicket.markup.head.MetaHeaderItem;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
 import org.apache.syncope.client.console.widgets.ApprovalsWidget;
 import org.apache.syncope.client.console.widgets.JobWidget;
 import org.apache.syncope.client.console.widgets.ReconciliationWidget;
+import org.apache.syncope.common.lib.info.SystemInfo;
 import org.apache.syncope.common.lib.types.StandardEntitlement;
+import org.apache.syncope.common.rest.api.service.SyncopeService;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.Component;
 import org.apache.wicket.Page;
@@ -53,11 +58,14 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.protocol.ws.api.WebSocketBehavior;
 import org.apache.wicket.protocol.ws.api.message.ConnectedMessage;
+import org.apache.wicket.request.handler.resource.ResourceStreamRequestHandler;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.request.resource.ContentDisposition;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -125,6 +133,38 @@ public class BasePage extends WebPage implements IAjaxIndicatorAware {
 
         body.add(new ApprovalsWidget("approvalsWidget", getPageReference()).setRenderBodyOnly(true));
 
+        // right sidebar
+        SystemInfo systemInfo = SyncopeConsoleSession.get().getService(SyncopeService.class).system();
+        body.add(new Label("hostname", systemInfo.getHostname()));
+        body.add(new Label("processors", systemInfo.getAvailableProcessors()));
+        body.add(new Label("os", systemInfo.getOs()));
+        body.add(new Label("jvm", systemInfo.getJvm()));
+
+        Link<Void> dbExportLink = new Link<Void>("dbExportLink") {
+
+            private static final long serialVersionUID = -4331619903296515985L;
+
+            @Override
+            public void onClick() {
+                try {
+                    HttpResourceStream stream = new HttpResourceStream(new ConfigurationRestClient().dbExport());
+
+                    ResourceStreamRequestHandler rsrh = new ResourceStreamRequestHandler(stream);
+                    rsrh.setFileName(stream.getFilename() == null
+                            ? SyncopeConsoleSession.get().getDomain() + "Content.xml"
+                            : stream.getFilename());
+                    rsrh.setContentDisposition(ContentDisposition.ATTACHMENT);
+
+                    getRequestCycle().scheduleRequestHandlerAfterCurrent(rsrh);
+                } catch (Exception e) {
+                    error(getString(Constants.ERROR) + ": " + e.getMessage());
+                }
+            }
+        };
+        MetaDataRoleAuthorizationStrategy.authorize(
+                dbExportLink, WebPage.ENABLE, StandardEntitlement.CONFIGURATION_EXPORT);
+        body.add(dbExportLink);
+
         // menu
         WebMarkupContainer liContainer = new WebMarkupContainer(getLIContainerId("dashboard"));
         body.add(liContainer);

http://git-wip-us.apache.org/repos/asf/syncope/blob/2144363e/client/console/src/main/java/org/apache/syncope/client/console/widgets/LoadWidget.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/widgets/LoadWidget.java b/client/console/src/main/java/org/apache/syncope/client/console/widgets/LoadWidget.java
index c9f95e1..835fd58 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/widgets/LoadWidget.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/widgets/LoadWidget.java
@@ -25,7 +25,6 @@ import java.util.ArrayList;
 import java.util.List;
 import org.apache.commons.lang3.time.DateFormatUtils;
 import org.apache.syncope.common.lib.info.SystemInfo;
-import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.Model;
 
 public class LoadWidget extends BaseWidget {
@@ -38,10 +37,6 @@ public class LoadWidget extends BaseWidget {
         super(id);
         setOutputMarkupId(true);
 
-        add(new Label("hostname", systeminfo.getHostname()));
-        add(new Label("os", systeminfo.getOs()));
-        add(new Label("jvm", systeminfo.getJvm()));
-
         chart = new LineChartPanel("chart", Model.of(build(systeminfo)));
         add(chart);
     }

http://git-wip-us.apache.org/repos/asf/syncope/blob/2144363e/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
index d2eb696..d4d0343 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
@@ -85,6 +85,10 @@ under the License.
                   </li>
                 </ul>
               </li>
+
+              <li>
+                <a data-toggle="control-sidebar" href="#"><i class="fa fa-gears"></i></a>
+              </li>
             </ul>
           </div>
         </nav>
@@ -140,6 +144,73 @@ under the License.
         All rights reserved.
       </footer>
 
+      <aside class="control-sidebar control-sidebar-dark">
+        <div class="tab-content tab-pane">
+          <h3 class="control-sidebar-heading"><wicket:message key="systemInfo"/></h3>
+          <ul class="control-sidebar-menu">
+            <li>
+              <a href="#">
+                <i class="menu-icon fa fa-desktop bg-aqua"></i>
+
+                <div class="menu-info">
+                  <h4 class="control-sidebar-subheading"><wicket:message key="hostname"/></h4>
+
+                  <p><span wicket:id="hostname"/></p>
+                </div>
+              </a>
+            </li>
+            <li>
+              <a href="#">
+                <i class="menu-icon fa fa-calculator bg-green"></i>
+
+                <div class="menu-info">
+                  <h4 class="control-sidebar-subheading"><wicket:message key="processors"/></h4>
+
+                  <p><span wicket:id="processors"/></p>
+                </div>
+              </a>
+            </li>
+            <li>
+              <a href="#">
+                <i class="menu-icon fa fa-car bg-yellow"></i>
+
+                <div class="menu-info">
+                  <h4 class="control-sidebar-subheading"><wicket:message key="os"/></h4>
+
+                  <p><span wicket:id="os"/></p>
+                </div>
+              </a>
+            </li>
+            <li>
+              <a href="#">
+                <i class="menu-icon fa fa-bar-chart bg-light-blue"></i>
+
+                <div class="menu-info">
+                  <h4 class="control-sidebar-subheading"><wicket:message key="jvm"/></h4>
+
+                  <p><span wicket:id="jvm"/></p>
+                </div>
+              </a>
+            </li>
+          </ul>
+          <!-- /.control-sidebar-menu -->
+
+          <h3 class="control-sidebar-heading">Export Configuration</h3>
+          <ul class="control-sidebar-menu">
+            <li>
+              <a wicket:id="dbExportLink">
+                <i class="menu-icon fa fa-download bg-red"></i>
+
+                <div class="menu-info">
+                  <h4 class="control-sidebar-subheading">Download</h4>
+                </div>
+              </a>
+            </li>
+          </ul>
+          <!-- /.control-sidebar-menu -->
+        </div>
+      </aside>
+      <div class="control-sidebar-bg" style="position: fixed; height: auto;"></div>
     </div>
 
     <div id="veil">

http://git-wip-us.apache.org/repos/asf/syncope/blob/2144363e/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.properties
index 9a12bae..98cee66 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.properties
@@ -18,3 +18,8 @@ home=Home
 version=VERSION
 domain=Domain
 
+systemInfo=System Information
+hostname=Host Name
+processors=Available Processors
+os=Operating System
+jvm=JVM

http://git-wip-us.apache.org/repos/asf/syncope/blob/2144363e/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_it.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_it.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_it.properties
index 04f4225..41b982a 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_it.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_it.properties
@@ -18,3 +18,8 @@ home=Home
 version=VERSIONE
 domain=Dom\u00ednio
 
+systemInfo=Informazioni di Sistema
+hostname=Nome Host
+processors=Processori Disponibili
+os=Sistema Operativo
+jvm=JVM

http://git-wip-us.apache.org/repos/asf/syncope/blob/2144363e/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_pt_BR.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_pt_BR.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_pt_BR.properties
index b5bdaf3..2a84a71 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_pt_BR.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_pt_BR.properties
@@ -18,3 +18,8 @@ home=In\u00edcio
 version=VERS\u00c3O
 domain=Domain
 
+systemInfo=System Information
+hostname=Host Name
+processors=Available Processors
+os=Operating System
+jvm=JVM

http://git-wip-us.apache.org/repos/asf/syncope/blob/2144363e/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ru.properties
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ru.properties b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ru.properties
index 42384fc..cf5ee30 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ru.properties
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ru.properties
@@ -15,9 +15,14 @@
 # specific language governing permissions and limitations
 # under the License.
 #
-# home=\u0413\u043b\u0430\u0432\u043d\u0430\u044f
+# home=\u00d0\u0093\u00d0\u00bb\u00d0\u00b0\u00d0\u00b2\u00d0\u00bd\u00d0\u00b0\u00d1\u008f
 home=\u0413\u043b\u0430\u0432\u043d\u0430\u044f
-# version=\u0412\u0415\u0420\u0421\u0418\u042f
+# version=\u00d0\u0092\u00d0\u0095\u00d0\u00a0\u00d0\u00a1\u00d0\u0098\u00d0\u00af
 version=\u0412\u0415\u0420\u0421\u0418\u042f
-# domain=\u0414\u043e\u043c\u0435\u043d
+# domain=\u00d0\u0094\u00d0\u00be\u00d0\u00bc\u00d0\u00b5\u00d0\u00bd
 domain=\u0414\u043e\u043c\u0435\u043d
+systemInfo=System Information
+hostname=Host Name
+processors=Available Processors
+os=Operating System
+jvm=JVM

http://git-wip-us.apache.org/repos/asf/syncope/blob/2144363e/client/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardOverviewPanel.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardOverviewPanel.html b/client/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardOverviewPanel.html
index 7d652b3..3c7f82e 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardOverviewPanel.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardOverviewPanel.html
@@ -27,19 +27,19 @@ under the License.
       </div>
 
       <div class="row">
-        <div class="col-md-4">
-          <span wicket:id="usersByStatus"/>
-        </div>
-        <div class="col-md-4">
+        <div class="col-md-6">
           <span wicket:id="completeness"/>
         </div>
-        <div class="col-md-4">
+        <div class="col-md-6">
           <span wicket:id="load"/>
         </div>
       </div>
 
       <div class="row">
         <div class="col-md-6">
+          <span wicket:id="usersByStatus"/>
+        </div>
+        <div class="col-md-6">
           <span wicket:id="anyByRealm"/>
         </div>
       </div>

http://git-wip-us.apache.org/repos/asf/syncope/blob/2144363e/client/console/src/main/resources/org/apache/syncope/client/console/widgets/LoadWidget.html
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/LoadWidget.html b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/LoadWidget.html
index 8ce2e9f..1d47995 100644
--- a/client/console/src/main/resources/org/apache/syncope/client/console/widgets/LoadWidget.html
+++ b/client/console/src/main/resources/org/apache/syncope/client/console/widgets/LoadWidget.html
@@ -22,16 +22,6 @@ under the License.
       <div class="box-header with-border">
         <h3 class="box-title"><wicket:message key="systemLoad"/></h3>
         <div class="box-tools pull-right">
-          <div class="btn-group">
-            <button class="btn btn-box-tool dropdown-toggle" data-toggle="dropdown">
-              <i class="fa fa-info"></i>
-            </button>
-            <ul class="dropdown-menu" role="menu">
-              <li><a href="#"><span wicket:id="hostname"/></a></li>
-              <li><a href="#"><span wicket:id="os"/></a></li>
-              <li><a href="#"><span wicket:id="jvm"/></a></li>
-            </ul>
-          </div>
           <button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
         </div>
       </div>

http://git-wip-us.apache.org/repos/asf/syncope/blob/2144363e/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConfigurationServiceImpl.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConfigurationServiceImpl.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConfigurationServiceImpl.java
index 1a6dac7..8c8473d 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConfigurationServiceImpl.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/service/ConfigurationServiceImpl.java
@@ -28,13 +28,14 @@ import javax.ws.rs.core.StreamingOutput;
 import org.apache.syncope.common.lib.to.AttrTO;
 import org.apache.syncope.common.rest.api.service.ConfigurationService;
 import org.apache.syncope.core.logic.ConfigurationLogic;
+import org.apache.syncope.core.spring.security.AuthContextUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
 public class ConfigurationServiceImpl extends AbstractServiceImpl implements ConfigurationService {
 
-    private static final String CONTENT_XML = "content.xml";
+    private static final String CONTENT_XML = "Content.xml";
 
     @Autowired
     private ConfigurationLogic logic;
@@ -50,7 +51,9 @@ public class ConfigurationServiceImpl extends AbstractServiceImpl implements Con
         };
         return Response.ok(sout).
                 type(MediaType.TEXT_XML).
-                header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + CONTENT_XML).
+                header(
+                        HttpHeaders.CONTENT_DISPOSITION,
+                        "attachment; filename=" + AuthContextUtils.getDomain() + CONTENT_XML).
                 build();
     }