You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2022/04/08 16:41:48 UTC
[directory-fortress-commander] 01/01: FC-310 - Wicket 9 Upgrade
This is an automated email from the ASF dual-hosted git repository.
smckinney pushed a commit to branch wicket9
in repository https://gitbox.apache.org/repos/asf/directory-fortress-commander.git
commit 13a8fed7fdb42d784595ee0af927661a8a47a2d6
Author: Shawn McKinney <sm...@symas.com>
AuthorDate: Fri Apr 8 11:41:41 2022 -0500
FC-310 - Wicket 9 Upgrade
---
README.md | 12 +----------
pom.xml | 6 +++---
.../directory/fortress/web/ApplicationContext.java | 23 ++++++----------------
.../fortress/web/HomePageApplication.java | 11 ++++++++++-
.../fortress/web/panel/AuditModDetailPanel.java | 8 ++++----
.../fortress/web/panel/GroupDetailPanel.java | 8 ++++----
6 files changed, 28 insertions(+), 40 deletions(-)
diff --git a/README.md b/README.md
index 640dd5c..ae5ef6b 100644
--- a/README.md
+++ b/README.md
@@ -78,7 +78,7 @@ ________________________________________________________________________________
## SECTION 1. Prerequisites
Minimum software requirements:
- * Java SDK 8++
+ * Java SDK 11++
* git
* Apache Maven3++
* Apache Tomcat8++
@@ -107,19 +107,9 @@ Everything else covered in the steps that follow. Tested on Debian & Centos sys
2. Build the source.
-a. Java 8 target
-
```
mvn clean install
```
-
--- OR --
-
-b. Java 11 target
-
- ```
- mvn clean install -Djava.version=11
- ```
___________________________________________________________________________________
## SECTION 3. Configure the Apache Fortress Web deployment
diff --git a/pom.xml b/pom.xml
index 29cd181..3f43a11 100644
--- a/pom.xml
+++ b/pom.xml
@@ -78,10 +78,10 @@
<properties>
<title>${project.name} ${project.version}</title>
- <java.version>1.8</java.version>
+ <java.version>11</java.version>
<fortress.realm.version>2.0.7</fortress.realm.version>
- <wicket.version>8.14.0</wicket.version>
- <wicket.googlecode.version>8.13.0</wicket.googlecode.version>
+ <wicket.version>9.9.0</wicket.version>
+ <wicket.googlecode.version>9.8.0</wicket.googlecode.version>
<version.ant>1.10.12</version.ant>
<spring.security.version>5.6.2</spring.security.version>
<javadoc.version>2.9.1</javadoc.version>
diff --git a/src/main/java/org/apache/directory/fortress/web/ApplicationContext.java b/src/main/java/org/apache/directory/fortress/web/ApplicationContext.java
index 1746c11..8b57bd2 100644
--- a/src/main/java/org/apache/directory/fortress/web/ApplicationContext.java
+++ b/src/main/java/org/apache/directory/fortress/web/ApplicationContext.java
@@ -19,18 +19,13 @@
*/
package org.apache.directory.fortress.web;
-
import org.apache.directory.fortress.web.control.WicketSession;
import org.apache.wicket.Page;
import org.apache.wicket.Session;
-import org.apache.wicket.core.request.handler.PageProvider;
-import org.apache.wicket.core.request.handler.RenderPageRequestHandler;
import org.apache.wicket.protocol.http.WebApplication;
-import org.apache.wicket.request.IRequestHandler;
import org.apache.wicket.request.Request;
import org.apache.wicket.request.Response;
-import org.apache.wicket.request.cycle.AbstractRequestCycleListener;
-import org.apache.wicket.request.cycle.RequestCycle;
+import org.apache.wicket.settings.ExceptionSettings;
import org.apache.wicket.spring.injection.annot.SpringComponentInjector;
/**
@@ -50,16 +45,10 @@ public class ApplicationContext extends WebApplication
{
super.init();
getComponentInstantiationListeners().add( new SpringComponentInjector( this ) );
-
- // Catch runtime exceptions this way:
- getRequestCycleListeners().add( new AbstractRequestCycleListener()
- {
- @Override
- public IRequestHandler onException( RequestCycle cycle, Exception e )
- {
- return new RenderPageRequestHandler( new PageProvider( new ErrorPage( e ) ) );
- }
- } );
+ // Route runtime exceptions to fortress error page:
+ getApplicationSettings().setInternalErrorPage( ErrorPage.class );
+ // show internal error page rather than default developer page
+ getExceptionSettings().setUnexpectedExceptionDisplay(ExceptionSettings.SHOW_INTERNAL_ERROR_PAGE);
getMarkupSettings().setStripWicketTags( true );
}
@@ -67,4 +56,4 @@ public class ApplicationContext extends WebApplication
{
return LaunchPage.class;
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/org/apache/directory/fortress/web/HomePageApplication.java b/src/main/java/org/apache/directory/fortress/web/HomePageApplication.java
index 7bd698e..0cbf936 100644
--- a/src/main/java/org/apache/directory/fortress/web/HomePageApplication.java
+++ b/src/main/java/org/apache/directory/fortress/web/HomePageApplication.java
@@ -20,6 +20,8 @@
package org.apache.directory.fortress.web;
import org.apache.wicket.Page;
+import org.apache.wicket.csp.CSPDirective;
+import org.apache.wicket.csp.CSPDirectiveSrcValue;
/**
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
@@ -40,7 +42,14 @@ public class HomePageApplication extends ApplicationContext
public void init()
{
super.init();
- //mountPage("index.html", LoginPage.class);
+ // TODO: refine content security policy:
+ getCspSettings().blocking().clear()
+ .add(CSPDirective.STYLE_SRC, CSPDirectiveSrcValue.SELF)
+ .add(CSPDirective.STYLE_SRC, CSPDirectiveSrcValue.UNSAFE_INLINE)
+ .add(CSPDirective.SCRIPT_SRC, CSPDirectiveSrcValue.SELF)
+ .add(CSPDirective.SCRIPT_SRC, CSPDirectiveSrcValue.UNSAFE_EVAL)
+ .add(CSPDirective.SCRIPT_SRC, CSPDirectiveSrcValue.UNSAFE_INLINE);
+
mountPage("index.html", LaunchPage.class);
mountPage("home.html", LaunchPage.class);
}
diff --git a/src/main/java/org/apache/directory/fortress/web/panel/AuditModDetailPanel.java b/src/main/java/org/apache/directory/fortress/web/panel/AuditModDetailPanel.java
index 2b3a188..71a4563 100644
--- a/src/main/java/org/apache/directory/fortress/web/panel/AuditModDetailPanel.java
+++ b/src/main/java/org/apache/directory/fortress/web/panel/AuditModDetailPanel.java
@@ -27,6 +27,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.directory.fortress.core.*;
import org.apache.directory.fortress.core.util.Config;
+import org.apache.wicket.model.AbstractPropertyModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.wicket.AttributeModifier;
@@ -40,7 +41,6 @@ import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.IDataProvider;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
-import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
@@ -140,14 +140,14 @@ public class AuditModDetailPanel extends FormComponentPanel
item.add( new Label( "type", mod.getType() ) );
item.add( new Label( "name", mod.getName() ) );
item.add( new Label( "value", mod.getValue() ) );
- item.add( AttributeModifier.replace( "class", new AbstractReadOnlyModel<String>()
+ item.add( AttributeModifier.replace( "class", new AbstractPropertyModel<String>(this)
{
private static final long serialVersionUID = 1L;
@Override
- public String getObject()
+ protected String propertyExpression()
{
- return ( item.getIndex() % 2 == 1 ) ? "even" : "odd";
+ return null;
}
} ));
}
diff --git a/src/main/java/org/apache/directory/fortress/web/panel/GroupDetailPanel.java b/src/main/java/org/apache/directory/fortress/web/panel/GroupDetailPanel.java
index 1dd8e9f..0fb5976 100644
--- a/src/main/java/org/apache/directory/fortress/web/panel/GroupDetailPanel.java
+++ b/src/main/java/org/apache/directory/fortress/web/panel/GroupDetailPanel.java
@@ -30,6 +30,7 @@ import org.apache.directory.fortress.core.*;
import org.apache.directory.fortress.core.SecurityException;
import org.apache.directory.fortress.core.util.Config;
import org.apache.directory.fortress.core.util.PropUtil;
+import org.apache.wicket.model.AbstractPropertyModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.wicket.AttributeModifier;
@@ -50,7 +51,6 @@ import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.markup.repeater.data.IDataProvider;
import org.apache.wicket.markup.repeater.data.ListDataProvider;
-import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.model.CompoundPropertyModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
@@ -153,14 +153,14 @@ public class GroupDetailPanel extends FormComponentPanel
Member member = item.getModelObject();
item.add( new Label( "index", member.getIndex() ) );
item.add( new Label( "userDn", member.getUserDn() ) );
- item.add( AttributeModifier.replace( "class", new AbstractReadOnlyModel<String>()
+ item.add( AttributeModifier.replace( "class", new AbstractPropertyModel<String>(this)
{
private static final long serialVersionUID = 1L;
@Override
- public String getObject()
+ protected String propertyExpression()
{
- return ( item.getIndex() % 2 == 1 ) ? "even" : "odd";
+ return null;
}
} ));