[jboss-svn-commits] JBL Code SVN: r35226 - in labs/jbosslabs/labs-3.0-build/integration/mgnl-services: projects and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 22 06:20:58 EDT 2010


Author: unibrew
Date: 2010-09-22 06:20:57 -0400 (Wed, 22 Sep 2010)
New Revision: 35226

Modified:
   labs/jbosslabs/labs-3.0-build/integration/mgnl-services/
   labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/.classpath
   labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/pom.xml
   labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/magnolia/services/project/ProjectsService.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/magnolia/services/project/ProjectsServiceBean.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/project/Project.java
   labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/test/java/org/jboss/community/projects/ProjectsServiceStandaloneTester.java
Log:
[ORG-564] Adding target directory to ignored.


Property changes on: labs/jbosslabs/labs-3.0-build/integration/mgnl-services
___________________________________________________________________
Name: svn:ignore
   + target


Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/.classpath
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/.classpath	2010-09-22 10:03:02 UTC (rev 35225)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/.classpath	2010-09-22 10:20:57 UTC (rev 35226)
@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="var" path="M2_REPO/info/magnolia/magnolia-core/3.6.8/magnolia-core-3.6.8.jar" sourcepath="M2_REPO/info/magnolia/magnolia-core/3.6.8/magnolia-core-3.6.8-sources.jar"/>
 	<classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.3/commons-io-1.3.jar" sourcepath="M2_REPO/commons-io/commons-io/1.3/commons-io-1.3-sources.jar"/>
@@ -33,7 +34,7 @@
 			<attribute name="javadoc_location" value="jar:file://Users/rysiek/.m2/repository/commons-codec/commons-codec/1.3/commons-codec-1.3-javadoc.jar!/"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="var" path="M2_REPO/org/freemarker/freemarker/2.3.10/freemarker-2.3.10.jar" sourcepath="M2_REPO/org/freemarker/freemarker/2.3.10/freemarker-2.3.10-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/freemarker/freemarker/2.3.16/freemarker-2.3.16.jar" sourcepath="M2_REPO/org/freemarker/freemarker/2.3.16/freemarker-2.3.16-sources.jar"/>
 	<classpathentry kind="var" path="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1.jar" sourcepath="M2_REPO/commons-chain/commons-chain/1.1/commons-chain-1.1-sources.jar"/>
 	<classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar">
 		<attributes>
@@ -109,5 +110,8 @@
 	<classpathentry kind="var" path="M2_REPO/org/jboss/spec/javax/transaction/jboss-transaction-api_1.1_spec/1.0.0.Beta1/jboss-transaction-api_1.1_spec-1.0.0.Beta1.jar" sourcepath="M2_REPO/org/jboss/spec/javax/transaction/jboss-transaction-api_1.1_spec/1.0.0.Beta1/jboss-transaction-api_1.1_spec-1.0.0.Beta1-sources.jar"/>
 	<classpathentry kind="var" path="M2_REPO/org/jboss/ws/native/jbossws-native-jaxrpc/3.0.4.GA/jbossws-native-jaxrpc-3.0.4.GA.jar" sourcepath="M2_REPO/org/jboss/ws/native/jbossws-native-jaxrpc/3.0.4.GA/jbossws-native-jaxrpc-3.0.4.GA-sources.jar"/>
 	<classpathentry kind="var" path="M2_REPO/org/jboss/ws/native/jbossws-native-saaj/3.0.4.GA/jbossws-native-saaj-3.0.4.GA.jar" sourcepath="M2_REPO/org/jboss/ws/native/jbossws-native-saaj/3.0.4.GA/jbossws-native-saaj-3.0.4.GA-sources.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/projectlombok/lombok/0.9.2/lombok-0.9.2.jar" sourcepath="M2_REPO/org/projectlombok/lombok/0.9.2/lombok-0.9.2-sources.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.jboss.ide.eclipse.as.core.server.runtime.runtimeTarget/Magnolia 3.6.8 EAP 4.3"/>
+	<classpathentry kind="lib" path="/Users/rysiek/Desktop/jboss-eap-4.3/jboss-as/server/default/deploy/magnoliaAuthor.ear/magnoliaAuthor.war/WEB-INF/lib/magnolia-module-sitedesigner-1.1.8.jar"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>

Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/pom.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/pom.xml	2010-09-22 10:03:02 UTC (rev 35225)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/pom.xml	2010-09-22 10:20:57 UTC (rev 35226)
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
-  	<parent>
+<!--  	<parent>
 		<artifactId>integration</artifactId>
 		<groupId>org.jboss.labs</groupId>
 		<version>1.0-SNAPSHOT</version>
-	</parent>
+	</parent> -->
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.jboss.labs</groupId>
   <artifactId>projects</artifactId>
@@ -18,48 +18,99 @@
   </properties>
 
   <dependencies>
-    <dependency>
-      <groupId>info.magnolia</groupId>
-      <artifactId>magnolia-core</artifactId>
-      <version>${magnoliaVersion}</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <artifactId>magnolia-module-admininterface</artifactId>
-      <groupId>info.magnolia</groupId>
-      <version>3.6.8</version>
-    </dependency>
-		<dependency>
-			<groupId>org.jboss.spec.javax.ejb</groupId>
-			<artifactId>jboss-ejb-api_3.0_spec</artifactId>
-			<version>1.0.0.Beta1</version>
-			<scope>provided</scope>
-		</dependency>
-
-
+	<dependency>
+		<groupId>info.magnolia</groupId>
+		<artifactId>magnolia-core</artifactId>
+		<version>${magnoliaVersion}</version>
+		<scope>provided</scope>
+	</dependency>
+	<dependency>
+		<artifactId>magnolia-module-admininterface</artifactId>
+		<groupId>info.magnolia</groupId>
+		<version>3.6.8</version>
+	</dependency>
+	<dependency>
+		<groupId>org.jboss.spec.javax.ejb</groupId>
+		<artifactId>jboss-ejb-api_3.0_spec</artifactId>
+		<version>1.0.0.Beta1</version>
+		<scope>provided</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.freemarker</groupId>
+		<artifactId>freemarker</artifactId>
+		<version>2.3.16</version>
+	</dependency>
+	<dependency>
+		<groupId>org.projectlombok</groupId>
+		<artifactId>lombok</artifactId>
+		<version>0.9.2</version>
+	</dependency> 
   </dependencies>
 
   <repositories>
-    <repository>
-      <id>magnolia</id>
-      <url>http://svn.magnolia.info/maven/m2</url>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-    <!-- enable this if you need magnolia snapshots :
-    <repository>
-      <id>magnolia.snapshots</id>
-      <url>http://svn.magnolia.info/maven/snapshots</url>
-      <snapshots>
-        <enabled>true</enabled>
-      </snapshots>
-      <releases>
-        <enabled>false</enabled>
-      </releases>
-    </repository>
-    -->
+	<repository>
+		<id>magnolia</id>
+		<url>http://svn.magnolia.info/maven/m2</url>
+		<snapshots>
+		<enabled>false</enabled>
+		</snapshots>
+	</repository>
+	<repository>
+		<id>projectlombok.org</id>
+		<url>http://projectlombok.org/mavenrepo</url>
+	</repository>
   </repositories>
-
+<profiles>
+<profile>
+  <id>magnoliaAuthor</id>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.5</source>
+                    <target>1.5</target>
+                </configuration>
+             </plugin>
+                   <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>2.2</version>
+        <configuration>
+          <archive>
+            <manifestFile>src/main/resources/magnoliaAuthor/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</profile>
+<profile>
+  <id>magnoliaPublic</id>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.5</source>
+                    <target>1.5</target>
+                </configuration>
+             </plugin>
+                   <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <version>2.2</version>
+        <configuration>
+          <archive>
+            <manifestFile>src/main/resources/magnoliaPublic/META-INF/MANIFEST.MF</manifestFile>
+          </archive>
+        </configuration>
+      </plugin>
+     </plugins>
+   </build>
+</profile>
+</profiles>
 </project>
 

Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/magnolia/services/project/ProjectsService.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/magnolia/services/project/ProjectsService.java	2010-09-22 10:03:02 UTC (rev 35225)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/magnolia/services/project/ProjectsService.java	2010-09-22 10:20:57 UTC (rev 35226)
@@ -1,8 +1,5 @@
 package org.jboss.community.magnolia.services.project;
 
-import javax.ejb.Local;
-import javax.ejb.Remote;
-
 import org.jboss.community.magnolia.services.exceptions.ProjectServiceException;
 import org.jboss.community.project.Project;
 
@@ -13,8 +10,6 @@
  * @author Ryszard Kozmik <rkozmik at redhat.com>
  * 
  */
- at Remote
- at Local
 public interface ProjectsService {
 
     // TODO: Possible when we will have a way of defining which node in Magnolia

Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/magnolia/services/project/ProjectsServiceBean.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/magnolia/services/project/ProjectsServiceBean.java	2010-09-22 10:03:02 UTC (rev 35225)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/magnolia/services/project/ProjectsServiceBean.java	2010-09-22 10:20:57 UTC (rev 35226)
@@ -1,5 +1,7 @@
 package org.jboss.community.magnolia.services.project;
 
+import info.magnolia.cms.core.DefaultContent;
+import info.magnolia.cms.core.DefaultNodeData;
 import info.magnolia.cms.core.HierarchyManager;
 import info.magnolia.cms.core.search.Query;
 import info.magnolia.cms.core.search.QueryManager;
@@ -8,15 +10,17 @@
 import info.magnolia.context.MgnlContext;
 
 import java.util.Collection;
-import java.util.Iterator;
+import java.util.HashMap;
 
 import javax.ejb.Stateless;
 import javax.jcr.RepositoryException;
 import javax.jcr.query.InvalidQueryException;
 
+import org.apache.jackrabbit.uuid.UUID;
 import org.apache.log4j.Logger;
 import org.jboss.community.magnolia.services.exceptions.ProjectServiceException;
 import org.jboss.community.project.Project;
+import org.jboss.community.project.ProjectProperty;
 
 
 /**
@@ -25,7 +29,8 @@
  * @author Ryszard Kozmik <rkozmik at redhat.com>
  *
  */
-public @Stateless class ProjectsServiceBean implements ProjectsService {
+ at Stateless(name="ProjectsService")
+public class ProjectsServiceBean implements ProjectsServiceRemote, ProjectsServiceLocal {
     
     private Logger log = Logger.getLogger(ProjectsServiceBean.class);
 
@@ -33,24 +38,75 @@
      * @see org.jboss.community.magnolia.services.project.ProjectsService#getProject(java.lang.String)
      */
     public Project getProject(String idName) throws ProjectServiceException {
-        Context ctx = MgnlContext.getInstance();
+        Context ctx = MgnlContext.getSystemContext();
         HierarchyManager websiteHM = ctx.getHierarchyManager("website");
         QueryManager websiteQM = websiteHM.getQueryManager();
         try {
             Query projectQuery = websiteQM.createQuery(getQueryStatement(idName), info.magnolia.cms.core.search.Query.SQL);
             QueryResult queryResult = projectQuery.execute();
-            Collection projectProperties = queryResult.getContent();
-            for (Object property : projectProperties) {
-                System.out.println("OBJECT: "+property.toString());
+            System.out.println("JESTEM TU");
+            Collection<DefaultContent> projectNodes = queryResult.getContent("mgnl:contentNode");
+            HashMap<ProjectProperty,String> projectProperties = new HashMap<ProjectProperty,String>();
+            if (!projectNodes.isEmpty()) {
+                DefaultContent projectNode = projectNodes.iterator().next();
+                System.out.println("OBJECT: "+projectNode.toString()+" HANDLE: "+projectNode.getHandle());
+                Collection<DefaultNodeData> properties = projectNode.getNodeDataCollection();
+                for (DefaultNodeData projectProperty : properties) {
+                    System.out.println("NodeType: "+projectProperty.getType()+"NodeCOntent: "+" NodeDataHandle: "+projectProperty.getHandle()+"  NodeDataStringValue: "+projectProperty.getValue().getString());
+                    String handle = projectProperty.getHandle();
+                    String projectPropertyName = handle.substring(handle.lastIndexOf("/")+1);
+                    System.out.println("projectPropertyName: "+projectPropertyName);
+                    ProjectProperty propertyEnum = ProjectProperty.BUILD_LINK.getPropertyByKey(projectPropertyName);
+                    if (propertyEnum==null) {
+                        log.warn("Encountered project property name that is not yet defined.");
+                        continue;
+                    }
+                    
+                    String projectPropertyValue = projectProperty.getValue().getString();
+                    System.out.println("PROJECTPROPERTYVALUE: "+projectPropertyValue);
+                    
+                    //TODO: This is a bit wrong that exception is being thrown during standard UUID link checking.
+                    boolean isUUID=false;
+                    try {
+                        UUID.fromString(projectPropertyValue);
+                        isUUID=true;
+                    } catch (IllegalArgumentException exception) {
+                        //IT JUST MEANS THAT THIS STRING IS NOT AN UUID.
+                        isUUID=false;
+                    }
+                    
+                    if (isUUID) {
+                        System.out.println("INSIDE UUID MATCHED");
+                        ProjectProperty propertyUUIDEnum = ProjectProperty.BUILD_LINK.getPropertyByKey(projectPropertyName+"_UUID");
+                        if (propertyUUIDEnum==null) {
+                            log.warn("Encountered project property UUID link that is not yet defined.");
+                        }
+                        
+                        System.out.println("UUID_PROJECTPROPERTY_LINK_UUID: "+ projectPropertyValue);
+                        System.out.println("UUID_PROJECTPROPERTY_LINK_HANDLE: "+websiteHM.getContentByUUID(projectPropertyValue).getHandle());
+                        
+                        projectProperties.put(propertyUUIDEnum, projectPropertyValue);
+                        projectProperties.put(propertyEnum, websiteHM.getContentByUUID(projectPropertyValue).getHandle());
+                        
+                    } else {
+                        System.out.println("INSIDE ELSE OF UUID");
+                        projectProperties.put(propertyEnum, projectPropertyValue);
+                    }
+                }
             }
+            return new Project(projectProperties);
         } catch (InvalidQueryException e1) {
+            e1.printStackTrace();
             String message = "Project search query failed due to mistake in the query.";
             log.error(message,e1);
             throw new ProjectServiceException (message);
         } catch (RepositoryException e2) {
+            e2.printStackTrace();
             String message = "Project search query failed due to underlying repository problem.";
             log.error(message,e2);
             throw new ProjectServiceException (message);
+        } catch (Throwable e3) {
+            e3.printStackTrace();
         }
         
         return null;
@@ -59,8 +115,8 @@
     private String getQueryStatement (String projectId) {
         String query = "SELECT * FROM nt:base " +
         "WHERE mgnl:template = 'projectNavigation' " +
-        "AND jcr:path LIKE '/";
-        query+=projectId+"'";
+        "AND jcr:path LIKE '%/";
+        query+=projectId+"/headerParagraphs/%'";
         return query;
     }
 

Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/project/Project.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/project/Project.java	2010-09-22 10:03:02 UTC (rev 35225)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/main/java/org/jboss/community/project/Project.java	2010-09-22 10:20:57 UTC (rev 35226)
@@ -3,10 +3,30 @@
  */
 package org.jboss.community.project;
 
+import java.io.Serializable;
+import java.util.HashMap;
+
+import lombok.Data;
+import lombok.ToString;
+
 /**
- * @author rysiek
+ * 
+ * @author Ryszard Kozmik <rkozmik at redhat.com>
  *
  */
-public class Project {
+ at ToString
+public class Project implements Serializable {
+    
+    private static final long serialVersionUID = 1L;
+    
+    private HashMap<ProjectProperty,String> properties;
+    
+    public Project(HashMap<ProjectProperty,String> properties) {
+        this.properties=properties;
+    }
+    
+    public String getProperty (ProjectProperty propertyName) {
+        return properties.get(propertyName);
+    }
 
 }

Modified: labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/test/java/org/jboss/community/projects/ProjectsServiceStandaloneTester.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/test/java/org/jboss/community/projects/ProjectsServiceStandaloneTester.java	2010-09-22 10:03:02 UTC (rev 35225)
+++ labs/jbosslabs/labs-3.0-build/integration/mgnl-services/projects/src/test/java/org/jboss/community/projects/ProjectsServiceStandaloneTester.java	2010-09-22 10:20:57 UTC (rev 35226)
@@ -7,7 +7,9 @@
 
 import javax.naming.Context;
 
+import org.jboss.community.magnolia.services.exceptions.ProjectNavigationException;
 import org.jboss.community.magnolia.services.exceptions.ProjectServiceException;
+import org.jboss.community.magnolia.services.navigation.ProjectNavigation;
 import org.jboss.community.magnolia.services.project.ProjectsService;
 
 /**
@@ -24,14 +26,17 @@
     public static void main(String[] args) {
         try {
             Context jndiContext = getInitialContext();
-            Object ref = jndiContext.lookup("java:comp/env/ejb/HelloEJB3");
+            Object ref = jndiContext.lookup("magnoliaAuthor/ProjectsService/remote");
             ProjectsService projectsBean = (ProjectsService) ref;
             System.out.println(projectsBean.getProject("hibernate"));
-            
+            ProjectNavigation pn = (ProjectNavigation)jndiContext.lookup("magnoliaAuthor/ProjectNavigationService/remote");
+            System.out.println(pn.getProjectNavigationHTML("hibernate"));
         } catch (javax.naming.NamingException ne) {
             ne.printStackTrace();
         } catch (ProjectServiceException e ){
             e.printStackTrace();
+        } catch (ProjectNavigationException e2) {
+            e2.printStackTrace();
         }
     }
 



More information about the jboss-svn-commits mailing list