[jboss-svn-commits] JBL Code SVN: r9726 - in labs/jbosslabs/trunk/portal-extensions: forge-common/src/java/org/jboss/forge/common/projects and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Feb 23 17:29:38 EST 2007
Author: wrzep
Date: 2007-02-23 17:29:38 -0500 (Fri, 23 Feb 2007)
New Revision: 9726
Added:
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectsServiceRW.java
labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectsServiceRWImpl.java
Modified:
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/LabsServices.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectsService.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java
labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ProjectRW.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoEditBean.java
labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoTools.java
Log:
JBLAB-840
RW mode handling - initial classes
-Pawel
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/LabsServices.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/LabsServices.java 2007-02-23 21:03:48 UTC (rev 9725)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/LabsServices.java 2007-02-23 22:29:38 UTC (rev 9726)
@@ -34,6 +34,7 @@
* @author <a href="mailto:tomasz.szymanski at jboss.com">Tomasz Szymanski</a>
* @author <a href="mailto:ryszard.kozmik at jboss.com">Ryszard Kozmik</a>
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ * @author <a href="mailto:pawel . wrzeszcz [at] jboss . com">Pawel Wrzeszcz</a>
*/
public class LabsServices {
@@ -59,6 +60,11 @@
return (ProjectsService) getService(ProjectsService.class,
ProjectsService.PROJECTS_SERVICE);
}
+
+ public static ProjectsServiceRW getProjectsServiceRW() throws MalformedObjectNameException {
+ return (ProjectsServiceRW) getService(ProjectsServiceRW.class,
+ ProjectsServiceRW.PROJECTS_RW_SERVICE);
+ }
public static ProjectPagesService getProjectPagesService() throws ServiceRetrievalException {
try {
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectsService.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectsService.java 2007-02-23 21:03:48 UTC (rev 9725)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectsService.java 2007-02-23 22:29:38 UTC (rev 9726)
@@ -39,6 +39,8 @@
/**
* @author <a href="mailto:ryszard.kozmik at jboss.com">Ryszard Kozmik</a>
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ *
+ * Please remember this service provides read-only info about projects.
*/
public interface ProjectsService {
Added: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectsServiceRW.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectsServiceRW.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/ejb3/ProjectsServiceRW.java 2007-02-23 22:29:38 UTC (rev 9726)
@@ -0,0 +1,92 @@
+ /*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.forge.common.ejb3;
+
+import org.jboss.forge.common.projects.project.rw.DevelopersRW;
+import org.jboss.forge.common.projects.project.rw.DownloadsRW;
+import org.jboss.forge.common.projects.project.rw.PagesRW;
+import org.jboss.forge.common.projects.project.rw.PollsRW;
+import org.jboss.forge.common.projects.project.rw.ProjectRW;
+
+/**
+ * @author <a href="mailto:ryszard.kozmik at jboss.com">Ryszard Kozmik</a>
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
+ */
+public interface ProjectsServiceRW {
+
+ public static final String PROJECTS_RW_SERVICE = "labs:service=projectsRW";
+
+ public ProjectRW getProjectByNameRW(String projectId);
+
+ public PollsRW getProjectPollsRW(String projectId);
+
+ public DownloadsRW getProjectDownloadsRW(String projectId);
+
+ public PagesRW getProjectPagesRW(String projectId);
+
+ public DevelopersRW getProjectDevelopersRW(String projectId);
+
+ /**
+ * This method will overwrite existing project definition in xml file
+ * with a new one generated from data contained in given Project object.
+ * Be aware, data is NOT merged but overwritten!
+ */
+ public void persistProject(ProjectRW project);
+
+ /**
+ * This method will overwrite existing project Polls definition in xml file
+ * with a new one generated from data contained in given Polls object.
+ * Be aware, data is NOT merged but overwritten!
+ */
+ public void persistPolls(PollsRW polls, String projectId);
+
+ /**
+ * This method will overwrite existing project Downloads definition in xml file
+ * with a new one generated from data contained in given Downloads object.
+ * Be aware, data is NOT merged but overwritten!
+ */
+ public void persistDownloads (DownloadsRW downloads, String projectId);
+
+ /**
+ * This method will overwrite existing project Pages definition in xml file
+ * with a new one generated from data contained in given Pages object.
+ * Be aware, data is NOT merged but overwritten!
+ */
+ public void persistPages (PagesRW pages, String projectId);
+
+ /**
+ * This method will overwrite existing project Developers definition
+ * in xml file with a new one generated from data contained in given Developers object.
+ * Be aware, data is NOT merged but overwritten!
+ */
+ public void persistDevelopers (DevelopersRW developers, String projectId);
+
+
+ // Life cycle methods
+
+ public void start () throws Exception;
+
+ public void stop () throws Exception;
+
+}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java 2007-02-23 21:03:48 UTC (rev 9725)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/ProjectsDescriptor.java 2007-02-23 22:29:38 UTC (rev 9726)
@@ -27,7 +27,6 @@
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
-import javax.naming.NamingException;
import org.apache.xerces.parsers.DOMParser;
import org.jboss.forge.common.ForgeHelper;
@@ -48,6 +47,7 @@
import org.jboss.forge.common.projects.permissions.NullPermissionsChecker;
import org.jboss.forge.common.projects.permissions.PermissionsChecker;
import org.jboss.forge.common.projects.project.Project;
+import org.jboss.forge.common.projects.project.rw.ProjectRW;
import org.jboss.forge.common.projects.configuration.Configuration;
import org.jboss.logging.Logger;
import org.jboss.portal.core.servlet.jsp.taglib.context.DelegateContext;
@@ -90,6 +90,7 @@
* Project id --> Corresponding NEW project descriptor object
*/
private Map<String, Project> newProjects;
+ private Map<String, ProjectRW> newProjectsRW;
/**
* Configuration from projects.xml descriptor.
@@ -138,6 +139,7 @@
this.portalName = portalName;
projects = new LinkedHashMap<String, ProjectDescriptor>();
newProjects = new LinkedHashMap<String, Project>();
+ newProjectsRW = new LinkedHashMap<String,ProjectRW>();
projectWithErrorsDescriptors = new HashSet<String>();
projectsContexts = Collections
@@ -305,6 +307,7 @@
NodeList nodes = root.getChildNodes();
JAXBContext projectJC=null;
+ JAXBContext projectRWJC=null;
JAXBContext projectsJC=null;
try {
@@ -326,6 +329,7 @@
try {
projectJC = JAXBContext.newInstance("org.jboss.forge.common.projects.project");
+ projectRWJC = JAXBContext.newInstance("org.jboss.forge.common.projects.project.rw");
} catch (JAXBException e) {
log.warn("I could not create JAXBContext."+e.getCause());
}
@@ -339,41 +343,78 @@
= XmlTools.getPropertiesFromNodeAttributes(n);
String projectId = XmlTools.unmarshallText(n);
- ProjectDescriptor pd;
-
- try {
- pd = new ProjectDescriptor(projectId, isf, xht, opm,
- portalName, adminProperties);
- projects.put(projectId, pd);
-
- if (projectJC!=null) {
- try {
- Unmarshaller un = projectJC.createUnmarshaller();
- Project newProject = (Project)un.unmarshal(
- isf.getInputSource(projectId+"/" + ProjectsHelper.PROJECT_DESC));
- newProjects.put(projectId,newProject);
- log.info("Project "+projectId+" created.");
- } catch (Exception e) {
- log.warn("I could not create Project "+projectId+".",e);
- }
- }
-
- } catch (Exception e) {
- // In case of any exception, we just don't put the
- // project into the map. We only add its descriptor
- // to the set of projects with errors to monitor
- // any changes in it.
- projectWithErrorsDescriptors.add(projectId + "/"
- + ProjectsHelper.PROJECT_DESC);
-
- log.warn("Project " + projectId + " parse error: " + e);
- e.printStackTrace();
- }
+
+ unmarshallProject(projectId, isf, xht, portalName, adminProperties, projectJC);
+ unmarshallProjectRW(projectId, isf, xht, portalName, adminProperties, projectRWJC);
}
}
}
+
+ private void unmarshallProject(String projectId, XmlInputFactory isf, DomToXmlTransformer xht, String portalName2, PropertiesMap adminProperties, JAXBContext projectJC) {
+
+ ProjectDescriptor pd;
+
+ try {
+ pd = new ProjectDescriptor(projectId, isf, xht, opm,
+ portalName, adminProperties);
+ projects.put(projectId, pd);
+
+ if (projectJC!=null) {
+ try {
+ Unmarshaller un = projectJC.createUnmarshaller();
+ Project newProject = (Project)un.unmarshal(
+ isf.getInputSource(projectId+"/" + ProjectsHelper.PROJECT_DESC));
+ newProjects.put(projectId,newProject);
+ log.info("Project "+projectId+" created.");
+ } catch (Exception e) {
+ log.warn("I could not create Project "+projectId+".",e);
+ }
+ }
+
+ } catch (Exception e) {
+ // In case of any exception, we just don't put the
+ // project into the map. We only add its descriptor
+ // to the set of projects with errors to monitor
+ // any changes in it.
+ projectWithErrorsDescriptors.add(projectId + "/"
+ + ProjectsHelper.PROJECT_DESC);
- private boolean projectAdmissable(String projectId) {
+ log.warn("Project " + projectId + " parse error: " + e);
+ e.printStackTrace();
+ }
+ }
+
+ private void unmarshallProjectRW(String projectId, XmlInputFactory isf, DomToXmlTransformer xht, String portalName2, PropertiesMap adminProperties, JAXBContext projectRWJC) {
+
+ try {
+
+ if (projectRWJC!=null) {
+ try {
+ Unmarshaller un = projectRWJC.createUnmarshaller();
+ ProjectRW newProject = (ProjectRW)un.unmarshal(
+ isf.getInputSource(projectId+"/" + ProjectsHelper.PROJECT_DESC));
+ newProjectsRW.put(projectId,newProject);
+ log.info("Project "+projectId+" (RW mode) created.");
+ } catch (Exception e) {
+ log.warn("I could not create Project "+projectId+" (RW mode).",e);
+ }
+ }
+
+ } catch (Exception e) {
+ // In case of any exception, we just don't put the
+ // project into the map. We only add its descriptor
+ // to the set of projects with errors to monitor
+ // any changes in it.
+ projectWithErrorsDescriptors.add(projectId + "/"
+ + ProjectsHelper.PROJECT_DESC);
+
+ log.warn("Project " + projectId + " (RW mode) parse error: " + e);
+ e.printStackTrace();
+ }
+ }
+
+
+ private boolean projectAdmissable(String projectId) {
return !"default".equals(projectId);
}
@@ -813,10 +854,14 @@
return ret;
}
- public Map<String,Project> getNewProjects() {
- return newProjects;
- }
+ public Map<String,Project> getNewProjects() {
+ return newProjects;
+ }
+ public Map<String,ProjectRW> getNewProjectsRW() {
+ return newProjectsRW;
+ }
+
public Configuration getConfiguration () {
return this.configuration;
}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ProjectRW.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ProjectRW.java 2007-02-23 21:03:48 UTC (rev 9725)
+++ labs/jbosslabs/trunk/portal-extensions/forge-common/src/java/org/jboss/forge/common/projects/project/rw/ProjectRW.java 2007-02-23 22:29:38 UTC (rev 9726)
@@ -68,7 +68,7 @@
"downloads",
"polls"
})
- at XmlRootElement(name = "projectRW")
+ at XmlRootElement(name = "project")
public class ProjectRW
implements Serializable
{
Added: labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectsServiceRWImpl.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectsServiceRWImpl.java (rev 0)
+++ labs/jbosslabs/trunk/portal-extensions/forge-ejb3/src/java/org/jboss/forge/ejb3/projects/ProjectsServiceRWImpl.java 2007-02-23 22:29:38 UTC (rev 9726)
@@ -0,0 +1,228 @@
+ /*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+
+package org.jboss.forge.ejb3.projects;
+
+import java.io.OutputStream;
+import java.util.Map;
+
+import javax.ejb.Remote;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+
+import org.jboss.annotation.ejb.Management;
+import org.jboss.annotation.ejb.Service;
+import org.jboss.annotation.ejb.Depends;
+
+import org.jboss.forge.common.projects.Projects;
+import org.jboss.forge.common.projects.ProjectsHelper;
+import org.jboss.forge.common.projects.project.Project;
+import org.jboss.forge.common.projects.project.rw.DevelopersRW;
+import org.jboss.forge.common.projects.project.rw.DownloadsRW;
+import org.jboss.forge.common.projects.project.rw.PagesRW;
+import org.jboss.forge.common.projects.project.rw.PollsRW;
+import org.jboss.forge.common.projects.project.rw.ProjectRW;
+import org.jboss.forge.common.ejb3.ProjectsServiceRW;
+import org.jboss.forge.common.Constants;
+
+import org.jboss.logging.Logger;
+
+import org.jboss.shotoku.ContentManager;
+import org.jboss.shotoku.Node;
+import org.jboss.shotoku.aop.Inject;
+
+
+/**
+ * @author <a href="mailto:ryszard.kozmik at jboss.com">Ryszard Kozmik</a>
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ * @author Pawel Wrzeszcz (pawel . wrzeszcz [at] jboss . com)
+ */
+ at Service(objectName = ProjectsServiceRW.PROJECTS_RW_SERVICE)
+ at Management(ProjectsServiceRW.class)
+ at Remote(ProjectsServiceRW.class)
+ at Depends(org.jboss.shotoku.tools.Constants.SHOTOKU_SERVICE_NAME)
+public class ProjectsServiceRWImpl implements ProjectsServiceRW {
+
+ private static final Logger log = Logger.getLogger(ProjectsServiceRW.class);
+
+ private static final JAXBContext jc;
+
+ static {
+
+ JAXBContext temp = null;
+ try {
+ temp = JAXBContext.newInstance("org.jboss.forge.common.projects.project.rw");
+ } catch (JAXBException e) {
+ log.warn("I could not create JAXBContext."+e.getCause());
+ } finally {
+ jc = temp;
+ }
+
+ }
+
+ @Inject
+ private ContentManager cm;
+
+ public ProjectRW getProjectByNameRW(String projectId) {
+ Projects projectsClass = ProjectsHelper.getProjects(Constants.LABS_PORTAL);
+ Map<String,ProjectRW> projects = projectsClass.getProjectsDescriptor().getNewProjectsRW();
+ return projects.get(projectId);
+ }
+
+ public PollsRW getProjectPollsRW(String projectId) {
+ ProjectRW project = getProjectByNameRW(projectId);
+ if (project==null) return null;
+ return project.getPolls();
+ }
+
+ public DownloadsRW getProjectDownloadsRW(String projectId) {
+ ProjectRW project = getProjectByNameRW(projectId);
+ if (project==null) return null;
+ return project.getDownloads();
+ }
+
+ public PagesRW getProjectPagesRW(String projectId) {
+ ProjectRW project = getProjectByNameRW(projectId);
+ if (project==null) return null;
+ return project.getPages();
+ }
+
+ public DevelopersRW getProjectDevelopersRW(String projectId) {
+ ProjectRW project = getProjectByNameRW(projectId);
+ if (project==null) return null;
+ return project.getDevelopers();
+ }
+
+ /**
+ * This method will overwrite existing project definition in xml file
+ * with a new one generated from data contained in given ProjectRW object.
+ * Be aware, data is NOT merged but overwritten!
+ */
+ public void persistProject(ProjectRW project) {
+ if (project.getId()==null) return;
+
+ if (jc==null) return ;
+
+ try {
+
+ Marshaller m = jc.createMarshaller();
+ m.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
+ m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
+
+ Node node = cm.getRootDirectory().
+ getDirectory(Constants.LABS_PORTAL).
+ getDirectory(ProjectsHelper.MEMBERS_DIR).
+ getDirectory(project.getId()).
+ getNode(ProjectsHelper.PROJECT_DESC);
+
+ OutputStream os = node.getOutputStream();
+ m.marshal(project,os);
+
+ node.save("[PROJECTSSERVICE] Persisting "+project.getId()+" project.");
+ log.info("ProjectRW "+project.getId()+" has been updated.");
+
+ } catch (Exception e) {
+ log.warn("I could not update project "+project.getId()+".");
+ }
+
+ }
+
+ /**
+ * This method will overwrite existing project PollsRW definition in xml file
+ * with a new one generated from data contained in given PollsRW object.
+ * Be aware, data is NOT merged but overwritten!
+ */
+ public void persistPolls(PollsRW polls, String projectId) {
+ if (polls==null || projectId==null || projectId.trim().length()==0) return;
+
+ ProjectRW project = getProjectByNameRW(projectId);
+
+ if (project==null) return;
+
+ project.setPolls(polls);
+
+ persistProject(project);
+ }
+
+ /**
+ * This method will overwrite existing project DownloadsRW definition in xml file
+ * with a new one generated from data contained in given DownloadsRW object.
+ * Be aware, data is NOT merged but overwritten!
+ */
+ public void persistDownloads(DownloadsRW downloads, String projectId) {
+ if (downloads==null || projectId==null || projectId.trim().length()==0) return;
+
+ ProjectRW project = getProjectByNameRW(projectId);
+
+ if (project==null) return;
+
+ project.setDownloads(downloads);
+
+ persistProject(project);
+ }
+
+ /**
+ * This method will overwrite existing project Menu definition in xml file
+ * with a new one generated from data contained in given Menu object.
+ * Be aware, data is NOT merged but overwritten!
+ */
+ public void persistPages(PagesRW pages, String projectId) {
+ if (pages==null || projectId==null || projectId.trim().length()==0) return;
+
+ ProjectRW project = getProjectByNameRW(projectId);
+
+ if (project==null) return;
+
+ project.setPages(pages);
+
+ persistProject(project);
+ }
+
+ /**
+ * This method will overwrite existing project DevelopersRW definition
+ * in xml file with a new one generated from data contained in given DevelopersRW object.
+ * Be aware, data is NOT merged but overwritten!
+ */
+ public void persistDevelopers(DevelopersRW developers, String projectId) {
+ if (developers==null || projectId==null || projectId.trim().length()==0) return;
+
+ ProjectRW project = getProjectByNameRW(projectId);
+
+ if (project==null) return;
+
+ project.setDevelopers(developers);
+
+ persistProject(project);
+
+ }
+
+ public void start() throws Exception {
+
+ log.info("Projects service started");
+ }
+
+ public void stop() throws Exception {
+
+ log.info("Projects service stopped");
+ }
+}
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoEditBean.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoEditBean.java 2007-02-23 21:03:48 UTC (rev 9725)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoEditBean.java 2007-02-23 22:29:38 UTC (rev 9726)
@@ -32,6 +32,7 @@
import org.jboss.forge.common.projects.project.MonitorType;
import org.jboss.forge.common.projects.project.Project;
import org.jboss.forge.common.projects.project.RepoMonitor;
+import org.jboss.forge.common.projects.project.rw.ProjectRW;
public class ProjectInfoEditBean {
@@ -48,6 +49,7 @@
private BuildType newBuildResultsType =
ProjectInfoConstants.DEFAULT_BUILD_TYPE;
+
public ProjectInfoEditBean() {
project = ProjectInfoTools.getProjectByName(FacesTools.getSelectedProjectId());
@@ -67,6 +69,12 @@
}
jems = project.getJems();
+
+ //DEBUG
+ ProjectRW projectRW = ProjectInfoTools.
+ getProjectRWByName(FacesTools.getSelectedProjectId());
+ System.out.println("Project: " + project + " ProjectRW: " + projectRW +
+ " (" + projectRW.getName() + ")");
}
/* Business methods */
Modified: labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoTools.java 2007-02-23 21:03:48 UTC (rev 9725)
+++ labs/jbosslabs/trunk/portal-extensions/forge-portlets/src/java/org/jboss/forge/projects/info/ProjectInfoTools.java 2007-02-23 22:29:38 UTC (rev 9726)
@@ -27,20 +27,35 @@
import java.util.Map;
import javax.faces.model.SelectItem;
+import javax.management.MalformedObjectNameException;
+import org.jboss.forge.common.ejb3.LabsServices;
import org.jboss.forge.common.ejb3.ProjectsService;
+import org.jboss.forge.common.ejb3.ProjectsServiceRW;
import org.jboss.forge.common.projects.ProjectsHelper;
import org.jboss.forge.common.projects.project.Documentation;
import org.jboss.forge.common.projects.project.DocumentationType;
import org.jboss.forge.common.projects.project.Project;
+import org.jboss.forge.common.projects.project.rw.ProjectRW;
+import org.jboss.logging.Logger;
public class ProjectInfoTools {
-
+ private static Logger log = Logger.getLogger(ProjectInfoTools.class);
+
private static ProjectsService projectsService = null;
-
+ private static ProjectsServiceRW projectsServiceRW = null;
+
+ static {
+ try {
+ projectsServiceRW = LabsServices.getProjectsServiceRW();
+ } catch (MalformedObjectNameException e) {
+ log.warn("Cannot get ProjectsServiceRW");
+ }
+ }
+
public static Project getProjectByName(String projectId) {
if (projectsService == null) {
@@ -50,6 +65,11 @@
return projectsService.getProjectByName(projectId);
}
+ public static ProjectRW getProjectRWByName(String projectId) {
+
+ return projectsServiceRW.getProjectByNameRW(projectId);
+ }
+
public static List<SelectItem> getAllProjects() {
if (projectsService == null) {
@@ -99,4 +119,6 @@
private ProjectInfoTools() { }
+
+
}
More information about the jboss-svn-commits
mailing list