1 9 package org.jboss.portal.core.portlet.test; 10 11 import java.io.IOException ; 12 import java.io.PrintWriter ; 13 import java.util.Enumeration ; 14 import java.util.Set ; 15 import java.util.HashSet ; 16 import java.util.Iterator ; 17 18 import javax.portlet.PortalContext; 19 import javax.portlet.PortletException; 20 import javax.portlet.PortletSecurityException; 21 import javax.portlet.PortletURL; 22 23 import org.jboss.portal.core.CoreConstants; 24 import org.jboss.portal.core.model.User; 25 import org.jboss.portlet.JBossActionRequest; 26 import org.jboss.portlet.JBossActionResponse; 27 import org.jboss.portlet.JBossPortlet; 28 import org.jboss.portlet.JBossRenderRequest; 29 import org.jboss.portlet.JBossRenderResponse; 30 31 35 public class TestPortlet extends JBossPortlet 36 { 37 38 public void main(JBossActionRequest req, JBossActionResponse resp) 39 { 40 if (req.getParameter("authenticate") != null) 41 { 42 resp.sendAuthenticate(); 43 } 44 } 45 46 public void addrole(JBossActionRequest req, JBossActionResponse resp) 47 { 48 String role = req.getParameter("role"); 49 Set roles = (Set )req.getPortletSession().getAttribute("roles"); 50 if (roles == null) 51 { 52 roles = new HashSet (); 53 req.getPortletSession().setAttribute("roles", roles); 54 } 55 roles.add(role); 56 } 57 58 public void testaction(JBossActionRequest req, JBossActionResponse resp) 59 { 60 resp.setRenderParameter("name", "value"); 61 } 62 63 protected void doView(JBossRenderRequest req, JBossRenderResponse resp) throws PortletException, PortletSecurityException, IOException 64 { 65 PortletURL authenticateURL = resp.createActionURL(); 66 authenticateURL.setParameter("authenticate", "true"); 67 68 resp.setContentType("text/html"); 69 PrintWriter writer = resp.getWriter(); 70 71 User user = req.getUser(); 73 if (user != null) 74 { 75 writer.write("<p>"); 76 writer.write("<div class=\"portlet-section-header\">User infos</div>"); 77 writer.write("<div class=\"portlet-section-body\">"); 78 writer.write("<div>Last visit date : " + user.getLastVisitDate() + "</div>"); 79 writer.write("</div>"); 80 writer.write("</p>"); 81 } 82 83 writer.write("<p>"); 85 writer.write("<div class=\"portlet-section-header\">Portlet security infos</div>"); 86 writer.write("<div class=\"portlet-section-body\">"); 87 writer.write("<div>RemoteUser : " + req.getRemoteUser() + "</div>"); 88 writer.write("<div>Principal : " + req.getUserPrincipal() + "</div>"); 89 writer.write("</div>"); 90 writer.write("</p>"); 91 92 writer.write("<p>"); 94 writer.write("<div class=\"portlet-section-header\">Portlet security role test</div>"); 95 Set roles = (Set )req.getPortletSession().getAttribute("roles"); 96 if (roles != null) 97 { 98 writer.write("<div class=\"portlet-section-body\">"); 99 for (Iterator i = roles.iterator(); i.hasNext();) 100 { 101 String role = (String )i.next(); 102 writer.write("<div>" + role + " " + req.isUserInRole(role) + "</div>"); 103 } 104 writer.write("</div>"); 105 } 106 PortletURL roleURL = resp.createActionURL(); 107 roleURL.setParameter("op", "addrole"); 108 writer.write("<div>" + 109 "<form action=\""+ roleURL + "\" method=\"post\">" + 110 "<input class=\"portlet-form-input-field\" type=\"text\" name=\"role\" value=\"\"/>" + 111 "<input class=\"portlet-form-button\" type=\"submit\" value=\"add role\"/>" + 112 "</form>" + 113 "</div>"); 114 writer.write("</p>"); 115 116 writer.write("<p>"); 118 writer.write("<div class=\"portlet-section-header\">Authorization infos</div>"); 119 writer.write("<div class=\"portlet-section-body\">"); 120 writer.write("<div>has global permission 1 " + req.hasPermission("Perm1") + "</div>"); 121 writer.write("<div>has global permission 2 " + req.hasPermission("Perm2") + "</div>"); 122 writer.write("</div>"); 123 writer.write("</p>"); 124 125 writer.write("<p>"); 127 writer.write("<div class=\"portlet-section-header\">Capabilities</div>"); 128 writer.write("<div class=\"portlet-section-body\">"); 129 writer.write("<div>Content type " + req.getResponseContentType() + "</div>"); 130 writer.write("<div>Preferred markup " + req.getProperty(CoreConstants.REQ_PROP_PREFERRED_MARKUP) + "</div>"); 131 writer.write("</div>"); 132 writer.write("</p>"); 133 134 PortletURL url = resp.createRenderURL(); 136 url.setSecure(false); 137 String httpURL = url.toString(); 138 url.setSecure(true); 139 String httpsURL = url.toString(); 140 writer.write("<p>"); 141 writer.write("<div class=\"portlet-section-header\">Secure</div>"); 142 writer.write("<div class=\"portlet-section-body\">"); 143 writer.write("<div><a HREF=\"" + httpURL + "\">http</a></div>"); 144 writer.write("<div><a HREF=\"" + httpsURL + "\">https</a></div>"); 145 writer.write("</div>"); 146 writer.write("</p>"); 147 148 writer.write("<p>"); 149 writer.write("<div class=\"portlet-section-header\">Path</div>"); 150 writer.write("<div class=\"portlet-section-body\">"); 151 writer.write("<div>portal path info = " + req.getAttribute("PATH") + "</div>"); 152 writer.write("<div>portal path info = " + req.getParameter("PATH") + "</div>"); 153 writer.write("</div>"); 154 writer.write("</p>"); 155 156 writer.write("<p>"); 158 writer.write("<div class=\"portlet-section-header\">Portal infos</div>"); 159 writer.write("<div class=\"portlet-section-body\">"); 160 PortalContext portalCtx = req.getPortalContext(); 161 writer.write("<div>version : " + portalCtx.getPortalInfo() + "</div>"); 162 for (Enumeration e = portalCtx.getPropertyNames();e.hasMoreElements();) 163 { 164 String propertyName = (String )e.nextElement(); 165 String propertyValue = portalCtx.getProperty(propertyName); 166 writer.write("<div>" + propertyName + " : " + propertyValue + "</div>"); 167 } 168 writer.write("</div>"); 169 writer.write("</p>"); 170 171 writer.write("<p>"); 173 writer.write("<div class=\"portlet-section-header\">Request attributes</div>"); 174 writer.write("<div class=\"portlet-section-body\">"); 175 for (Enumeration e = req.getAttributeNames();e.hasMoreElements();) 176 { 177 String name = (String )e.nextElement(); 178 Object value = req.getAttribute(name); 179 writer.write("<div>" + name + " : " + value + "</div>"); 180 } 181 writer.write("</div>"); 182 writer.write("</p>"); 183 184 PortletURL actionURL = resp.createActionURL(); 186 actionURL.setParameter("op", "testaction"); 187 writer.write("<p>"); 188 writer.write("<div class=\"portlet-section-header\">Test action</div>"); 189 writer.write("<div class=\"portlet-section-body\">"); 190 writer.write("<div><a HREF=\"" + actionURL + "\">action</a></div>"); 191 writer.write("</div>"); 192 writer.write("</p>"); 193 194 writer.close(); 196 } 197 } 198 | Popular Tags |