[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