Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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 <a href="mailto:schneider@lat-lon.de">Markus Schneider</a>
* @author <a href="mailto:friebe@lat-lon.de">Torsten Friebe</a>
*/
@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
+ '}';
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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();
Expand All @@ -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();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand All @@ -83,7 +84,7 @@
* @since 3.4
*/
@Named("workspace")
@ApplicationScoped
@RequestScoped
public class WorkspaceBean implements Serializable {

private static Logger LOG = LoggerFactory.getLogger(WorkspaceBean.class);
Expand Down Expand Up @@ -112,6 +113,9 @@ public class WorkspaceBean implements Serializable {

private boolean modified;

@Inject
private ActionParams params;

public String getLastMessage() {
return lastMessage;
}
Expand Down Expand Up @@ -191,7 +195,8 @@ public List<String> 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);
Expand All @@ -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.";
Expand All @@ -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);
Expand All @@ -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);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
<div>
<p:commandButton styleClass="ui-button buttonInfo" rendered="#{config.state=='init_ok'}" value="#{labels.jdbc_test}"
action="#{connectionTester.test}" alt="#{config.id}" update=":container" global="false">
<f:setPropertyActionListener target="#{actionParams.param1}" value="#{config.id}" />
<f:param name="param1" value="#{config.id}" />
</p:commandButton>
</div>
</h:form>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
<br />
<div>
<p:commandButton styleClass="ui-button buttonCreateNew" value="Create" action="#{jdbcBean.save}" update=":container" global="false">
<f:setPropertyActionListener target="#{actionParams.param1}" value="#{config.id}" />
<f:param name="param1" value="#{config.id}" />
</p:commandButton>
<h:outputLink styleClass="ui-button buttonCancel" value="../../#{configManager.currentResourceManager.startView}.jsf"
action="#{jdbcBean.cancel}">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@
<td><h:outputText value="#{workspaceName}" /></td>
<td><p:commandButton styleClass="ui-button buttonInfo" label="#{workspaceName}"
value="#{labels.start_workspace}" action="#{workspace.startWorkspace}" oncomplete="location.reload();" >
<f:setPropertyActionListener target="#{actionParams.param1}" value="#{workspaceName}" />
<f:param name="param1" value="#{workspaceName}" />
</p:commandButton></td>
<td><p:commandButton styleClass="ui-button buttonDelete" label="#{workspaceName}"
onclick="return confirmDelete();" value="#{labels.delete_workspace}"
action="#{workspace.deleteWorkspace}" global="false" oncomplete="location.reload();" >
<f:setPropertyActionListener target="#{actionParams.param1}" value="#{workspaceName}" />
<f:param name="param1" value="#{workspaceName}" />
</p:commandButton></td>
</tr>
</h:form>
Expand All @@ -58,7 +58,7 @@
<td><h:outputText value="#{workspaceName}" /></td>
<td><p:commandButton styleClass="ui-button buttonEdit" label="#{workspaceName}" value="Import"
action="#{workspace.downloadWorkspace}" oncomplete="location.reload();" >
<f:setPropertyActionListener target="#{actionParams.param1}" value="#{workspaceName}" />
<f:param name="param1" value="#{workspaceName}" />
</p:commandButton></td>
</tr>
</h:form>
Expand Down