{"id":194,"date":"2006-08-27T23:15:13","date_gmt":"2006-08-28T03:15:13","guid":{"rendered":"http:\/\/www.dr-chuck.com\/wordpress\/?p=194"},"modified":"2011-12-17T12:20:25","modified_gmt":"2011-12-17T16:20:25","slug":"dude-what-is-up-with-pluto-1-1","status":"publish","type":"post","link":"https:\/\/www.dr-chuck.com\/csev-blog\/2006\/08\/dude-what-is-up-with-pluto-1-1\/","title":{"rendered":"Dude &#8211; What is up with Pluto 1.1?"},"content":{"rendered":"<p>Three things are messed up in pluto 1.1 right now<br \/>\n==== Bug in pageId lookup in trunk ======<br \/>\n======= Neither trunk nor beta1 will build unless maven.test.skip=true ========<br \/>\n===== The beta1 tag builds but will not pluto:install =======<\/p>\n<p><!--more--><br \/>\nThree things are messed up in pluto<br \/>\n\/Chuck<br \/>\n==== Bug in pageId lookup in trunk ======<br \/>\nThis worked about a week ago &#8211; so I am thinking something recent happenned.<br \/>\nThe trunk has a bug where PageId&#8217;s end up with a prefix of a &#8220;\/&#8221; and so the configuration can never find find pages &#8211; and things blow up horribly.<br \/>\nTo reproduce &#8211; simply bring up pluto, log in as tomcat, and navigate to a page other than the default.<br \/>\nThe fix is below:<br \/>\nvi pluto-portal-driver\/src\/main\/java\/org\/apache\/pluto\/driver\/services\/portal\/RenderConfig.java<br \/>\npublic PageConfig getPageConfig(String pageId) {<br \/>\nif (pageId == null || &#8220;&#8221;.equals(pageId)) {<br \/>\nif (LOG.isDebugEnabled()) {<br \/>\nLOG.debug(<br \/>\n&#8220;Requested page is null.  Returning default: &#8221; +<br \/>\ndefaultPageId);<br \/>\n}<br \/>\npageId = defaultPageId;<br \/>\n}<br \/>\nPageConfig retval = (PageConfig) pages.get(pageId);<br \/>\n\/\/ TODO: Fix Hack<br \/>\nif ( retval == null &#038;&#038; pageId.startsWith(&#8220;\/&#8221;) &#038;&#038; pageId.length() > 2 ) {<br \/>\nSystem.out.println(&#8220;HACK ALert &#8211; Trimming off slash &#8221; + pageId.substring(1));<br \/>\nretval = (PageConfig) pages.get(pageId.substring(1));<br \/>\n}<br \/>\nSystem.out.println(&#8220;retval = &#8221; + retval);<br \/>\nreturn retval;<br \/>\n}<br \/>\n[DEBUG] PortalURLParser &#8211; Parsing URL: \/pluto\/portal\/Pluto%20Admin<br \/>\n[DEBUG] PortalURLParser &#8211; Parsing request pathInfo: \/Pluto Admin<br \/>\n[DEBUG] PortalDriverServlet &#8211; Processing render request.<br \/>\n[DEBUG] PortalDriverServlet &#8211; Rendering Portal: Requested Page: \/Pluto Admin<br \/>\nHACK ALert &#8211; Trimming off slash Pluto Admin<br \/>\nretval = org.apache.pluto.driver.services.portal.PageConfig@f50e8d<br \/>\n======= Neither trunk nor beta1 will build unless maven.test.skip=true ========<br \/>\n[INFO] Surefire report directory: \/Users\/csev\/dev\/pluto-1.1\/pluto-trunk\/pluto-descriptor-impl\/target\/surefire-reports<br \/>\norg.apache.maven.surefire.booter.SurefireExecutionException: Unable to create test class &#8216;org.apache.pluto.descriptors.services.castor.WebAppDescriptorServiceImplTest&#8217;; nested exception is java.lang.ClassNotFoundException: org.apache.pluto.descriptors.services.castor.WebAppDescriptorServiceImplTest; nested exception is org.apache.maven.surefire.testset.TestSetFailedException: Unable to create test class &#8216;org.apache.pluto.descriptors.services.castor.WebAppDescriptorServiceImplTest&#8217;; nested exception is java.lang.ClassNotFoundException: org.apache.pluto.descriptors.services.castor.WebAppDescriptorServiceImplTest<br \/>\norg.apache.maven.surefire.testset.TestSetFailedException: Unable to create test class &#8216;org.apache.pluto.descriptors.services.castor.WebAppDescriptorServiceImplTest&#8217;; nested exception is java.lang.ClassNotFoundException: org.apache.pluto.descriptors.services.castor.WebAppDescriptorServiceImplTest<br \/>\njava.lang.ClassNotFoundException: org.apache.pluto.descriptors.services.castor.WebAppDescriptorServiceImplTest<br \/>\nat java.net.URLClassLoader$1.run(URLClassLoader.java:200)<br \/>\nat java.security.AccessController.doPrivileged(Native Method)<br \/>\nat java.net.URLClassLoader.findClass(URLClassLoader.java:188)<br \/>\nat java.lang.ClassLoader.loadClass(ClassLoader.java:306)<br \/>\nat java.lang.ClassLoader.loadClass(ClassLoader.java:251)<br \/>\nat org.apache.maven.surefire.booter.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:100)<br \/>\nat org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:84)<br \/>\nat org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:147)<br \/>\nat org.apache.maven.surefire.Surefire.run(Surefire.java:108)<br \/>\nat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br \/>\nat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br \/>\nat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br \/>\nat java.lang.reflect.Method.invoke(Method.java:585)<br \/>\nat org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:225)<br \/>\nat org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:747)<br \/>\n[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n[ERROR] BUILD FAILURE<br \/>\n[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n===== The beta1 tag builds but will not pluto:install =======<br \/>\nThe key here is that you need to clean out your maven repo before doing install and pluto:install.<br \/>\ncd ~\/.m2<br \/>\nrm -rf `find . -name &#8216;*SNAPSHOT*&#8217;`<br \/>\nIf you don&#8217;t clean this up and have been building from trunk, the beta pluto:install *will* find the artifact and happily install the wrong  thing (i.e. not the recently compiled beta1) code.<br \/>\n[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n[ERROR] BUILD ERROR<br \/>\n[INFO] &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n[INFO] Failed to resolve artifact.<br \/>\nGroupId: org.apache.pluto<br \/>\nArtifactId: pluto-portal<br \/>\nVersion: 1.1.0-SNAPSHOT<br \/>\nReason: Unable to download the artifact from any repository<br \/>\norg.apache.pluto:pluto-portal:1.1.0-SNAPSHOT:war<br \/>\nfrom the specified remote repositories:<br \/>\ncentral (http:\/\/repo1.maven.org\/maven2)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Three things are messed up in pluto 1.1 right now ==== Bug in pageId lookup in trunk ====== ======= Neither trunk nor beta1 will build unless maven.test.skip=true ======== ===== The beta1 tag builds but will not pluto:install =======<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-194","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/comments?post=194"}],"version-history":[{"count":1,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":2291,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/posts\/194\/revisions\/2291"}],"wp:attachment":[{"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/media?parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/categories?post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dr-chuck.com\/csev-blog\/wp-json\/wp\/v2\/tags?post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}