Author: mattmann
Date: Mon Aug 24 03:03:55 2015
New Revision: 1697302
URL: http://svn.apache.org/r1697302
Log:
- and that wraps up OODT-842 WIP
- build a new CurationSession object to store the loggedIn and
loggedInUsername across pages and session
- refactor SSO use into LoginPage
- refactor all pages to inherit HomePage and its skin
Added:
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/CurationSession.java
Modified:
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/CurationApp.java
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/HomePage.java
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.css
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.html
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.java
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/workbench/WorkbenchPage.java
Modified:
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/CurationApp.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/CurationApp.java?rev=1697302&r1=1697301&r2=1697302&view=diff
==============================================================================
---
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/CurationApp.java
(original)
+++
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/CurationApp.java
Mon Aug 24 03:03:55 2015
@@ -24,7 +24,10 @@ import java.util.logging.Logger;
import org.apache.oodt.cas.curation.login.LoginPage;
import org.apache.oodt.cas.webcomponents.curation.workbench.Workbench;
import org.apache.wicket.Page;
+import org.apache.wicket.Request;
import org.apache.wicket.ResourceReference;
+import org.apache.wicket.Response;
+import org.apache.wicket.Session;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.target.coding.MixedParamUrlCodingStrategy;
import org.apache.wicket.util.file.File;
@@ -37,9 +40,9 @@ public class CurationApp extends WebAppl
public static final String PROJECT_DISPLAY_NAME =
"org.apache.oodt.cas.curator.projectName";
public static final String SSO_IMPL_CLASS =
"org.apache.oodt.security.sso.implClass";
-
+
public static final String CURATOR_HOMEPAGE = "curator.homepage";
-
+
/*
* (non-Javadoc)
*
@@ -61,9 +64,9 @@ public class CurationApp extends WebAppl
mountSharedResource("/images/blackfade-syncd.jpg", new ResourceReference(
HomePage.class, "blackfade-syncd.jpg").getSharedResourceKey());
-
+
MixedParamUrlCodingStrategy loginPageMount = new
MixedParamUrlCodingStrategy(
- "auth", LoginPage.class, new String[] { "action"});
+ "auth", LoginPage.class, new String[] { "action" });
mount(loginPageMount);
}
@@ -81,14 +84,25 @@ public class CurationApp extends WebAppl
return getServletContext().getInitParameter(CURATOR_HOMEPAGE);
}
- public String getSSOClass() {
- return getServletContext().getInitParameter(
- SSO_IMPL_CLASS);
+ public String getProjectName() {
+ return getServletContext().getInitParameter(PROJECT_DISPLAY_NAME);
}
- public String getProjectName() {
- return getServletContext().getInitParameter(
- PROJECT_DISPLAY_NAME);
+ public String getSSOImplClass() {
+ return getServletContext().getInitParameter(SSO_IMPL_CLASS);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ *
org.apache.wicket.protocol.http.WebApplication#newSession(org.apache.wicket
+ * .Request, org.apache.wicket.Response)
+ */
+ @Override
+ public Session newSession(Request request, Response response) {
+ System.out.println("CALLED!");
+ return new CurationSession(request);
}
}
\ No newline at end of file
Added:
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/CurationSession.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/CurationSession.java?rev=1697302&view=auto
==============================================================================
---
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/CurationSession.java
(added)
+++
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/CurationSession.java
Mon Aug 24 03:03:55 2015
@@ -0,0 +1,70 @@
+/**
+ * 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.oodt.cas.curation;
+
+import org.apache.wicket.Request;
+import org.apache.wicket.Session;
+import org.apache.wicket.protocol.http.WebSession;
+
+public class CurationSession extends WebSession {
+
+ private static final long serialVersionUID = 3000383124161748477L;
+
+ private boolean loggedIn = false;
+
+ private String loginUsername = null;
+
+ public CurationSession(Request request) {
+ super(request);
+ }
+
+ public static CurationSession get() {
+ return (CurationSession) Session.get();
+ }
+
+ /**
+ * @return the loggedIn
+ */
+ public boolean isLoggedIn() {
+ return loggedIn;
+ }
+
+ /**
+ * @param loggedIn
+ * the loggedIn to set
+ */
+ public void setLoggedIn(boolean loggedIn) {
+ this.loggedIn = loggedIn;
+ }
+
+ /**
+ * @return the loginUsername
+ */
+ public String getLoginUsername() {
+ return loginUsername;
+ }
+
+ /**
+ * @param loginUsername
+ * the loginUsername to set
+ */
+ public void setLoginUsername(String loginUsername) {
+ this.loginUsername = loginUsername;
+ }
+
+}
Modified:
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/HomePage.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/HomePage.java?rev=1697302&r1=1697301&r2=1697302&view=diff
==============================================================================
---
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/HomePage.java
(original)
+++
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/HomePage.java
Mon Aug 24 03:03:55 2015
@@ -18,38 +18,26 @@
package org.apache.oodt.cas.curation;
import org.apache.oodt.cas.curation.login.LoginPage;
-import org.apache.oodt.cas.webcomponents.curation.workbench.Workbench;
-import org.apache.oodt.security.sso.AbstractWebBasedSingleSignOn;
-import org.apache.oodt.security.sso.SingleSignOnFactory;
import org.apache.wicket.Application;
import org.apache.wicket.PageParameters;
-import org.apache.wicket.RequestCycle;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.protocol.http.WebRequest;
-import org.apache.wicket.protocol.http.WebResponse;
public class HomePage extends WebPage {
-
+
public HomePage() {
super();
CurationApp app = ((CurationApp) Application.get());
- AbstractWebBasedSingleSignOn sso = SingleSignOnFactory
- .getWebBasedSingleSignOn(app.getSSOClass());
- sso.setReq(((WebRequest) RequestCycle.get().getRequest())
- .getHttpServletRequest());
- sso.setRes(((WebResponse) RequestCycle.get().getResponse())
- .getHttpServletResponse());
-
String loggedInLabel = null;
String logoutLabel = "Log Out";
-
- if (sso.isLoggedIn()) {
- loggedInLabel = "Logged in as " + sso.getCurrentUsername() + ".";
+ CurationSession session = (CurationSession)getSession();
+
+ if (session.isLoggedIn()) {
+ loggedInLabel = "Logged in as " + session.getLoginUsername()+ ".";
add(new Label("loggedin_label", loggedInLabel));
add(new Label("logout_label", logoutLabel).setVisible(false));
- add(new Link<String>("login_link"){
+ add(new Link<String>("login_link") {
@Override
public void onClick() {
PageParameters params = new PageParameters();
@@ -57,8 +45,8 @@ public class HomePage extends WebPage {
setResponsePage(LoginPage.class, params);
}
}.setVisible(false));
- add(new Link<String>("logout_link"){
- @Override
+ add(new Link<String>("logout_link") {
+ @Override
public void onClick() {
PageParameters params = new PageParameters();
params.add("action", "logout");
@@ -69,7 +57,7 @@ public class HomePage extends WebPage {
loggedInLabel = "Not logged in.";
add(new Label("loggedin_label", loggedInLabel));
add(new Label("logout_label", logoutLabel).setVisible(false));
- add(new Link<String>("login_link"){
+ add(new Link<String>("login_link") {
@Override
public void onClick() {
PageParameters params = new PageParameters();
@@ -77,14 +65,14 @@ public class HomePage extends WebPage {
setResponsePage(LoginPage.class, params);
}
});
- add(new Link<String>("logout_link"){
- @Override
+ add(new Link<String>("logout_link") {
+ @Override
public void onClick() {
PageParameters params = new PageParameters();
params.add("action", "logout");
setResponsePage(LoginPage.class, params);
}
- }.setVisible(false));
+ }.setVisible(false));
}
String projectName = app.getProjectName() + " CAS Curation";
Modified:
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.css
URL:
http://svn.apache.org/viewvc/oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.css?rev=1697302&r1=1697301&r2=1697302&view=diff
==============================================================================
---
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.css
(original)
+++
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.css
Mon Aug 24 03:03:55 2015
@@ -10,6 +10,11 @@
margin: 0 auto;
}
+#centered{
+ width:90%;
+ margin-left:15%;
+ margin-right:15%;
+}
#invalid_creds{
align:center;
margin:0px;
@@ -26,10 +31,26 @@
font-size:90%;
}
+#spacer{
+ align:center;
+ margin:0px;
+ margin-bottom:5px;
+ width:230px;
+ font-size:90%;
+}
+
#section_title{
width: auto;
font-size: 22px;
font-weight: bold;
margin-top: 24px;
text-align: center;
+}
+
+#password_txt{
+ text-align:right;
+}
+
+#username_txt{
+ text-align:right;
}
\ No newline at end of file
Modified:
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.html
URL:
http://svn.apache.org/viewvc/oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.html?rev=1697302&r1=1697301&r2=1697302&view=diff
==============================================================================
---
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.html
(original)
+++
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.html
Mon Aug 24 03:03:55 2015
@@ -56,18 +56,18 @@
<br/><br/>
<div id="login">
-<form id="login_form" method="post">
- <div id="invalid_creds" class="error">Invalid Credentials...<br/>Please try
again.</div>
- <div id="connect_error" class="error">Unable to contact LDAP authentication
server...<br/>Please try again later.</div>
+<form id="login_form" wicket:id="login_form">
+ <div id="invalid_creds" class="error" wicket:id="invalid_creds">Invalid
Credentials...<br/>Please try again.</div>
+ <div id="connect_error" class="error" wicket:id="connect_error">Unable to
contact LDAP authentication server...<br/>Please try again later.</div>
- <table>
+ <table id="centered">
<tbody><tr>
- <td>Username</td>
- <td><input id="login_username" value="" size="20" maxlength="255"
type="text"></td>
+ <td id="username_txt">Username</td>
+ <td><input wicket:id="login_username" id="login_username" value=""
size="20" maxlength="255" type="text"></td>
</tr>
<tr>
- <td>Password</td>
- <td><input id="password" value="" size="20" maxlength="255"
type="password"></td>
+ <td id="password_txt">Password</td>
+ <td><input wicket:id="password" id="password" value="" size="20"
maxlength="255" type="password"></td>
</tr>
<tr>
<td> </td>
Modified:
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.java?rev=1697302&r1=1697301&r2=1697302&view=diff
==============================================================================
---
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.java
(original)
+++
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/login/LoginPage.java
Mon Aug 24 03:03:55 2015
@@ -18,17 +18,90 @@
package org.apache.oodt.cas.curation.login;
import org.apache.oodt.cas.curation.CurationApp;
+import org.apache.oodt.cas.curation.CurationSession;
import org.apache.oodt.cas.curation.HomePage;
+import org.apache.oodt.cas.curation.workbench.WorkbenchPage;
+import org.apache.oodt.security.sso.AbstractWebBasedSingleSignOn;
+import org.apache.oodt.security.sso.SingleSignOnFactory;
import org.apache.wicket.Application;
+import org.apache.wicket.PageParameters;
+import org.apache.wicket.RequestCycle;
+import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.PasswordTextField;
+import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.protocol.http.WebRequest;
+import org.apache.wicket.protocol.http.WebResponse;
public class LoginPage extends HomePage {
- public LoginPage() {
+ public LoginPage(PageParameters parameters) {
super();
- CurationApp app = (CurationApp)Application.get();
+ final CurationApp app = (CurationApp)Application.get();
+ final CurationSession session = (CurationSession)getSession();
+ String ssoClass = app.getSSOImplClass();
+ final AbstractWebBasedSingleSignOn sso = SingleSignOnFactory
+ .getWebBasedSingleSignOn(ssoClass);
+ sso.setReq(((WebRequest) RequestCycle.get().getRequest())
+ .getHttpServletRequest());
+ sso.setRes(((WebResponse) RequestCycle.get().getResponse())
+ .getHttpServletResponse());
+
+ String action = parameters.getString("action");
String appNameString = app.getProjectName()+" CAS Curation Interface";
add(new Label("login_project_name", appNameString));
+ final WebMarkupContainer creds = new WebMarkupContainer("invalid_creds");
+ final WebMarkupContainer connect = new WebMarkupContainer("connect_error");
+ creds.setVisible(false);
+ connect.setVisible(false);
+ final TextField<String> loginUser = new
TextField<String>("login_username", new Model<String>(""));
+ final PasswordTextField pass = new PasswordTextField("password", new
Model<String>(""));
+
+
+ Form<?> form = new Form<Void>("login_form"){
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onSubmit() {
+ String username = loginUser.getModelObject();
+ String password = pass.getModelObject();
+
+ if(sso.login(username, password)){
+ session.setLoggedIn(true);
+ session.setLoginUsername(username);
+ setResponsePage(WorkbenchPage.class);
+ }
+ else{
+ session.setLoggedIn(false);
+ if (session.getLoginUsername() == null){
+ connect.setVisible(true);
+ }
+ else{
+ creds.setVisible(true);
+ }
+ }
+
+ }
+
+ };
+
+ form.add(loginUser);
+ form.add(pass);
+ form.add(creds);
+ form.add(connect);
+ add(form);
+
+ if(action.equals("logout")){
+ sso.logout();
+ session.setLoginUsername(null);
+ session.setLoggedIn(false);
+ PageParameters params = new PageParameters();
+ params.add("action", "login");
+ setResponsePage(LoginPage.class, params);
+ }
}
Modified:
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/workbench/WorkbenchPage.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/workbench/WorkbenchPage.java?rev=1697302&r1=1697301&r2=1697302&view=diff
==============================================================================
---
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/workbench/WorkbenchPage.java
(original)
+++
oodt/trunk/curator/webapp/src/main/java/org/apache/oodt/cas/curation/workbench/WorkbenchPage.java
Mon Aug 24 03:03:55 2015
@@ -17,13 +17,25 @@
package org.apache.oodt.cas.curation.workbench;
+import org.apache.oodt.cas.curation.CurationSession;
import org.apache.oodt.cas.curation.HomePage;
+import org.apache.oodt.cas.curation.login.LoginPage;
import org.apache.oodt.cas.webcomponents.curation.workbench.Workbench;
+import org.apache.wicket.PageParameters;
public class WorkbenchPage extends HomePage {
public WorkbenchPage() {
super();
+
+ CurationSession session = (CurationSession)getSession();
+
+ if (!session.isLoggedIn()) {
+ PageParameters params = new PageParameters();
+ params.add("action", "login");
+ setResponsePage(LoginPage.class, params);
+ }
+
add(new Workbench(
"curator_workbench"));