[direct-certificate-discovery-tool] push by michal.kotelba@esacinc.com - - Supports DCDT-248.... on 2014-06-09 13:15 GMT

1 view
Skip to first unread message

direct-certifica...@googlecode.com

unread,
Jun 9, 2014, 9:16:09 AM6/9/14
to dcdt...@googlegroups.com
Revision: c1286d85e47d
Branch: default
Author: Michal Kotelba <michal....@esacinc.com>
Date: Mon Jun 9 03:48:25 2014 UTC
Log: - Supports DCDT-248.
- Implemented admin console Discovery testcase mail mappings viewing.
http://code.google.com/p/direct-certificate-discovery-tool/source/detail?r=c1286d85e47d

Deleted:
/dcdt-web/src/main/webapp/WEB-INF/views/content/content-expired.jsp
Modified:

/dcdt-web/src/main/java/gov/hhs/onc/dcdt/web/controller/impl/AdminJsonController.java
/dcdt-web/src/main/resources/META-INF/spring/spring-web-security.xml
/dcdt-web/src/main/webapp/WEB-INF/tiles/tiles-web.xml
/dcdt-web/src/main/webapp/WEB-INF/views/content/content-admin.jsp
/dcdt-web/src/main/webapp/WEB-INF/views/content/head-admin.jsp
/dcdt-web/src/main/webapp/WEB-INF/views/include/head.jsp
/dcdt-web/src/main/webapp/WEB-INF/web.xml
/dcdt-web/src/main/webapp/static/scripts/admin.js

=======================================
--- /dcdt-web/src/main/webapp/WEB-INF/views/content/content-expired.jsp Wed
Apr 23 18:24:11 2014 UTC
+++ /dev/null
@@ -1,10 +0,0 @@
-<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@taglib prefix="dcdt" uri="/META-INF/tags/tags-dcdt.tld" %>
-<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
-<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
-<%@taglib prefix="spring" uri="http://www.springframework.org/tags" %>
-<%@taglib prefix="spring-form"
uri="http://www.springframework.org/tags/form" %>
-<%@taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>
-<%@taglib prefix="tilesx"
uri="http://tiles.apache.org/tags-tiles-extras" %>
-<%@taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
-<%@page contentType="text/html; charset=UTF-8" isELIgnored="false"
pageEncoding="UTF-8" %>
=======================================
---
/dcdt-web/src/main/java/gov/hhs/onc/dcdt/web/controller/impl/AdminJsonController.java
Wed Apr 30 15:10:26 2014 UTC
+++
/dcdt-web/src/main/java/gov/hhs/onc/dcdt/web/controller/impl/AdminJsonController.java
Mon Jun 9 03:48:25 2014 UTC
@@ -5,6 +5,9 @@
import gov.hhs.onc.dcdt.config.instance.InstanceConfigJsonDto;
import gov.hhs.onc.dcdt.config.instance.InstanceConfigRegistry;
import gov.hhs.onc.dcdt.config.instance.InstanceConfigService;
+import
gov.hhs.onc.dcdt.testcases.discovery.mail.DiscoveryTestcaseMailMapping;
+import
gov.hhs.onc.dcdt.testcases.discovery.mail.DiscoveryTestcaseMailMappingJsonDto;
+import
gov.hhs.onc.dcdt.testcases.discovery.mail.DiscoveryTestcaseMailMappingService;
import gov.hhs.onc.dcdt.utils.ToolListUtils;
import gov.hhs.onc.dcdt.web.controller.JsonController;
import gov.hhs.onc.dcdt.web.controller.JsonRequest;
@@ -14,6 +17,8 @@
import gov.hhs.onc.dcdt.web.json.impl.ResponseJsonWrapperBuilder;
import gov.hhs.onc.dcdt.web.service.ToolServiceHub;
import gov.hhs.onc.dcdt.web.service.ToolServiceHubJsonDto;
+import java.util.ArrayList;
+import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
@@ -31,6 +36,13 @@

@Autowired
private ToolServiceHub serviceHub;
+
+ @JsonRequest
+ @RequestMapping(value = { "/admin/mail/mappings" }, method = {
RequestMethod.GET })
+ public ResponseJsonWrapper<DiscoveryTestcaseMailMapping,
DiscoveryTestcaseMailMappingJsonDto> getMailMappings() throws Exception {
+ return new
ResponseJsonWrapperBuilder<DiscoveryTestcaseMailMapping,
DiscoveryTestcaseMailMappingJsonDto>().addItems(this.createMailMappingsJsonDtos())
+ .build();
+ }

@JsonRequest
@RequestMapping(value = { "/admin/service/hub" }, method = {
RequestMethod.GET })
@@ -78,6 +90,23 @@
return new ResponseJsonWrapperBuilder<InstanceConfig,
InstanceConfigJsonDto>().addItems(this.createInstanceConfigJsonDto(this.getInstanceConfigBean()))
.build();
}
+
+ private List<DiscoveryTestcaseMailMappingJsonDto>
createMailMappingsJsonDtos() throws Exception {
+ // noinspection ConstantConditions
+ List<DiscoveryTestcaseMailMapping> mailMappings =
+ ToolBeanFactoryUtils.getBeanOfType(this.appContext,
DiscoveryTestcaseMailMappingService.class).getBeans();
+ List<DiscoveryTestcaseMailMappingJsonDto> mailMappingsJsonDtos =
new ArrayList<>(mailMappings.size());
+ DiscoveryTestcaseMailMappingJsonDto mailMappingsJsonDto;
+
+ for (DiscoveryTestcaseMailMapping mailMapping : mailMappings) {
+ // noinspection ConstantConditions
+ (mailMappingsJsonDto =
ToolBeanFactoryUtils.createBeanOfType(this.appContext,
DiscoveryTestcaseMailMappingJsonDto.class)).fromBean(
+ this.convService, mailMapping);
+ mailMappingsJsonDtos.add(mailMappingsJsonDto);
+ }
+
+ return mailMappingsJsonDtos;
+ }

private ToolServiceHubJsonDto createServiceHubJsonDto() throws
Exception {
ToolServiceHubJsonDto serviceHubJsonDto =
ToolBeanFactoryUtils.createBeanOfType(this.appContext,
ToolServiceHubJsonDto.class);
=======================================
--- /dcdt-web/src/main/resources/META-INF/spring/spring-web-security.xml
Fri May 2 09:55:20 2014 UTC
+++ /dcdt-web/src/main/resources/META-INF/spring/spring-web-security.xml
Mon Jun 9 03:48:25 2014 UTC
@@ -17,31 +17,54 @@
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd">

- <beans:bean id="anonAuthProvider"
class="org.springframework.security.authentication.AnonymousAuthenticationProvider"
+
<!--====================================================================================================
+ = AUTHENTICATION PROVIDERS
+
=====================================================================================================-->
+ <beans:bean id="authProv"
class="org.springframework.security.authentication.AuthenticationProvider"
abstract="true"/>
+
+ <beans:bean id="authProvAnon"
class="org.springframework.security.authentication.AnonymousAuthenticationProvider"
parent="authProv"
c:key="AUTH_ANON"/>
-
- <sec:authentication-manager id="toolAuthManager">
+
+
<!--====================================================================================================
+ = AUTHENTICATION MANAGER
+
=====================================================================================================-->
+ <sec:authentication-manager id="authManager">
<sec:authentication-provider>
- <sec:user-service id="toolUserService">
+ <sec:user-service id="userService">
<sec:user name="${dcdt.web.user.admin.name}"
authorities="ROLE_ADMIN" password="${dcdt.web.user.admin.secret}"/>
</sec:user-service>
</sec:authentication-provider>
- <sec:authentication-provider ref="anonAuthProvider"/>
+ <sec:authentication-provider ref="authProvAnon"/>
</sec:authentication-manager>

- <sec:http authentication-manager-ref="toolAuthManager"
use-expressions="true">
+
<!--====================================================================================================
+ = AUTHENTICATION SUCCESS HANDLERS
+
=====================================================================================================-->
+ <beans:bean id="authHandlerSuccess"
class="org.springframework.security.web.authentication.AuthenticationSuccessHandler"
abstract="true"/>
+
+ <beans:bean id="authHandlerSuccessSavedReq"
class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler"
+ parent="authHandlerSuccess"/>
+
+
<!--====================================================================================================
+ = HTTP SECURITY
+
=====================================================================================================-->
+ <sec:http authentication-manager-ref="authManager"
use-expressions="true">
<sec:intercept-url pattern="/admin/login**" access="permitAll"/>
<sec:intercept-url pattern="/admin/logout**" access="permitAll"/>
<sec:intercept-url pattern="/admin**"
access="hasAuthority('ROLE_ADMIN')"/>
+ <sec:intercept-url pattern="/logback**"
access="hasAuthority('ROLE_ADMIN')"/>
<sec:intercept-url pattern="/**" access="permitAll"/>
- <sec:form-login authentication-failure-url="/admin/login?error"
default-target-url="/admin" login-page="/admin/login"
- login-processing-url="/admin/login/process"
password-parameter="pass" username-parameter="user"/>
+ <sec:form-login authentication-failure-url="/admin/login?error"
authentication-success-handler-ref="authHandlerSuccessSavedReq"
+ login-page="/admin/login"
login-processing-url="/admin/login/process" password-parameter="pass"
username-parameter="user"/>
<sec:logout logout-url="/admin/logout" logout-success-url="/"/>
<sec:remember-me key="AUTH_REMEMBERED"/>
<sec:session-management>
- <sec:concurrency-control max-sessions="1"
expired-url="/expired"/>
+ <sec:concurrency-control expired-url="/admin/login?expired"
max-sessions="1"/>
</sec:session-management>
</sec:http>

- <sec:global-method-security
authentication-manager-ref="toolAuthManager" pre-post-annotations="enabled"
secured-annotations="enabled"/>
+
<!--====================================================================================================
+ = GLOBAL METHOD SECURITY
+
=====================================================================================================-->
+ <sec:global-method-security authentication-manager-ref="authManager"
pre-post-annotations="enabled" secured-annotations="enabled"/>
</beans:beans>
=======================================
--- /dcdt-web/src/main/webapp/WEB-INF/tiles/tiles-web.xml Wed Apr 16
19:04:56 2014 UTC
+++ /dcdt-web/src/main/webapp/WEB-INF/tiles/tiles-web.xml Mon Jun 9
03:48:25 2014 UTC
@@ -37,11 +37,6 @@
<put-attribute name="content"
value="/WEB-INF/views/content/content-version.jsp" type="template"/>
</definition>

- <definition name="expired" extends="layout">
- <put-attribute name="name" value="expired" cascade="true"
type="string"/>
- <put-attribute name="content"
value="/WEB-INF/views/content/content-expired.jsp" type="template"/>
- </definition>
-
<definition name="layout-testcases" extends="layout">
<put-attribute name="head-common"
value="/WEB-INF/views/include/head-testcases.jsp" type="template"/>
</definition>
=======================================
--- /dcdt-web/src/main/webapp/WEB-INF/views/content/content-admin.jsp Mon
May 5 05:22:45 2014 UTC
+++ /dcdt-web/src/main/webapp/WEB-INF/views/content/content-admin.jsp Mon
Jun 9 03:48:25 2014 UTC
@@ -261,3 +261,52 @@
</div>
</form>
<iframe id="admin-instance-config-target" class="hide"
name="admin-instance-config-target" src="about:blank"></iframe>
+<h2>Mail Mappings</h2>
+<form name="admin-mail-mappings" action="about:blank" method="post"
target="admin-mail-mappings-target">
+ <div class="input-group-sm">
+ <div class="form-group form-group-addons">
+ <div class="has-error">
+ <div class="input-group-addon input-group-addon-msgs
input-group-addon-msgs-global">
+ <tiles:insertDefinition name="component-glyph">
+ <tiles:putAttribute name="glyph-classes"
value="glyphicon-exclamation-sign"/>
+ </tiles:insertDefinition>
+ <strong>Invalid mail mappings</strong>:
+ <ul></ul>
+ </div>
+ </div>
+ <div class="has-success">
+ <div class="input-group-addon input-group-addon-msgs
input-group-addon-msgs-global">
+ <tiles:insertDefinition name="component-glyph">
+ <tiles:putAttribute name="glyph-classes"
value="glyphicon-ok-sign"/>
+ </tiles:insertDefinition>
+ <strong>Mail mappings modified</strong>:
+ <ul></ul>
+ </div>
+ </div>
+ </div>
+ <div class="form-group form-group-buttons">
+ <span class="btn-group btn-group-sm">
+ <tiles:insertDefinition name="component-glyph-button">
+ <tiles:putAttribute
name="attrs">id="admin-mail-mappings-view"</tiles:putAttribute>
+ <tiles:putAttribute name="glyph-classes"
value="glyphicon-envelope glyphicon-type-info"/>
+ <tiles:putAttribute name="content" value="View Mail
Mappings"/>
+ </tiles:insertDefinition>
+ </span>
+ </div>
+ </div>
+ <div id="dialog-admin-mail-mappings-view" title="View Mail Mappings">
+ <div class="panel panel-default">
+ <table class="table">
+ <thead>
+ <tr>
+ <th>#</th>
+ <th>Direct Address</th>
+ <th>Results Address</th>
+ </tr>
+ </thead>
+ <tbody></tbody>
+ </table>
+ </div>
+ </div>
+</form>
+<iframe id="admin-mail-mappings-target" class="hide"
name="admin-mail-mappings-target" src="about:blank"></iframe>
=======================================
--- /dcdt-web/src/main/webapp/WEB-INF/views/content/head-admin.jsp Sun May
4 20:51:50 2014 UTC
+++ /dcdt-web/src/main/webapp/WEB-INF/views/content/head-admin.jsp Mon Jun
9 03:48:25 2014 UTC
@@ -16,6 +16,7 @@
var URL_ADMIN_INSTANCE_CONFIG_SET = "${urlAdminInstanceConfigSet}";
var URL_ADMIN_INSTANCE_CONFIG_CREDS = "${urlAdminInstanceConfigCreds}";
var ADMIN_INSTANCE_CONFIG_DIR_BASE = "${adminInstanceConfigDirBase}";
+var URL_ADMIN_MAIL_MAPPINGS_GET = "${urlAdminMailMappingsGet}";
var URL_ADMIN_SERVICE_HUB_GET = "${urlAdminServiceHubGet}";
</script>
<link rel="stylesheet" type="text/css"
href="${urlStaticStyles}/${templateName}.css"/>
=======================================
--- /dcdt-web/src/main/webapp/WEB-INF/views/include/head.jsp Sun May 4
20:51:50 2014 UTC
+++ /dcdt-web/src/main/webapp/WEB-INF/views/include/head.jsp Mon Jun 9
03:48:25 2014 UTC
@@ -23,6 +23,7 @@
<spring:url var="urlAdminLogin" value="/admin/login" scope="request"/>
<spring:url var="urlAdminLoginProcess" value="/admin/login/process"
scope="request"/>
<spring:url var="urlAdminLogout" value="/admin/logout" scope="request"/>
+<spring:url var="urlAdminMailMappingsGet" value="/admin/mail/mappings"
scope="request"/>
<spring:url var="urlAdminServiceHubGet" value="/admin/service/hub"
scope="request"/>
<spring:url var="urlError" value="/error" scope="request"/>
<spring:url var="urlVersion" value="/version" scope="request"/>
=======================================
--- /dcdt-web/src/main/webapp/WEB-INF/web.xml Sun May 25 10:47:16 2014 UTC
+++ /dcdt-web/src/main/webapp/WEB-INF/web.xml Mon Jun 9 03:48:25 2014 UTC
@@ -122,6 +122,12 @@
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
+ <filter-mapping>
+ <filter-name>filterUrlRewrite</filter-name>
+ <servlet-name>logbackStatusServlet</servlet-name>
+ <dispatcher>FORWARD</dispatcher>
+ <dispatcher>REQUEST</dispatcher>
+ </filter-mapping>

<filter>
<filter-name>springSecurityFilterChain</filter-name>
@@ -131,4 +137,8 @@
<filter-name>springSecurityFilterChain</filter-name>
<servlet-name>dispatcherServlet</servlet-name>
</filter-mapping>
+ <filter-mapping>
+ <filter-name>springSecurityFilterChain</filter-name>
+ <servlet-name>logbackStatusServlet</servlet-name>
+ </filter-mapping>
</web-app>
=======================================
--- /dcdt-web/src/main/webapp/static/scripts/admin.js Mon May 5 05:22:45
2014 UTC
+++ /dcdt-web/src/main/webapp/static/scripts/admin.js Mon Jun 9 03:48:25
2014 UTC
@@ -3,6 +3,42 @@
"admin": $.extend(function () {
return this;
}, {
+ "getMailMappings": function () {
+ return $.dcdt.beans.getBean({
+ "queryBeanSuccess": function (data, status, jqXhr) {
+ mailMappings = data["items"];
+
+ var mailMappingsPanel = $("div.panel",
mailMappingsDialogView), mailMappingsTableBody = $("table.table tbody",
mailMappingsPanel);
+
+ mailMappingsTableBody.empty();
+
+ if (mailMappings) {
+ $.each(mailMappings, function
(mailMappingIndex, mailMapping) {
+ var mailMappingTableRow = $("<tr/>");
+
mailMappingTableRow.append($("<td/>").text((mailMappingIndex + 1)));
+
mailMappingTableRow.append($("<td/>").text(mailMapping["directAddr"]));
+
mailMappingTableRow.append($("<td/>").text(mailMapping["resultsAddr"]));
+
mailMappingsTableBody.append(mailMappingTableRow);
+ });
+ }
+
+ mailMappingsDialogView.dialog("open");
+ },
+ "queryBeanErrors": function (data, status, jqXhr) {
+ $.dcdt.beans.addQueryErrors(mailMappingsForm,
data);
+ },
+ "postQueryBean": function (jqXhr, status) {
+ mailMappingsForm.dcdt.form.formReady();
+ },
+ "preQueryBean": function (jqXhr, settings) {
+ mailMappings = null;
+
+ $.dcdt.beans.clearBeanMessages(mailMappingsForm);
+
mailMappingsForm.dcdt.form.formWait(mailMappingsButtonView);
+ },
+ "url": URL_ADMIN_MAIL_MAPPINGS_GET
+ });
+ },
"getServiceHub": function (serviceStatusTypeExpected) {
return $.dcdt.beans.getBean({
"queryBeanSuccess": function (data, status, jqXhr) {
@@ -149,10 +185,16 @@
})
});

+ var mailMappingsForm, mailMappingsButtons, mailMappingsButtonView,
mailMappingsDialogView, mailMappings;
var serviceHubForm, serviceInputDnsStatus, serviceInputLdapStatus,
serviceInputMailStatus, serviceHub;
var instanceConfigForm, instanceConfigInputDomainName,
instanceConfigInputIpAddr, instanceConfigButtons, instanceConfigButtonRm,
instanceConfigButtonSet, instanceConfigButtonCreds, instanceConfigDialogRm,
instanceConfigDialogSet, instanceConfig;

$(document).ready(function () {
+ mailMappingsForm = $("form[name=\"admin-mail-mappings\"]");
+ mailMappingsButtons = mailMappingsForm.dcdt.form.formButtons();
+ mailMappingsButtonView =
mailMappingsForm.dcdt.form.formButtons("#admin-mail-mappings-view");
+ mailMappingsDialogView = $("div#dialog-admin-mail-mappings-view",
mailMappingsForm);
+
serviceHubForm = $("form[name=\"admin-service-hub\"]");
serviceInputDnsStatus =
serviceHubForm.dcdt.form.formInputs("serviceDnsStatus");
serviceInputLdapStatus =
serviceHubForm.dcdt.form.formInputs("serviceLdapStatus");
@@ -168,6 +210,32 @@
instanceConfigDialogRm = $("div#dialog-admin-instance-config-rm",
instanceConfigForm);
instanceConfigDialogSet =
$("div#dialog-admin-instance-config-set", instanceConfigForm);

+ mailMappingsDialogView.dialog({
+ "autoOpen": false,
+ "buttons": {
+ "Close": function () {
+ mailMappingsDialogView.dialog("close");
+ }
+ },
+ "height": 400,
+ "modal": true,
+ "width": 600
+ });
+
+ mailMappingsForm.submit(function (event, mailMappingsButton) {
+ if (mailMappingsButton.is(mailMappingsButtonView)) {
+ $.dcdt.admin.getMailMappings();
+ }
+ });
+
+ mailMappingsButtons.click(function (event) {
+ var mailMappingsButton = $(event.target);
+
+ if (!mailMappingsButton.attr("disabled")) {
+ mailMappingsForm.trigger("submit", [ mailMappingsButton ]);
+ }
+ });
+
instanceConfigDialogRm.dialog({
"autoOpen": false,
"buttons": {
Reply all
Reply to author
Forward
0 new messages