You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
518 lines
20 KiB
Java
518 lines
20 KiB
Java
package org.gcube.portlets.admin.systemservicedefinition;
|
|
|
|
import java.io.IOException;
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Collections;
|
|
import java.util.Enumeration;
|
|
import java.util.UUID;
|
|
|
|
import javax.portlet.ActionRequest;
|
|
import javax.portlet.ActionResponse;
|
|
import javax.portlet.PortletException;
|
|
import javax.portlet.RenderRequest;
|
|
import javax.portlet.RenderResponse;
|
|
import javax.portlet.ResourceRequest;
|
|
import javax.portlet.ResourceResponse;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
import org.gcube.portlets.admin.systemservicedefinition.definition.DefClientIdComparator;
|
|
import org.gcube.portlets.admin.systemservicedefinition.definition.DefDescriptionComparator;
|
|
import org.gcube.portlets.admin.systemservicedefinition.definition.DefinitionItem;
|
|
import org.gcube.portlets.admin.systemservicedefinition.event.CreateSSDEvent;
|
|
import org.gcube.portlets.admin.systemservicedefinition.event.CreateSSDEventPublisher;
|
|
import org.gcube.portlets.admin.systemservicedefinition.util.UserCredentials;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import com.liferay.portal.kernel.json.JSONArray;
|
|
import com.liferay.portal.kernel.json.JSONFactoryUtil;
|
|
import com.liferay.portal.kernel.json.JSONObject;
|
|
import com.liferay.portal.kernel.servlet.ServletResponseUtil;
|
|
import com.liferay.portal.kernel.servlet.SessionErrors;
|
|
import com.liferay.portal.kernel.servlet.SessionMessages;
|
|
import com.liferay.portal.kernel.util.ParamUtil;
|
|
import com.liferay.portal.util.PortalUtil;
|
|
import com.liferay.util.bridges.mvc.MVCPortlet;
|
|
|
|
/**
|
|
*
|
|
* @author Giancarlo Panichi
|
|
*
|
|
* Portlet implementation class SystemServiceDefinition
|
|
*
|
|
*/
|
|
public class SystemServiceDefinition extends MVCPortlet {
|
|
private static Logger logger = LoggerFactory.getLogger(SystemServiceDefinition.class);
|
|
|
|
private void paramsInfo(ActionRequest actionRequest) {
|
|
HttpServletRequest httpRequest = PortalUtil.getHttpServletRequest(actionRequest);
|
|
paramsInfo(httpRequest);
|
|
|
|
}
|
|
|
|
private void paramsInfo(ResourceRequest resourceRequest) {
|
|
HttpServletRequest httpRequest = PortalUtil.getHttpServletRequest(resourceRequest);
|
|
paramsInfo(httpRequest);
|
|
|
|
}
|
|
|
|
private void paramsInfo(HttpServletRequest httpRequest) {
|
|
|
|
HttpServletRequest hsrequest = PortalUtil.getOriginalServletRequest(httpRequest);
|
|
String queryString = hsrequest.getQueryString();
|
|
logger.debug("Query: " + queryString);
|
|
|
|
logger.debug("Params Info");
|
|
for (@SuppressWarnings("unchecked")
|
|
Enumeration<String> e = (Enumeration<String>) httpRequest.getParameterNames(); e.hasMoreElements();) {
|
|
String key = e.nextElement();
|
|
String[] v = httpRequest.getParameterValues(key);
|
|
ArrayList<String> values = new ArrayList<String>(Arrays.asList(v));
|
|
StringBuilder parms = new StringBuilder();
|
|
parms.append("Parameter: ");
|
|
parms.append(key);
|
|
parms.append(" - ");
|
|
parms.append(values);
|
|
logger.debug(parms.toString());
|
|
}
|
|
|
|
}
|
|
|
|
@Override
|
|
public void render(RenderRequest renderRequest, RenderResponse renderResponse)
|
|
throws PortletException, IOException {
|
|
// GroupManager gm = new LiferayGroupManager();
|
|
try {
|
|
UserCredentials userCredentials = SessionUtil.getUserCredentials(renderRequest);
|
|
logger.debug("Render requested from user: {}", userCredentials);
|
|
|
|
/*
|
|
* String mvcPath = renderRequest.getParameter("mvcPath");
|
|
*
|
|
* if (mvcPath == null || mvcPath.isEmpty()) { mvcPath =
|
|
* "/html/systemservicedefinition/view.jsp"; } PortletRequestDispatcher
|
|
* dispatcher = getPortletContext().getRequestDispatcher(mvcPath);
|
|
* dispatcher.include(renderRequest, renderResponse);
|
|
*/
|
|
|
|
/*
|
|
* List<GCubeGroup> userGroups =
|
|
* gm.listGroupsByUser(userCredentials.getUserId()); List<String> userContexts =
|
|
* new ArrayList<String>(); for (GCubeGroup g : userGroups) { if
|
|
* (g.getGroupName().equals(PortalContext.getConfiguration().
|
|
* getInfrastructureName())) { String context =
|
|
* gm.getInfrastructureScope(g.getGroupId()); userContexts.add(context); } if
|
|
* (g.getParentGroupId() > 0) { String context =
|
|
* gm.getInfrastructureScope(g.getGroupId()); userContexts.add(context); } }
|
|
* renderRequest.setAttribute("userGroups", userGroups);
|
|
* renderRequest.setAttribute("userContexts", userContexts);
|
|
*/
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage(), e);
|
|
}
|
|
super.render(renderRequest, renderResponse);
|
|
}
|
|
|
|
@Override
|
|
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse)
|
|
throws IOException, PortletException {
|
|
|
|
UserCredentials userCredentials;
|
|
try {
|
|
userCredentials = SessionUtil.getUserCredentials(resourceRequest);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage(), e);
|
|
JSONObject jsonObject = JSONFactoryUtil.createJSONObject();
|
|
jsonObject.put("success", false);
|
|
jsonObject.put("comment", "Error retrieving user credentials: " + e.getLocalizedMessage());
|
|
resourceResponse.getWriter().println(jsonObject);
|
|
super.serveResource(resourceRequest, resourceResponse);
|
|
return;
|
|
}
|
|
|
|
paramsInfo(resourceRequest);
|
|
|
|
String opType = ParamUtil.getString(resourceRequest, "operationType", null);
|
|
OperationType operationType = OperationType.getTypeFromString(opType);
|
|
if (operationType == null) {
|
|
logger.error("Invalid Operation Type Requested: null");
|
|
JSONObject jsonObject = JSONFactoryUtil.createJSONObject();
|
|
jsonObject.put("success", false);
|
|
jsonObject.put("comment", "Invalid Operation Type Requested: null");
|
|
resourceResponse.getWriter().println(jsonObject);
|
|
super.serveResource(resourceRequest, resourceResponse);
|
|
return;
|
|
}
|
|
|
|
switch (operationType) {
|
|
case TableInteraction:
|
|
tableInteraction(resourceRequest, resourceResponse, userCredentials);
|
|
break;
|
|
default:
|
|
logger.error("Invalid Operation Type Requested: {}", operationType);
|
|
JSONObject jsonObject = JSONFactoryUtil.createJSONObject();
|
|
jsonObject.put("success", false);
|
|
jsonObject.put("comment", "Invalid Operation Type Requested: " + operationType);
|
|
resourceResponse.getWriter().println(jsonObject);
|
|
super.serveResource(resourceRequest, resourceResponse);
|
|
break;
|
|
|
|
}
|
|
}
|
|
|
|
private void tableInteraction(ResourceRequest resourceRequest, ResourceResponse resourceResponse,
|
|
UserCredentials userCredentials) throws IOException {
|
|
|
|
String searchValue = ParamUtil.getString(resourceRequest, "search[value]");
|
|
int start = ParamUtil.getInteger(resourceRequest, "start");
|
|
int length = ParamUtil.getInteger(resourceRequest, "length");
|
|
int draw = ParamUtil.getInteger(resourceRequest, "draw");
|
|
int orderColumn = ParamUtil.getInteger(resourceRequest, "order[0][column]");
|
|
String orderDirection = ParamUtil.getString(resourceRequest, "order[0][dir]");
|
|
|
|
listItems(resourceRequest, resourceResponse, userCredentials, start, length, searchValue, draw, orderColumn,
|
|
orderDirection);
|
|
|
|
}
|
|
|
|
private void listItems(ResourceRequest request, ResourceResponse resourceResponse, UserCredentials userCredentials,
|
|
int start, int length, String searchValue, int draw,int orderColumn, String orderDirection) throws IOException {
|
|
StringBuilder tableRequested = new StringBuilder();
|
|
tableRequested.append("Table requested [start=");
|
|
tableRequested.append(start);
|
|
tableRequested.append(", lenght=");
|
|
tableRequested.append(length);
|
|
tableRequested.append(", searchValue=");
|
|
tableRequested.append(searchValue);
|
|
tableRequested.append(", draw=");
|
|
tableRequested.append(draw);
|
|
tableRequested.append(", orderColumn=");
|
|
tableRequested.append(orderColumn);
|
|
tableRequested.append(", orderDirection=");
|
|
tableRequested.append(orderDirection);
|
|
tableRequested.append("]");
|
|
logger.debug(tableRequested.toString());
|
|
|
|
|
|
//Create
|
|
ArrayList<DefinitionItem> itemsList = new ArrayList<>();
|
|
|
|
for (int i = 0; i < 10; i++) {
|
|
DefinitionItem definitionItem = new DefinitionItem("client_id_" + i, "description_" + i, "xxxx_" + i,
|
|
"enc_xxxx_" + i);
|
|
itemsList.add(definitionItem);
|
|
|
|
}
|
|
|
|
int count = itemsList.size();
|
|
|
|
//Filter
|
|
ArrayList<DefinitionItem> filteredItemsList = new ArrayList<>();
|
|
if (searchValue != null && !searchValue.isEmpty()) {
|
|
for (DefinitionItem definitionItem : itemsList) {
|
|
if (definitionItem.getClientId().contains(searchValue)) {
|
|
filteredItemsList.add(definitionItem);
|
|
}
|
|
}
|
|
itemsList.clear();
|
|
itemsList.addAll(filteredItemsList);
|
|
}
|
|
|
|
int recordsFiltered = itemsList.size();
|
|
|
|
//Order
|
|
reorderData(orderColumn, orderDirection, itemsList);
|
|
|
|
//Create data Window
|
|
if (start > recordsFiltered) {
|
|
start = recordsFiltered;
|
|
}
|
|
|
|
int limit = 0;
|
|
if (start + length > recordsFiltered) {
|
|
limit = recordsFiltered;
|
|
} else {
|
|
limit = start + length;
|
|
}
|
|
|
|
ArrayList<DefinitionItem> windowItemsList = new ArrayList<>();
|
|
for (int i = start; i < limit; i++) {
|
|
windowItemsList.add(itemsList.get(i));
|
|
}
|
|
|
|
JSONObject tableData = buildJSONResponse(windowItemsList, start, length, draw, count, recordsFiltered, request);
|
|
ServletResponseUtil.write(PortalUtil.getHttpServletResponse(resourceResponse), tableData.toString());
|
|
|
|
}
|
|
|
|
private void reorderData(int orderColumn, String orderDirection, ArrayList<DefinitionItem> itemsList) {
|
|
switch (orderColumn) {
|
|
case 0:
|
|
if(orderDirection!=null&&orderDirection.compareTo("asc")==0) {
|
|
Collections.sort(itemsList, Collections.reverseOrder(new DefClientIdComparator()));
|
|
} else {
|
|
Collections.sort(itemsList, new DefClientIdComparator());
|
|
}
|
|
break;
|
|
case 1:
|
|
if(orderDirection!=null&&orderDirection.compareTo("asc")==0) {
|
|
Collections.sort(itemsList, Collections.reverseOrder(new DefDescriptionComparator()));
|
|
} else {
|
|
Collections.sort(itemsList, new DefDescriptionComparator());
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param itemsList
|
|
* @param start
|
|
* @param lenght
|
|
* @param draw
|
|
* @param count
|
|
* @param request
|
|
* @return the JSON response to the client
|
|
*/
|
|
private JSONObject buildJSONResponse(ArrayList<DefinitionItem> itemsList, int start, int lenght, int draw,
|
|
int count, int recordsFiltered, ResourceRequest request) {
|
|
JSONArray definitionsArray = JSONFactoryUtil.createJSONArray();
|
|
for (DefinitionItem item : itemsList) {
|
|
JSONObject definitionObject = JSONFactoryUtil.createJSONObject();
|
|
definitionObject.put("ClientId", item.getClientId());
|
|
definitionObject.put("Description", item.getDescription());
|
|
definitionsArray.put(definitionObject);
|
|
}
|
|
|
|
JSONObject tableData = JSONFactoryUtil.createJSONObject();
|
|
tableData.put("messages", "Read Done!");
|
|
tableData.put("data", definitionsArray);
|
|
tableData.put("start", start);
|
|
tableData.put("lenght", lenght);
|
|
tableData.put("draw", draw);
|
|
tableData.put("recordsTotal", count);
|
|
tableData.put("recordsFiltered", recordsFiltered);
|
|
logger.debug("tableData:" + tableData.toString());
|
|
return tableData;
|
|
}
|
|
|
|
public void createDefinition(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {
|
|
@SuppressWarnings("unused")
|
|
UserCredentials userCredentials;
|
|
|
|
try {
|
|
userCredentials = SessionUtil.getUserCredentials(actionRequest);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage(), e);
|
|
// actionResponse.addProperty("message", "Error!");
|
|
SessionErrors.add(actionRequest, "error-session");
|
|
SessionMessages.add(actionRequest,
|
|
PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
return;
|
|
}
|
|
|
|
paramsInfo(actionRequest);
|
|
|
|
String act = ParamUtil.getString(actionRequest, "act");
|
|
if (act == null) {
|
|
SessionErrors.add(actionRequest, "error-create-definition");
|
|
SessionMessages.add(actionRequest,
|
|
PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
return;
|
|
}
|
|
switch (act) {
|
|
case "submit":
|
|
logger.debug("Submit Request");
|
|
String clientId = ParamUtil.getString(actionRequest, "clientId");
|
|
if (clientId == null || clientId.isEmpty()) {
|
|
logger.error("Invalid client id: " + clientId);
|
|
SessionErrors.add(actionRequest, "error-invalid-clientId");
|
|
SessionMessages.add(actionRequest,
|
|
PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
|
|
PortalUtil.copyRequestParameters(actionRequest, actionResponse);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/ssd_create.jsp");
|
|
break;
|
|
}
|
|
String description = ParamUtil.getString(actionRequest, "description");
|
|
if (description == null || description.isEmpty()) {
|
|
logger.error("Invalid description: " + description);
|
|
SessionErrors.add(actionRequest, "error-invalid-description");
|
|
SessionMessages.add(actionRequest,
|
|
PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
|
|
PortalUtil.copyRequestParameters(actionRequest, actionResponse);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/ssd_create.jsp");
|
|
break;
|
|
}
|
|
logger.debug("Requested: [clientId={}, description={}]", clientId, description);
|
|
String secret = UUID.randomUUID().toString();
|
|
String encryptedSecret = null; // StringEncrypter.getEncrypter().encrypt(secret);
|
|
DefinitionItem definitionItem = new DefinitionItem(clientId, description, secret, encryptedSecret);
|
|
// publishCreateSSDEvent(definitionItem);
|
|
SessionMessages.add(actionRequest, "success-definition-created");
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
break;
|
|
case "cancel":
|
|
logger.debug("Cancel Request");
|
|
SessionMessages.clear(actionRequest);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
break;
|
|
default:
|
|
logger.debug("Default");
|
|
SessionErrors.add(actionRequest, "error-create-definition");
|
|
SessionMessages.add(actionRequest,
|
|
PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
private void publishCreateSSDEvent(DefinitionItem definitionItem) {
|
|
logger.debug("Trying to send the event to create System Service");
|
|
CreateSSDEvent toSend = new CreateSSDEvent(definitionItem);
|
|
new CreateSSDEventPublisher().publish(toSend);
|
|
logger.info("Done send event " + toSend.getName() + " for " + toSend.getUser());
|
|
try {
|
|
Thread.sleep(2000);
|
|
} catch (InterruptedException e) {
|
|
|
|
}
|
|
}
|
|
|
|
public void editDefinition(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {
|
|
@SuppressWarnings("unused")
|
|
UserCredentials userCredentials;
|
|
|
|
try {
|
|
userCredentials = SessionUtil.getUserCredentials(actionRequest);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage(), e);
|
|
SessionErrors.add(actionRequest, "error-session");
|
|
SessionMessages.add(actionRequest,
|
|
PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
return;
|
|
}
|
|
|
|
paramsInfo(actionRequest);
|
|
|
|
String act = ParamUtil.getString(actionRequest, "act");
|
|
if (act == null) {
|
|
SessionErrors.add(actionRequest, "error-edit-definition");
|
|
SessionMessages.add(actionRequest,
|
|
PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
return;
|
|
}
|
|
switch (act) {
|
|
case "submit":
|
|
SessionMessages.add(actionRequest, "success-definition-updated");
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
break;
|
|
case "cancel":
|
|
SessionMessages.clear(actionRequest);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
break;
|
|
default:
|
|
SessionErrors.add(actionRequest, "error-create-definition");
|
|
SessionMessages.add(actionRequest,
|
|
PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
public void deleteDefinition(ActionRequest actionRequest, ActionResponse actionResponse) throws Exception {
|
|
@SuppressWarnings("unused")
|
|
UserCredentials userCredentials;
|
|
|
|
try {
|
|
userCredentials = SessionUtil.getUserCredentials(actionRequest);
|
|
} catch (Exception e) {
|
|
logger.error(e.getLocalizedMessage(), e);
|
|
SessionErrors.add(actionRequest, "error-session");
|
|
SessionMessages.add(actionRequest,
|
|
PortalUtil.getPortletId(actionRequest) + SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
return;
|
|
}
|
|
|
|
paramsInfo(actionRequest);
|
|
|
|
SessionMessages.add(actionRequest, "success-definition-deleted");
|
|
actionResponse.setRenderParameter("jspPage", "/html/systemservicedefinition/view.jsp");
|
|
|
|
/*
|
|
* SessionErrors.add(actionRequest, "error-delete-definition");
|
|
* SessionMessages.add(actionRequest, PortalUtil.getPortletId(actionRequest) +
|
|
* SessionMessages.KEY_SUFFIX_HIDE_DEFAULT_ERROR_MESSAGE);
|
|
* actionResponse.setRenderParameter("jspPage",
|
|
* "/html/systemservicedefinition/view.jsp");
|
|
*/
|
|
|
|
/*
|
|
* String portletName = (String)actionRequest.getAttribute(WebKeys.PORTLET_ID);
|
|
* ThemeDisplay themeDisplay =
|
|
* (ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
|
|
*
|
|
* PortletURL redirectURL =
|
|
* PortletURLFactoryUtil.create(PortalUtil.getHttpServletRequest(actionRequest),
|
|
* portletName,themeDisplay.getLayout().getPlid(), PortletRequest.RENDER_PHASE);
|
|
* redirectURL.setParameter("jspPage", "/registration.jsp");
|
|
* SessionErrors.add(actionRequest, "WRONG_FIRST_NAME_ERROR");
|
|
* actionResponse.sendRedirect(redirectURL.toString());
|
|
*/
|
|
|
|
}
|
|
|
|
/*
|
|
* private void createDefinition(ResourceRequest resourceRequest,
|
|
* ResourceResponse resourceResponse, UserCredentials userCredentials) throws
|
|
* IOException, PortletException {
|
|
*
|
|
* HttpServletRequest httpReq = PortalUtil
|
|
* .getOriginalServletRequest(PortalUtil.getHttpServletRequest(resourceRequest))
|
|
* ; JWTToken umaToken = null; try { umaToken = OIDCUmaUtil.getUMAToken(httpReq,
|
|
* userCredentials.getUsername(), userCredentials.getCurrentScope()); } catch
|
|
* (Exception e) { logger.error(e.getLocalizedMessage(), e); JSONObject
|
|
* jsonObject = JSONFactoryUtil.createJSONObject(); jsonObject.put("success",
|
|
* false); jsonObject.put("comment", e.getLocalizedMessage());
|
|
* resourceResponse.getWriter().println(jsonObject);
|
|
* super.serveResource(resourceRequest, resourceResponse); } String toReturn =
|
|
* umaToken.getAccessTokenString();
|
|
* resourceResponse.setContentType("application/json"); JSONObject jsonObject =
|
|
* JSONFactoryUtil.createJSONObject(); jsonObject.put("success", true);
|
|
* jsonObject.put("comment", toReturn);
|
|
* resourceResponse.getWriter().println(jsonObject);
|
|
* super.serveResource(resourceRequest, resourceResponse);
|
|
*
|
|
* }
|
|
*/
|
|
|
|
/*
|
|
* if (isValidForm(firstName, lastName)) { String portletName =
|
|
* (String)actionRequest.getAttribute(WebKeys.PORTLET_ID); ThemeDisplay
|
|
* themeDisplay =
|
|
* (ThemeDisplay)actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
|
|
*
|
|
* PortletURL redirectURL =
|
|
* PortletURLFactoryUtil.create(PortalUtil.getHttpServletRequest(actionRequest),
|
|
* portletName,themeDisplay.getLayout().getPlid(), PortletRequest.RENDER_PHASE);
|
|
* redirectURL.setParameter("jspPage", "/registration.jsp");
|
|
* SessionErrors.add(actionRequest, "WRONG_FIRST_NAME_ERROR");
|
|
* actionResponse.sendRedirect(redirectURL.toString());
|
|
*
|
|
* }else{ actionRequest.setAttribute("firstNameAtr", firstName);
|
|
* actionRequest.setAttribute("lastNameAtr", lastName);
|
|
*
|
|
* actionResponse.setRenderParameter("jspPage", "/registration.jsp"); }
|
|
*/
|
|
|
|
}
|