portletunit-users Mailing List for portletUnit
Status: Alpha
Brought to you by:
m0smith
You can subscribe to this list here.
2005 |
Jan
(1) |
Feb
(3) |
Mar
(2) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2010 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Matthew O. S. <m0...@gm...> - 2010-04-28 17:08:59
|
mvn -DarchetypeCatalog=http://oss.repository.sonatype.org/content/repositories/releases archetype:generate The portletunit archetype has been added to the main sonatype catalog. There should be some more updates soon. -- Posted By Matthew O. Smith to Project portletUnit at 4/28/2010 09:43:00 AM |
From: Singh S. <Sud...@ax...> - 2010-04-21 14:58:51
|
Hi, I am trying to write a sample JSR-168 compliant portlet and test it but am unable to get it working. If anyone has a working sample, please could you send it to me. I am trying the one given in http://www.ibm.com/developerworks/web/library/wa-portletunit/index.html?ca=drs- And I get the exception java.rmi.RemoteException: Failed to initialize InvocationContext; nested exception is: javax.servlet.ServletException at com.meterware.servletunit.PortletUnitClient.getResponse(PortletUnitClient.java:160) at net.sf.portletunit.PortletRunner.getResponse(PortletRunner.java:227) at net.sf.portletunit.PortletRunner.getResponse(PortletRunner.java:187) at com.ibm.portletunit.bookmarktest.test.BookmarkExampletest.testdoViewOfGenericBookmarkWithPortletUnit(BookmarkExampletest.java:33) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) Caused by: javax.servlet.ServletException at net.sf.portletunit.servlet.PortletUnitPortletServlet.dispatch(PortletUnitPortletServlet.java:252) at net.sf.portletunit.servlet.PortletUnitPortletServlet.doPost(PortletUnitPortletServlet.java:155) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at net.sf.portletunit.servlet.PortletUnitPortletServlet.service(PortletUnitPortletServlet.java:145) at com.meterware.servletunit.PortletUnitInvocationContextImpl.service(PortletUnitInvocationContextImpl.java:88) at com.meterware.servletunit.PortletUnitClient.initializeInvocationContext(PortletUnitClient.java:689) at com.meterware.servletunit.PortletUnitClient.getResponse(PortletUnitClient.java:154) ... 21 more Sudheendra N Singh, NAC Portal Developer, AXA Centre, AXA UK, Bristol ________________________________ The AXA Winterthur Wealth Management proposition is offered by companies within the AXA UK group of companies. AXA Sun Life Services plc distributes financial products and services for these companies and is issuing this item on their behalf. Details of the companies offering specific products are contained within the related material. AXA Sun Life Services plc is authorised and regulated by the Financial Services Authority and is a company limited by shares, registered in England No. 3424940, registered office: 5 Old Broad Street, London, EC2N 1AD. As part of our commitment to quality service, telephone calls will be recorded |
From: Matthew O. S. <m0...@gm...> - 2010-02-27 19:09:35
|
If you get the following, the problem is the maven repository on java.net has a corrupted cglib. Downloading: https://maven-repository.dev.java.net/nonav/repository/cglib/jars/cglib-full-2.0.2.jar 352b downloaded (cglib-full-2.0.2.jar) [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = 'bf6c0a94ff26337817cc7e276e0176ceedade91f'; remote = ' To get around this, add the following to your settings.xml. It will exclude the java.net repositories that are directly referenced in the castor pom. <profiles> <profile> <id>excludejava</id> <repositories> <repository> <id>java.net</id> <url>https://maven-repository.dev.java.net/nonav/repository</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <repository> <id>maven2-repository.dev.java.net</id> <url>https://maven2-repository.dev.java.net/nonav/repository</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> </profile> </profiles> <activeProfiles> <activeProfile>excludejava</activeProfile> </activeProfiles> See log4j 1.2.15 points to nonfuctional maven-repository.dev.java.net packages breaking whole build for more info. Hopefully someone can clean up the java.net repositories. -- Posted By Matthew O. Smith to Project portletUnit at 2/27/2010 10:30:00 AM |
From: Matthew O. S. <m0...@gm...> - 2010-02-24 16:31:46
|
The portletUnit project is being rewritten to make it simpler to maintain and to use. Creating a simple portlet applicationAdd a repository to the settings.xml: portletunit PortletUnit Repository http://portletunit.sf.net/maven2 daily never Then run the create: mvn archetype:generate -DarchetypeCatalog=http://portletunit.sf.net/maven2/archetype-catalog.xml If you have firewall issues, copy that xml to ~/.m2/archetype-catalog.xml and run mvn archetype:generate -DarchetypeCatalog=local -- Posted By Matthew O. Smith to Project portletUnit at 2/24/2010 08:25:00 AM |
From: Matthew O. S. <m0...@gm...> - 2010-01-28 21:26:24
|
[http://developers.sun.com/portalserver/reference/techart/jsr286/jsr286.html?feed=DSC] Understanding the Java Portlet Specification 2.0 (JSR 286) -- Posted By Matthew O. Smith to Project portletUnit at 1/28/2010 01:20:00 PM |
From: rash t <ras...@gm...> - 2008-10-22 17:22:44
|
Hello Can I use portletunit to unit test portlets deployed in Jboss container? or does it have a hard dependency on pluto? -Rashmi |
From: Matthew O. S. <m0...@gm...> - 2008-05-15 17:37:12
|
[http://portletwork.blogspot.com/2007/08/testing-portlets-with-jetty-pluto-and.html] PortletWork: Testing Portlets with Jetty, Pluto and JWebUnit: "After my last two entries, I've gotten some questions about using pluto embedded in jetty to create automated integration tests for JSR 168 portlets. Using the maven-jetty-plugin for running the portlets is great for fast, iterative development. But it can't be used to run automated integration tests. Remembering an excellent article from Johannes Brodwall's blog about integration testing with Jetty and JWebUnit, I wanted to extend his approach to use the embedded jetty-pluto setup I have created. This turned out to be to be quite easy." -- Posted By Matthew O. Smith to Project portletUnit at 5/15/2008 10:36:00 AM |
From: Matthew O. S. <m0...@gm...> - 2008-05-01 16:55:20
|
[http://www.centerkey.com/java/browser/] One drawback of portletUnit is not being able to really see the rendered code. Using the ideas of the Bare Bones Browser Launch for Java, I am now able to display the rendered code.Bare Bones Browser Launch for Java • • • Use Default Browser to Open a Web Page from a Swing Application: "Java is often touted as the programing language of the Internet, so you would think Java might include a standard platform-independent mechanism to launch the user's default web browser. Unfortunately, this commonly needed feature is left to the application developer to build, and it's not particularly easy."The code I am using is:/** * Show the response in a browser. * * @param response * the response * @param class1 * not used but the intent is to add a system propery regex that * will control whether this page is loaded or not. Default will be none. * @param id * another regex system property will match against this. Default will be all. * @throws Exception * on error */ public static void showResponseInBrowser(WebResponse response, Class class1, String id) throws Exception { String text = response.getText(); File f = File.createTempFile("httpUnit", ".html"); f.deleteOnExit(); PrintWriter fod = new PrintWriter(new FileOutputStream(f)); fod.print("<head><base href="'http://localhost'/"> </head>"); fod.print(text); fod.close(); URL url = f.toURL(); openURL(url); } /** * Bare Bones Browser Launch Version 1.5 (December 10, 2005) By Dem * Pilafian. Supports: Mac OS X, GNU/Linux, Unix, Windows XP * * Example Usage: String url = "http://www.centerkey.com/"; * BareBonesBrowserLaunch.openURL(url); Public Domain Software -- Free to * Use as You Like * * @param url * the url to open * @throws ClassNotFoundException * getting class * @throws NoSuchMethodException * yes * @throws SecurityException * well * @throws InvocationTargetException * trying to invloke * @throws IllegalAccessException * trying to access * @throws IllegalArgumentException * bad arguement * @throws IOException * opening window * @throws InterruptedException waiting */ public static void openURL(URL url) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, IOException, InterruptedException { String osName = System.getProperty("os.name"); if (osName.startsWith("Mac OS")) { Class fileMgr = Class.forName("com.apple.eio.FileManager"); Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] {String.class }); openURL.invoke(null, new Object[] {url.toString() }); } else if (osName.startsWith("Windows")) { String cmdLine = "rundll32 url.dll,FileProtocolHandler " + url.toString(); Process exec = Runtime.getRuntime().exec(cmdLine); exec.waitFor(); } else { // assume Unix or Linux String[] browsers = {"firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" }; String browser = null; for (int count = 0; count < browsers.length && browser == null; count++) { if (Runtime.getRuntime().exec(new String[] {"which", browsers[count] }).waitFor() == 0) { browser = browsers[count]; } } if (browser == null) { throw new IllegalStateException("Could not find web browser"); } else { Runtime.getRuntime().exec(new String[] {browser, url.toString() }); } } }I am creating a <base> for all the links so the images and CSS all get included as needed. -- Posted By Matthew O. Smith to Project portletUnit at 5/01/2008 09:55:00 AM |
From: deepu m. <mar...@ya...> - 2007-09-25 04:27:30
|
Hi, I recently configured Portletunit on my Eclipse.The Sample Portlet provided with portletunit works great,However when i try running portletunit on basic portlet JSR168 created on RAD.Its throwing a classnot found exception.Can someone let me know if i am missing something . Here is the stacktrace java.lang.ClassNotFoundException: com.sun.portal.rssportlet.RssPortlet at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:164) at net.sf.portletunit.service.PortletUnitPortletDefinitionRegistryServiceImpl.fill(PortletUnitPortletDefinitionRegistryServiceImpl.java:202) at net.sf.portletunit.service.PortletUnitPortletDefinitionRegistryServiceImpl.init(PortletUnitPortletDefinitionRegistryServiceImpl.java:102) at org.apache.pluto.portalImpl.services.ServiceManager.init(ServiceManager.java:213) at net.sf.portletunit.servlet.PortletUnitServlet.init(PortletUnitServlet.java:91) at com.meterware.servletunit.WebApplication$ServletConfiguration.getServlet(WebApplication.java:587) at com.meterware.servletunit.WebApplication$ServletRequestImpl.getServlet(WebApplication.java:775) at com.meterware.servletunit.InvocationContextImpl$ExecutionContext.getServlet(InvocationContextImpl.java:251) at com.meterware.servletunit.InvocationContextImpl.getServlet(InvocationContextImpl.java:89) at net.sf.portletunit.PortletRunner.initializePluto(PortletRunner.java:258) at net.sf.portletunit.PortletRunner.<init>(PortletRunner.java:91) at net.sf.portletunit.PortletRunner.createPortletRunner(PortletRunner.java:125) at com.cts.portunit.Portletunit.testHelloWorld(Portletunit.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:999) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:423) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:598) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:235) java.lang.NullPointerException at org.apache.pluto.portalImpl.services.portletdefinitionregistry.PortletDefinitionRegistry.getPortletApplicationDefinitionList(PortletDefinitionRegistry.java:47) at net.sf.portletunit.service.PortletEntityRegistryServiceDynamicImpl.init(PortletEntityRegistryServiceDynamicImpl.java:42) at org.apache.pluto.portalImpl.services.ServiceManager.init(ServiceManager.java:213) at net.sf.portletunit.servlet.PortletUnitServlet.init(PortletUnitServlet.java:91) at com.meterware.servletunit.WebApplication$ServletConfiguration.getServlet(WebApplication.java:587) at com.meterware.servletunit.WebApplication$ServletRequestImpl.getServlet(WebApplication.java:775) at com.meterware.servletunit.InvocationContextImpl$ExecutionContext.getServlet(InvocationContextImpl.java:251) at com.meterware.servletunit.InvocationContextImpl.getServlet(InvocationContextImpl.java:89) at net.sf.portletunit.PortletRunner.initializePluto(PortletRunner.java:258) at net.sf.portletunit.PortletRunner.<init>(PortletRunner.java:91) at net.sf.portletunit.PortletRunner.createPortletRunner(PortletRunner.java:125) at com.cts.portunit.Portletunit.testHelloWorld(Portletunit.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:999) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:423) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:598) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:235) java.lang.Exception: ServiceManager: Services initialized (4/6 successful). at org.apache.pluto.portalImpl.services.ServiceManager.init(ServiceManager.java:263) at net.sf.portletunit.servlet.PortletUnitServlet.init(PortletUnitServlet.java:91) at com.meterware.servletunit.WebApplication$ServletConfiguration.getServlet(WebApplication.java:587) at com.meterware.servletunit.WebApplication$ServletRequestImpl.getServlet(WebApplication.java:775) at com.meterware.servletunit.InvocationContextImpl$ExecutionContext.getServlet(InvocationContextImpl.java:251) at com.meterware.servletunit.InvocationContextImpl.getServlet(InvocationContextImpl.java:89) at net.sf.portletunit.PortletRunner.initializePluto(PortletRunner.java:258) at net.sf.portletunit.PortletRunner.<init>(PortletRunner.java:91) at net.sf.portletunit.PortletRunner.createPortletRunner(PortletRunner.java:125) at com.cts.portunit.Portletunit.testHelloWorld(Portletunit.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at junit.framework.TestCase.runTest(TestCase.java:154) at junit.framework.TestCase.runBare(TestCase.java:127) at junit.framework.TestResult$1.protect(TestResult.java:106) at junit.framework.TestResult.runProtected(TestResult.java:124) at junit.framework.TestResult.run(TestResult.java:109) at junit.framework.TestCase.run(TestCase.java:118) at junit.framework.TestSuite.runTest(TestSuite.java:208) at junit.framework.TestSuite.run(TestSuite.java:203) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:999) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:423) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:598) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:235) Regards, Deepak Always be nice to people on the way up; because you'll meet the same people on the way down. - Wilson Mizner Meet people who discuss and share your passions. Go to http://in.promos.yahoo.com/groups |
From: m0smith <m0...@gm...> - 2007-04-26 15:41:09
|
Using PorltetRunner =============== PortletRunner allows you to test your portlets much the same way ServletUnit allows you to test servlets. The process is: 1 - Get a PortletRunner object 2 - call runner.getResponse() Getting the PorltetRunner object: PortletRunner runner = PortletRunner.createPortletRunner( portletClass, dir, name); portletClass - The class of the portlet. This class must implement Portlet or extend GenericPortlet dir - The directory that contains the WEB-INF dir. In Eclipse it might be WebRoot name - The name of the portlet in the portlet.xml Calling runner.getResponse When you call runner.getResponse, you will get a WebResponse object. This object has methods to check the html, click buttons and submit forms. -- I am, truly and sincerely, your friend and well-wisher, m0smith http://www.ferociousflirting.com |
From: m0smith <m0...@gm...> - 2007-04-26 15:18:34
|
Testing Render Request; doView, doEdit, doHelp and render methods ============================================= There is a class, RenderTestHarness, that will allow you to test your render, doView, doEdit and doHelp methods, as long as they do not use the PortletRequestDispatcher. That is, you cannot include a jsp file when using RenderTestHarness. If you want to include a JSP, use PortletRunner instead. Example testing a ConstantPortlet. The test dumps the output from the portlet. public void testDoView() throws Exception{ Portlet portlet = new ConstantPortlet(); RenderTestHarness harness = new RenderTestHarness(portlet); harness.runDoView(); System.out.println(harness.getOutput()); } There is a ProcessActionTestHarness that works in a similar way. -- I am, truly and sincerely, your friend and well-wisher, m0smith http://www.ferociousflirting.com |
From: m0smith <m0...@gm...> - 2007-04-26 14:47:36
|
Installing portletUnit in Eclipse 1 - Download the latest zip(0.2.5 as of April 27, 2007). 2 - Extract all the files from the zip into some directory 3 - Add all the jars in the lib and the jars directories into the Build Path Eclipse should now be able to see portletUnit. -- I am, truly and sincerely, your friend and well-wisher, m0smith http://www.ferociousflirting.com |
From: Matt <m0...@gm...> - 2006-04-26 21:44:09
|
<html><head><base href="http://m0smith.freeshell.org/blog-portletunit/blogger.html"></head><body bgcolor="white" text="black"> I will be attending JavaOne 2006 in San Francisco this year. It would be a great opportunity to meet some of you who find portletUnit useful and hear what would make it better, besides actually documenting it. <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://m0smith.freeshell.org/blog-portletunit/2006/04/javaone-2006.html">Project portletUnit</a> at 4/26/2006 02:44:00 PM</font></body></html> |
From: Matt <m0...@gm...> - 2005-12-20 22:12:39
|
<html><head><base href="http://m0smith.freeshell.org/blog-portletunit/blogger.html"></head><body bgcolor="white" text="black"> A user portletUnit has some initial problems getting it running. After some struggle, here is what they learned:<br /><br /><blockquote>ah, figured it out! at least your example portlets tests are running :-)<br /><br />what I had to change:<br />- I use a different castor.jar in my classpath (changed it to the one that comes with your code)<br />- add the example classes to my classpath (my fault, thought it would be by default when i define the folder WEB-INF)<br />- add ant.jar to my classpath</blockquote> <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://m0smith.freeshell.org/blog-portletunit/2005/12/user-feedback.html">Project portletUnit</a> at 12/20/2005 02:10:00 PM</font></body></html> |
From: Matt <m0...@gm...> - 2005-10-10 20:50:14
|
<html><head><base href="http://m0smith.freeshell.org/blog-portletunit/blogger.html"></head><body bgcolor="white" text="black"> portletunit-0.2.4 will have the following issue addressed:<br /><br />[1322780 ] Allow request attributes to be set <br /><blockquote>Create a method on PortletRunner called setRequestAttribute(String, Object) that will set an attribute on the HttpServletRequest generated by portletUnitClient.initializeInvocationContext. Follow the same pattern as portletRunner.setSessionAttribute.<br /></blockquote> <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://m0smith.freeshell.org/blog-portletunit/2005/10/setting-request-attributes.html">Project portletUnit</a> at 10/10/2005 01:44:00 PM</font></body></html> |
From: Matt <m0...@gm...> - 2005-04-15 14:37:31
|
<html><head><base href="http://m0smith.freeshell.org/blog-portletunit/blogger.html"></head><body bgcolor="white" text="black"> Today we ran into a problem of case-sensitivity. We develop on Windows and the portlet ran and passed our tests. But when it was deployed to a Solaris box, it failed because there was a lower-case S where there should have been an upper-case S in the portlet-class tag in the portlet.xml.<br /><br />Frankly, I don't see a way to check this. Something to keep in mind. <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://m0smith.freeshell.org/blog-portletunit/2005/04/case-sensitivity.html">Project portletUnit</a> at 4/15/2005 07:34:00 AM</font></body></html> |
From: Matt <m0...@gm...> - 2005-04-15 14:30:25
|
<html><head><base href="http://m0smith.freeshell.org/blog-portletunit/blogger.html"></head><body bgcolor="white" text="black"> Once you have developed a portlet, it then needs to be packaged into a WAR file. A problem I keep having is that once it is in the WAR file, there is no way to validate that the WAR file has all the files it really needs. To that end, I have entered a new <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=1183779&group_id=125370&atid=702237">feature request</a> to be able to point a PortletRunner at a WAR file and re-run the tests. <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://m0smith.freeshell.org/blog-portletunit/2005/04/validating-war-file.html">Project portletUnit</a> at 4/15/2005 07:24:00 AM</font></body></html> |
From: Matt <m0...@gm...> - 2005-04-13 16:13:59
|
<html><head><base href="http://m0smith.freeshell.org/blog-portletunit/blogger.html"></head><body bgcolor="white" text="black"> There is a new release that supports EDIT mode.<br /><br />Also, the documentation is now on-line at:<br /><a href="http://m0smith.freeshell.org/portletunit/docs/index.php">http://m0smith.freeshell.org/portletunit/docs/index.php</a> <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://m0smith.freeshell.org/blog-portletunit/2005/04/portletunit-023-released.html">Project portletUnit</a> at 4/13/2005 09:11:00 AM</font></body></html> |
From: Matt <m0...@gm...> - 2005-04-12 20:41:30
|
<html><head><base href="http://m0smith.freeshell.org/blog-portletunit/blogger.html"></head><body bgcolor="white" text="black"> portletUnit now supports EDIT mode. <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://m0smith.freeshell.org/blog-portletunit/2005/04/edit-mode.html">Project portletUnit</a> at 4/12/2005 01:39:00 PM</font></body></html> |
From: Matt <m0...@gm...> - 2005-03-24 03:10:24
|
<html><head><base href="http://portletunit.sf.net/blog/blogger.html"></head><body bgcolor="white" text="black"> The portletunit-src.tar is corrupt. I will put a new one up in the next few days. In the meantime, checkout the source from CVS using the instructions on:<br />http://sourceforge.net/cvs/?group_id=125370 <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://portletunit.sf.net/blog/2005/03/portletunit-012-release-file-corrupt.html">Project portletUnit</a> at 3/23/2005 07:09:00 PM</font></body></html> |
From: Matt <m0...@gm...> - 2005-03-17 04:33:33
|
<html><head><base href="http://portletunit.sf.net/blog/blogger.html"></head><body bgcolor="white" text="black"> I submitted the <a href="https://sourceforge.net/docman/display_doc.php?docid=27484&group_id=125370">README</a> to the SourceForge project. The README includes a quick start on how to download, configure and use portletUnit. <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://portletunit.sf.net/blog/2005/03/readme-now-available.html">Project portletUnit</a> at 3/16/2005 08:31:00 PM</font></body></html> |
From: Matt <m0...@gm...> - 2005-02-23 05:14:58
|
<html><head><base href=3D"http://portletunit.sf.net/blog/blogger.html"></he= ad><body bgcolor=3D"white" text=3D"black">=20 A fragment is defined in portletregistry.xml as<br /><pre><br /><fragmen= t name=3D"welcome" type=3D"page"><br /> <navigation><br /> <title= >PHC Welcome Portlet</title><br /> <description>Welcome to PHC<= /description><br /> </navigation><br /><br /> <fragment name=3D"row= 3" type=3D"row"><br /> <fragment name=3D"col3" type=3D"column"><br />= <fragment name=3D"p4" type=3D"portlet"><br /> <property = name=3D"portlet" value=3D"5.1"/><br /> </fragment><br /> </fr= agment><br /> </fragment><br /></fragment><br /></pre><br />The foll= owing fragements get added to PageResistry:<pre><br /> welcome=3Dorg.apache= .pluto.portalImpl.aggregation.PageFragment@1f10a67<br /> welcome_row3=3Dorg= .apache.pluto.portalImpl.aggregation.RowFragment@1e2161d<br /> welcome_row3= _col3=3Dorg.apache.pluto.portalImpl.aggregation.ColumnFragment@1f2af1c<br /= > welcome_row3_col3_p4=3Dorg.apache.pluto.portalImpl.aggregation.PortletFra= gment@1a3e41f<br /></pre><br />And this is what the debugger sees:<pre><br = /> dump fragments.get("welcome");<br /> fragments.get("welcome"); =3D {<br= /> org.apache.pluto.portalImpl.aggregation.AbstractFragmentContainer.ch= ildren: instance of java.util.ArrayList(id=3D1449)<br /> org.apache.plut= o.portalImpl.aggregation.AbstractFragment.BASE_ROOT: "/WEB-INF/aggregation/= "<br /> org.apache.pluto.portalImpl.aggregation.AbstractFragment.id: "we= lcome"<br /> org.apache.pluto.portalImpl.aggregation.AbstractFragment.co= nfig: instance of com.meterware.servletunit.ServletUnitServletConfig(id=3D1= 452)<br /> org.apache.pluto.portalImpl.aggregation.AbstractFragment.pare= nt: instance of org.apache.pluto.portalImpl.aggregation.RootFragment(id=3D1= 453)<br /> org.apache.pluto.portalImpl.aggregation.AbstractFragment.frag= Desc: instance of org.apache.pluto.portalImpl.om.page.impl.FragmentImpl(id= =3D1454)<br /> org.apache.pluto.portalImpl.aggregation.AbstractFragment.= initParameters: instance of org.apache.pluto.portalImpl.util.Parameters(id= =3D1455)<br /> org.apache.pluto.portalImpl.aggregation.AbstractFragment.= navigation: instance of org.apache.pluto.portalImpl.aggregation.navigation.= Navigation(id=3D1456)<br />}<br />main[1] dump fragments.get("welcome_row3"= );<br /> fragments.get("welcome_row3"); =3D {<br /> org.apache.pluto.por= talImpl.aggregation.AbstractFragmentContainer.children: instance of java.ut= il.ArrayList(id=3D1459)<br /> org.apache.pluto.portalImpl.aggregation.Ab= stractFragment.BASE_ROOT: "/WEB-INF/aggregation/"<br /> org.apache.pluto= .portalImpl.aggregation.AbstractFragment.id: "welcome_row3"<br /> org.ap= ache.pluto.portalImpl.aggregation.AbstractFragment.config: instance of com.= meterware.servletunit.ServletUnitServletConfig(id=3D1452)<br /> org.apac= he.pluto.portalImpl.aggregation.AbstractFragment.parent: instance of org.ap= ache.pluto.portalImpl.aggregation.PageFragment(id=3D1446)<br /> org.apac= he.pluto.portalImpl.aggregation.AbstractFragment.fragDesc: instance of org.= apache.pluto.portalImpl.om.page.impl.FragmentImpl(id=3D1461)<br /> org.a= pache.pluto.portalImpl.aggregation.AbstractFragment.initParameters: instanc= e of org.apache.pluto.portalImpl.util.Parameters(id=3D1462)<br /> org.ap= ache.pluto.portalImpl.aggregation.AbstractFragment.navigation: instance of = org.apache.pluto.portalImpl.aggregation.navigation.Navigation(id=3D1456)<br= />}<br />main[1] dump fragments.get("welcome_row3_col3");<br /> fragments.= get("welcome_row3_col3"); =3D {<br /> org.apache.pluto.portalImpl.aggreg= ation.AbstractFragmentContainer.children: instance of java.util.ArrayList(i= d=3D1465)<br /> org.apache.pluto.portalImpl.aggregation.AbstractFragment= .BASE_ROOT: "/WEB-INF/aggregation/"<br /> org.apache.pluto.portalImpl.ag= gregation.AbstractFragment.id: "welcome_row3_col3"<br /> org.apache.plut= o.portalImpl.aggregation.AbstractFragment.config: instance of com.meterware= .servletunit.ServletUnitServletConfig(id=3D1452)<br /> org.apache.pluto.= portalImpl.aggregation.AbstractFragment.parent: instance of org.apache.plut= o.portalImpl.aggregation.RowFragment(id=3D1458)<br /> org.apache.pluto.p= ortalImpl.aggregation.AbstractFragment.fragDesc: instance of org.apache.plu= to.portalImpl.om.page.impl.FragmentImpl(id=3D1467)<br /> org.apache.plut= o.portalImpl.aggregation.AbstractFragment.initParameters: instance of org.a= pache.pluto.portalImpl.util.Parameters(id=3D1468)<br /> org.apache.pluto= .portalImpl.aggregation.AbstractFragment.navigation: instance of org.apache= .pluto.portalImpl.aggregation.navigation.Navigation(id=3D1456)<br />}<br />= main[1] dump fragments.get("welcome_row3_col3_p4");<br /> fragments.get("we= lcome_row3_col3_p4"); =3D {<br /> portletWindow: instance of org.apache.= pluto.portalImpl.om.window.impl.PortletWindowImpl(id=3D1471)<br /> log: = instance of org.apache.pluto.portalImpl.services.log.LoggerImpl(id=3D1472)<= br /> PORTLET_ERROR_MSG: "Error occurred in portlet!"<br /> class$org= $apache$pluto$portalImpl$aggregation$PortletFragment$PortletWindowStateInfo= : null<br /> class$org$apache$pluto$portalImpl$aggregation$PortletFragme= nt$PortletModeInfo: null<br /> org.apache.pluto.portalImpl.aggregation.A= bstractFragment.BASE_ROOT: "/WEB-INF/aggregation/"<br /> org.apache.plut= o.portalImpl.aggregation.AbstractFragment.id: "welcome_row3_col3_p4"<br /> = org.apache.pluto.portalImpl.aggregation.AbstractFragment.config: instanc= e of com.meterware.servletunit.ServletUnitServletConfig(id=3D1452)<br /> = org.apache.pluto.portalImpl.aggregation.AbstractFragment.parent: instance = of org.apache.pluto.portalImpl.aggregation.ColumnFragment(id=3D1464)<br /> = org.apache.pluto.portalImpl.aggregation.AbstractFragment.fragDesc: insta= nce of org.apache.pluto.portalImpl.om.page.impl.FragmentImpl(id=3D1475)<br = /> org.apache.pluto.portalImpl.aggregation.AbstractFragment.initParamete= rs: instance of org.apache.pluto.portalImpl.util.Parameters(id=3D1476)<br /= > org.apache.pluto.portalImpl.aggregation.AbstractFragment.navigation: i= nstance of org.apache.pluto.portalImpl.aggregation.navigation.Navigation(id= =3D1456)<br />}<br />main[1] print fragments.get("welcome_row3_col3_p4").in= itParameters.iEntries<br /> fragments.get("welcome_row3_col3_p4").initParam= eters.iEntries =3D "[portlet =3D 5.1]"<br />main[1] </pre> <br /><br />--<b= r><font color=3D"gray" size=3D"2">Posted by Matt to <a href=3D"http://portl= etunit.sf.net/blog/2005/02/how-fragment-is-loaded.html">Project portletUnit= </a> at 2/22/2005 09:08:00 PM</font></body></html> |
From: Matt <m0...@gm...> - 2005-02-22 23:59:03
|
<html><head><base href="http://portletunit.sf.net/blog/blogger.html"></head><body bgcolor="white" text="black"> I have been working on adding form handling so you can do form.submit() and get it to call the processAction() method of the portlet. It looks like I need to add a <code>org.apache.pluto.portalImpl.aggregation.Fragment</code> for the portlet to live in. The fragment needs to be added to <code>org.apache.pluto.portalImpl.services.pageregistry.PageRegistry.addFragment()</code> which is a static method.<br /><br />Now to figure out how to create a Fragment in Pluto ... <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://portletunit.sf.net/blog/2005/02/adding-form-handling.html">Project portletUnit</a> at 2/22/2005 03:54:01 PM</font></body></html> |
From: Matt <m0...@gm...> - 2005-02-11 15:28:54
|
<html><head><base href="http://portletunit.sf.net/blog/blogger.html"></head><body bgcolor="white" text="black"> What do you do if you see:<blockquote><code>javax.servlet.UnavailableException: Initialization of one or more services failed.</code></blockquote> You enable logging with <blockquote><code>PortletRunner.setLogging( System.out );</code></blockquote>This will show the stack trace of the problem, usually a ClassNotFound type problem. <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://portletunit.sf.net/blog/2005/02/javaxservletunavailableexception.html">Project portletUnit</a> at 2/11/2005 07:24:00 AM</font></body></html> |
From: Matt <m0...@gm...> - 2005-01-11 19:41:43
|
<html><head><base href="http://portletunit.sf.net/blog/blogger.html"></head><body bgcolor="white" text="black"> Two new files have been added to the CVS tree, PortletUnitPortletSession and PortletUnitPortletRequest. These objects implement the PortletSession and PortletRequest objects. The only method implemented on the PortletRequest is getPortletSession and the PortletSession can only get and set APPLICATION_SCOPE attributes. The rest of the methods are all stubbed and will be implemented as needed. <br /><br />--<br><font color="gray" size="2">Posted by Matt to <a href="http://portletunit.sf.net/blog/2005/01/two-new-classes-portletunitportletrequ.html">Project portletUnit</a> at 1/11/2005 11:35:23 AM</font></body></html> |