blob: 9ebc2b7dd18e4ebf14479069af78877a402f4dc3 [file] [log] [blame]
/* 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.portals.pluto.demo.v3;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.apache.portals.pluto.demo.v3.Constants.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import javax.inject.Inject;
import javax.portlet.ActionParameters;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.GenericPortlet;
import javax.portlet.MutableRenderParameters;
import javax.portlet.PortletException;
import javax.portlet.PortletRequestDispatcher;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.ResourceRequest;
import javax.portlet.ResourceResponse;
/**
* A portlet that allows render parameter names & values to be entered and set.
*
* @author Scott Nicklous
*/
public class LongPortlet extends GenericPortlet {
// Set up logging
private static final Logger logger = LoggerFactory.getLogger(LongPortlet.class);
private static final boolean isDebug = logger.isDebugEnabled();
private static final ArrayList<String> lines = new ArrayList<String>();
static {
lines.add("");
lines.add("");
lines.add("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus mi orci,");
lines.add("eleifend eu molestie id, tincidunt nec sem. Etiam volutpat justo id egestas");
lines.add("auctor. Morbi malesuada dictum ultricies. Mauris vestibulum diam ut eleifend");
lines.add("malesuada. Quisque ornare mi quis auctor dapibus. Praesent ut maximus nibh.");
lines.add("Donec aliquet consequat luctus.");
lines.add("");
lines.add("Vivamus et porttitor ipsum, non feugiat mi. Phasellus eu turpis iaculis,");
lines.add("scelerisque sem in, faucibus eros. Ut sed lectus id turpis egestas congue non");
lines.add("cursus lorem. Vestibulum viverra porttitor sem, eget imperdiet turpis dignissim");
lines.add("vel. Curabitur ultrices non erat a lobortis. Nam mollis laoreet diam, sit amet");
lines.add("dictum mauris bibendum in. Curabitur a risus nec purus varius consequat. Sed");
lines.add("mattis sit amet turpis in bibendum. Phasellus congue risus risus, at porta ex");
lines.add("mollis fermentum. Morbi tincidunt nulla tellus, vel eleifend ex maximus eget. In");
lines.add("eget porta sapien. Integer viverra mauris ac massa porta aliquet. Fusce nisl");
lines.add("purus, ultrices non metus non, dignissim viverra augue.");
lines.add("");
lines.add("Donec eget eros sollicitudin, semper quam vel, pulvinar nulla. Nam sed elit nec");
lines.add("lacus finibus consequat in sed tortor. Lorem ipsum dolor sit amet, consectetur");
lines.add("adipiscing elit. Suspendisse laoreet arcu a magna euismod, malesuada interdum");
lines.add("diam venenatis. Nulla bibendum viverra leo, nec aliquam mauris. In viverra");
lines.add("mauris in ipsum porta imperdiet. Morbi sapien mi, convallis sit amet tempus vel,");
lines.add("pretium ac mi. Praesent risus eros, interdum quis faucibus nec, scelerisque non");
lines.add("diam. Nam mi turpis, dignissim sed ligula a, fringilla consectetur elit.");
lines.add("");
lines.add("Integer semper eros ut lorem finibus placerat. Praesent id magna auctor, pretium");
lines.add("ex eu, suscipit diam. Nunc felis tortor, luctus a pharetra sit amet, placerat");
lines.add("nec ante. Interdum et malesuada fames ac ante ipsum primis in faucibus.");
lines.add("Curabitur urna risus, gravida in justo id, sollicitudin pulvinar felis. Lorem");
lines.add("ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec arcu semper,");
lines.add("ullamcorper libero vel, consectetur nulla. Donec at tincidunt est. Donec a");
lines.add("tempor urna, ac molestie neque. Suspendisse malesuada lacus et ligula gravida,");
lines.add("ut ullamcorper orci malesuada.");
lines.add("");
lines.add("Praesent tincidunt malesuada lectus eu lobortis. Nunc sit amet est non nibh");
lines.add("malesuada feugiat quis venenatis odio. Donec consectetur arcu eget odio");
lines.add("bibendum, a semper sem finibus. Nam ac orci sit amet libero eleifend cursus.");
lines.add("Curabitur faucibus lorem ut velit dignissim, luctus tristique mauris");
lines.add("consectetur. Nunc nec pellentesque ex, in porta lorem. Nullam sit amet justo");
lines.add("hendrerit, congue arcu eget, fringilla elit. Nunc vehicula sagittis orci, ut");
lines.add("auctor neque accumsan ac.");
lines.add("");
lines.add("Morbi porttitor sem id vestibulum tempor. Sed auctor condimentum dolor vel");
lines.add("laoreet. Suspendisse viverra dignissim lorem at tristique. Integer vel erat quis");
lines.add("diam porta tempus et consequat lectus. Mauris sagittis mattis nulla quis");
lines.add("rhoncus. Sed vel iaculis justo. Vivamus fermentum lectus et nunc congue, non");
lines.add("efficitur nisl gravida. Suspendisse bibendum nisl vel augue feugiat, et dapibus");
lines.add("sapien mollis. Praesent eleifend blandit porta. Vestibulum pulvinar libero est,");
lines.add("id lacinia ipsum facilisis at. Donec volutpat, nisi sed efficitur rhoncus, mi");
lines.add("purus bibendum nisi, et elementum elit orci aliquam sapien. Suspendisse sit amet");
lines.add("viverra sem, sed consequat magna. Nulla eget purus sed massa mollis hendrerit.");
lines.add("");
lines.add("Quisque velit ipsum, consectetur vel laoreet non, efficitur vitae metus.");
lines.add("Pellentesque enim ipsum, sagittis et gravida quis, vehicula nec elit. Aliquam");
lines.add("erat volutpat. Nulla facilisi. Vestibulum eu sem nec neque efficitur lacinia nec");
lines.add("maximus turpis. Sed iaculis libero tristique volutpat lacinia. Duis tellus");
lines.add("mauris, luctus eget semper nec, luctus vitae sem. Proin vitae odio lectus.");
lines.add("Vestibulum non felis sit amet elit porttitor fermentum at in urna. Integer sed");
lines.add("scelerisque lacus. Etiam facilisis diam non mi tempor efficitur. Ut nunc nisi,");
lines.add("porta non volutpat sed, ullamcorper a urna. Quisque sagittis blandit lacinia.");
lines.add("Suspendisse aliquam, est molestie pharetra tempor, mi justo luctus odio, non");
lines.add("efficitur turpis risus id sem.");
lines.add("");
lines.add("Nulla fringilla egestas magna vel scelerisque. Nunc at lacinia nisi. In eget");
lines.add("aliquet orci. Donec maximus tristique dignissim. Proin eu porttitor risus. Etiam");
lines.add("placerat sem justo, at lacinia risus sagittis vel. Praesent a dapibus velit.");
lines.add("Donec viverra risus eget pulvinar hendrerit.");
lines.add("");
lines.add("Aliquam sagittis consequat mi eu tincidunt. Proin lacinia hendrerit purus at");
lines.add("fringilla. Suspendisse aliquet eu turpis nec vulputate. Nunc tempor enim ut");
lines.add("facilisis fringilla. Morbi pharetra vestibulum pulvinar. Duis quis ex quis");
lines.add("ligula elementum molestie non a odio. Aenean gravida neque eu tincidunt commodo.");
lines.add("Donec purus nisi, auctor et elit non, venenatis gravida ex. Praesent sodales");
lines.add("fermentum nunc. Mauris feugiat et tellus id tempor.");
lines.add("");
lines.add("Ut finibus nisl et vestibulum efficitur. Curabitur ultrices lorem tellus, sed");
lines.add("tristique nulla feugiat eget. Donec vulputate mollis ligula id commodo. Donec");
lines.add("tempor, nulla vitae pellentesque hendrerit, sapien dui imperdiet lacus, vel");
lines.add("blandit lorem erat ac urna. Pellentesque volutpat pulvinar commodo. Sed");
lines.add("malesuada consequat dolor, id feugiat elit consequat dictum. Aenean est massa,");
lines.add("blandit consectetur arcu a, placerat volutpat tortor. Quisque semper scelerisque");
lines.add("vestibulum. Proin mattis malesuada viverra.");
}
@Override
public void init() throws PortletException {
super.init();
}
protected void doView(RenderRequest req, RenderResponse resp)
throws PortletException, IOException {
resp.setContentType("text/html");
req.setAttribute(ATTRIB_LONGLINES, lines);
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(
"/WEB-INF/jsp/view-long.jsp");
rd.include(req, resp);
}
/* (non-Javadoc)
* @see javax.portlet.GenericPortlet#serveResource(javax.portlet.ResourceRequest, javax.portlet.ResourceResponse)
*/
@Override
public void serveResource(ResourceRequest req, ResourceResponse resp)
throws PortletException, IOException {
}
@Inject private ActionParameters ap;
@Inject private MutableRenderParameters mrp;
public void processAction(ActionRequest req, ActionResponse resp)
throws PortletException, IOException {
// validate parameters
String frag = ap.getValue(PARAM_FRAG);
String ln = ap.getValue(PARAM_LINE);
if (frag != null && frag.matches("^\\w+$") && ln != null && ln.matches("^\\d+$")) {
mrp.set(ap);
}
if (isDebug) {
StringBuffer sb = new StringBuffer();
sb.append("Long portlet action parameters:");
for (String k : ap.getNames()) {
sb.append("\nName: ").append(k);
sb.append(", Values: ").append(Arrays.toString(ap.getValues(k)));
}
logger.debug(sb.toString());
}
}
}