diff --git a/deegree-client/deegree-jsf-core/src/main/java/org/deegree/client/core/utils/ActionParams.java b/deegree-client/deegree-jsf-core/src/main/java/org/deegree/client/core/utils/ActionParams.java
index cbca050eb77..2f82132d1db 100644
--- a/deegree-client/deegree-jsf-core/src/main/java/org/deegree/client/core/utils/ActionParams.java
+++ b/deegree-client/deegree-jsf-core/src/main/java/org/deegree/client/core/utils/ActionParams.java
@@ -34,73 +34,70 @@
----------------------------------------------------------------------------*/
package org.deegree.client.core.utils;
-import jakarta.el.ELContext;
-import jakarta.el.ELResolver;
import jakarta.enterprise.context.RequestScoped;
-import jakarta.faces.application.Application;
-import jakarta.faces.context.FacesContext;
+import jakarta.faces.annotation.ManagedProperty;
import jakarta.inject.Named;
import java.io.Serializable;
/**
- * Utility class to provide a workaround for the missing parameters for action expressions
- * in JSF versions before 2.2.
+ * Utility class to provide access to multiple parameters for action expressions.
*
* @author Markus Schneider
+ * @author Torsten Friebe
*/
@Named("actionParams")
@RequestScoped
public class ActionParams implements Serializable {
+ @ManagedProperty("#{param.param1}")
private Object param1;
+ @ManagedProperty("#{param.param2}")
private Object param2;
+ @ManagedProperty("#{param.param3}")
private Object param3;
+ @ManagedProperty("#{param.param4}")
private Object param4;
public void setParam1(Object param1) {
this.param1 = param1;
}
- public static Object getParam1() {
- return getInstance().param1;
+ public Object getParam1() {
+ return param1;
}
public void setParam2(Object param2) {
this.param2 = param2;
}
- public static Object getParam2() {
- return getInstance().param2;
+ public Object getParam2() {
+ return param2;
}
public void setParam3(Object param3) {
this.param3 = param3;
}
- public static Object getParam3() {
- return getInstance().param3;
+ public Object getParam3() {
+ return param3;
}
public void setParam4(Object param4) {
this.param4 = param4;
}
- public static Object getParam4() {
- return getInstance().param4;
+ public Object getParam4() {
+ return param4;
}
- private static ActionParams getInstance() {
- FacesContext facesContext = FacesContext.getCurrentInstance();
- Application application = facesContext.getApplication();
-
- ELResolver elResolver = application.getELResolver();
- ELContext elContext = facesContext.getELContext();
-
- return (ActionParams) elResolver.getValue(elContext, null, "actionParams");
+ @Override
+ public String toString() {
+ return "ActionParams{" + "param1=" + param1 + ", param2=" + param2 + ", param3=" + param3 + ", param4=" + param4
+ + '}';
}
}
\ No newline at end of file
diff --git a/deegree-services/deegree-webservices/src/main/java/org/deegree/console/connection/sql/ConnectionTester.java b/deegree-services/deegree-webservices/src/main/java/org/deegree/console/connection/sql/ConnectionTester.java
index 48041e84919..77abffbf90d 100644
--- a/deegree-services/deegree-webservices/src/main/java/org/deegree/console/connection/sql/ConnectionTester.java
+++ b/deegree-services/deegree-webservices/src/main/java/org/deegree/console/connection/sql/ConnectionTester.java
@@ -36,13 +36,13 @@
import static jakarta.faces.application.FacesMessage.SEVERITY_ERROR;
import static jakarta.faces.application.FacesMessage.SEVERITY_INFO;
-import static org.deegree.client.core.utils.ActionParams.getParam1;
import jakarta.enterprise.context.SessionScoped;
import jakarta.faces.application.FacesMessage;
-import jakarta.faces.context.ExternalContext;
import jakarta.faces.context.FacesContext;
+import jakarta.inject.Inject;
import jakarta.inject.Named;
+import org.deegree.client.core.utils.ActionParams;
import org.deegree.console.workspace.WorkspaceBean;
import org.deegree.db.ConnectionProvider;
import org.deegree.db.ConnectionProviderProvider;
@@ -61,12 +61,15 @@
@SessionScoped
public class ConnectionTester implements Serializable {
+ @Inject
+ private ActionParams params;
+
private Workspace getWorkspace() {
return WorkspaceBean.getInstance().getActiveWorkspace().getNewWorkspace();
}
public void test() {
- String id = (String) getParam1();
+ String id = (String) params.getParam1();
try {
ConnectionProvider prov = getWorkspace().getResource(ConnectionProviderProvider.class, id);
prov.getConnection().close();
@@ -81,7 +84,7 @@ public void test() {
}
public String testAndSave() {
- String id = (String) getParam1();
+ String id = (String) params.getParam1();
try {
ConnectionProvider prov = getWorkspace().getResource(ConnectionProviderProvider.class, id);
prov.getConnection().close();
diff --git a/deegree-services/deegree-webservices/src/main/java/org/deegree/console/workspace/WorkspaceBean.java b/deegree-services/deegree-webservices/src/main/java/org/deegree/console/workspace/WorkspaceBean.java
index dca81d61568..05f8d42c109 100644
--- a/deegree-services/deegree-webservices/src/main/java/org/deegree/console/workspace/WorkspaceBean.java
+++ b/deegree-services/deegree-webservices/src/main/java/org/deegree/console/workspace/WorkspaceBean.java
@@ -38,7 +38,6 @@
import static jakarta.faces.application.FacesMessage.SEVERITY_INFO;
import static org.apache.commons.io.IOUtils.closeQuietly;
import static org.apache.commons.io.IOUtils.readLines;
-import static org.deegree.client.core.utils.ActionParams.getParam1;
import static org.deegree.commons.utils.net.HttpUtils.STREAM;
import static org.deegree.console.JsfUtils.indicateException;
import static org.deegree.services.controller.OGCFrontController.getModulesInfo;
@@ -56,14 +55,16 @@
import jakarta.el.ELContext;
import jakarta.el.ELResolver;
-import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.enterprise.context.RequestScoped;
import jakarta.faces.application.Application;
import jakarta.faces.application.FacesMessage;
import jakarta.faces.context.FacesContext;
+import jakarta.inject.Inject;
import jakarta.inject.Named;
import org.apache.commons.io.FileUtils;
import org.apache.http.HttpResponse;
+import org.deegree.client.core.utils.ActionParams;
import org.deegree.commons.config.DeegreeWorkspace;
import org.deegree.moduleinfo.ModuleInfo;
import org.deegree.commons.utils.Pair;
@@ -83,7 +84,7 @@
* @since 3.4
*/
@Named("workspace")
-@ApplicationScoped
+@RequestScoped
public class WorkspaceBean implements Serializable {
private static Logger LOG = LoggerFactory.getLogger(WorkspaceBean.class);
@@ -112,6 +113,9 @@ public class WorkspaceBean implements Serializable {
private boolean modified;
+ @Inject
+ private ActionParams params;
+
public String getLastMessage() {
return lastMessage;
}
@@ -191,7 +195,8 @@ public List getWorkspaceList() {
}
public void startWorkspace() {
- String wsName = (String) getParam1();
+ String wsName = (String) params.getParam1();
+ LOG.debug("Starting workspace {}", wsName);
try {
OGCFrontController fc = OGCFrontController.getInstance();
fc.setActiveWorkspaceName(wsName);
@@ -204,8 +209,9 @@ public void startWorkspace() {
}
public void deleteWorkspace() throws IOException {
- String wsName = (String) getParam1();
+ String wsName = (String) params.getParam1();
DeegreeWorkspace dw = DeegreeWorkspace.getInstance(wsName);
+ LOG.debug("Deleting workspace {}", wsName);
if (dw.getLocation().isDirectory()) {
FileUtils.deleteDirectory(dw.getLocation());
lastMessage = "Workspace has been deleted.";
@@ -232,8 +238,9 @@ public String applyChanges() {
}
public void downloadWorkspace() {
- String wsName = (String) getParam1();
+ String wsName = (String) params.getParam1();
String location = workspaceLocations.get(wsName);
+ LOG.debug("Downloading workspace {}", wsName);
InputStream in = null;
try {
setWorkspaceImportName(wsName);
@@ -250,6 +257,8 @@ public void downloadWorkspace() {
}
private void importWorkspace(String location) {
+ if (location == null)
+ throw new IllegalArgumentException("location must not be null");
InputStream in = null;
try {
URL url = new URL(location);
diff --git a/deegree-services/deegree-webservices/src/main/webapp/console/connection/sql/jdbc.xhtml b/deegree-services/deegree-webservices/src/main/webapp/console/connection/sql/jdbc.xhtml
index 930de8fc4fe..6d365366357 100644
--- a/deegree-services/deegree-webservices/src/main/webapp/console/connection/sql/jdbc.xhtml
+++ b/deegree-services/deegree-webservices/src/main/webapp/console/connection/sql/jdbc.xhtml
@@ -55,7 +55,7 @@
diff --git a/deegree-services/deegree-webservices/src/main/webapp/console/connection/sql/jdbcparams.xhtml b/deegree-services/deegree-webservices/src/main/webapp/console/connection/sql/jdbcparams.xhtml
index 7150f903ad2..cdb3c937489 100644
--- a/deegree-services/deegree-webservices/src/main/webapp/console/connection/sql/jdbcparams.xhtml
+++ b/deegree-services/deegree-webservices/src/main/webapp/console/connection/sql/jdbcparams.xhtml
@@ -69,7 +69,7 @@
-
+
diff --git a/deegree-services/deegree-webservices/src/main/webapp/console/workspace/index.xhtml b/deegree-services/deegree-webservices/src/main/webapp/console/workspace/index.xhtml
index 7644fa9a102..c4eeced90bd 100644
--- a/deegree-services/deegree-webservices/src/main/webapp/console/workspace/index.xhtml
+++ b/deegree-services/deegree-webservices/src/main/webapp/console/workspace/index.xhtml
@@ -36,12 +36,12 @@
|
-
+
|
-
+
|
@@ -58,7 +58,7 @@
|
-
+
|