[jboss-cvs] JBossBlog SVN: r22 - in trunk: . blog-core/src/etc/META-INF blog-core/src/java/org/jboss/blog/model blog-core/src/java/org/jboss/blog/model/impl blog-core/src/java/org/jboss/blog/service/store blog-core/src/java/org/jboss/blog/service/store/hibernate blog-core/src/java/org/jboss/blog/tools blog-core/src/java/org/jboss/blog/ui blog-core/src/web/WEB-INF blog-core/src/web/views
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Nov 9 09:24:56 EST 2006
Author: adamw
Date: 2006-11-09 09:24:41 -0500 (Thu, 09 Nov 2006)
New Revision: 22
Added:
trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java
trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java
trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml
trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java
trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java
Removed:
trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java
Modified:
trunk/blog-core/src/etc/META-INF/jboss-service.xml
trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java
trunk/blog-core/src/java/org/jboss/blog/model/BlogModel.java
trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java
trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml
trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java
trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml
trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java
trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java
trunk/blog-core/src/web/WEB-INF/faces-config.xml
trunk/blog-core/src/web/WEB-INF/web.xml
trunk/blog-core/src/web/views/blog_view.xhtml
trunk/blog-core/src/web/views/post_view.xhtml
trunk/blog-core/src/web/views/view.xhtml
trunk/jbossblog.iws
Log:
http://jira.jboss.com/jira/browse/JBBLOG-12
Modified: trunk/blog-core/src/etc/META-INF/jboss-service.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/jboss-service.xml 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/etc/META-INF/jboss-service.xml 2006-11-09 14:24:41 UTC (rev 22)
@@ -116,11 +116,12 @@
<attribute name="QueryCacheEnabled">false</attribute>
<!-- Logging -->
- <attribute name="ShowSqlEnabled">false</attribute>
+ <attribute name="ShowSqlEnabled">true</attribute>
<!-- Mapping files -->
<attribute name="MapResources">
org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml,
+ org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml
org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml
</attribute>
Modified: trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -1,6 +1,7 @@
package org.jboss.blog.model;
import java.util.Iterator;
+import java.util.List;
/**
* A base class for {@link BlogModel} implementations.
@@ -19,4 +20,11 @@
throw new BlogPostDoesNotExistException(guid);
}
+ public List getPosts(int from, int to) {
+ List posts = getPosts();
+ to = Math.min(posts.size(), to);
+ from = Math.min(to, from);
+
+ return posts.subList(from, to);
+ }
}
Modified: trunk/blog-core/src/java/org/jboss/blog/model/BlogModel.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/BlogModel.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/model/BlogModel.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -18,11 +18,23 @@
/**
*
- * @return Sorted set of {@link BlogPost} - posts for this blog model.
+ * @return Sorted list of {@link BlogPost} - posts for this blog model.
*/
public List getPosts();
/**
+ * Gets a specified sublist of {@link BlogModel#getPosts()}. This method
+ * should be used instead of interating over the full list beacuse of
+ * possible performance improvements.
+ * @param from Index of first post to be contained in the returned list.
+ * @param to First index after the last post to be contained in the
+ * returned list.
+ * @return Sorted sublist of {@link BlogPost}, containing posts on
+ * positions from <code>from</code> to <code>to</code>.
+ */
+ public List getPosts(int from, int to);
+
+ /**
*
* @return Set of {@link java.lang.String} - name of categories to
* which this model belongs.
Deleted: trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -1,13 +0,0 @@
-package org.jboss.blog.model.impl;
-
-import java.util.Date;
-import java.util.HashSet;
-
-/**
- * @author Adam Warski (adamw at aster.pl)
- */
-public class DoesNotExistBlogPost extends BlogPostImpl {
- public DoesNotExistBlogPost(String author, String title) {
- super(author, title, "", new Date(), null, null, new HashSet(), null);
- }
-}
Added: trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -0,0 +1,12 @@
+package org.jboss.blog.model.impl;
+
+import java.util.*;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class EmptyBlogModel extends BlogModelImpl {
+ public EmptyBlogModel() {
+ super("", "", "", "", new Date(), new ArrayList(), new HashSet());
+ }
+}
Copied: trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java (from rev 18, trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java)
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java 2006-11-03 21:31:39 UTC (rev 18)
+++ trunk/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -0,0 +1,13 @@
+package org.jboss.blog.model.impl;
+
+import java.util.Date;
+import java.util.HashSet;
+
+/**
+ * @author Adam Warski (adamw at aster.pl)
+ */
+public class EmptyBlogPost extends BlogPostImpl {
+ public EmptyBlogPost() {
+ super("", "", "", new Date(), "", "", new HashSet(), null);
+ }
+}
Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -2,9 +2,7 @@
import org.jboss.blog.BlogName;
import org.jboss.blog.model.BlogModelDoesNotExistException;
-import org.jboss.blog.service.store.model.ModifiableBlogModel;
-import org.jboss.blog.service.store.model.ModifiableBlogPost;
-import org.jboss.blog.service.store.model.BlogModelAlreadyExistsException;
+import org.jboss.blog.service.store.model.*;
import java.util.List;
@@ -79,6 +77,38 @@
public void deleteBlogModel(ModifiableBlogModel model)
throws IllegalArgumentException;
+ /**
+ * Adds the given post to the given blog model. This method should be used
+ * instead of modifying the {@link ModifiableBlogModel#getPosts()}
+ * list.
+ * @param model Model to which the post should be added.
+ * @param post Post to add.
+ * @throws IllegalArgumentException If either model or post is null, or
+ * they haven't been obtained from this store service.
+ */
+ public void addPost(ModifiableBlogModel model, ModifiableBlogPost post)
+ throws IllegalArgumentException;
+
+ /**
+ * Removes the given post from the given blog model. This method should be used
+ * instead of modifying the {@link ModifiableBlogModel#getPosts()}
+ * list.
+ * @param model Model from which the post should be removed.
+ * @param post Post to remove.
+ * @throws IllegalArgumentException If either model or post is null, or
+ * they haven't been obtained from this store service.
+ */
+ public void removePost(ModifiableBlogModel model, ModifiableBlogPost post)
+ throws IllegalArgumentException;
+
+ /**
+ * Deletes the given post from all blog models.
+ * @param post Post to delete.
+ * @throws IllegalArgumentException If either model or post is null, or
+ * they haven't been obtained from this store service.
+ */
+ public void deletePost(ModifiableBlogPost post);
+
// Factory methods
/**
Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml 2006-11-09 14:24:41 UTC (rev 22)
@@ -4,9 +4,8 @@
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="org.jboss.blog.service.store.hibernate">
- <class
- name="HBlogModel"
- table="BLOG_MODELS">
+ <class name="HBlogModel"
+ table="BLOG_MODELS">
<id name="id" column="BLOG_ID">
<generator class="native" />
</id>
@@ -29,10 +28,9 @@
<property name="description" column="DESCRIPTION" type="text" />
- <bag name="posts" table="BLOG_MODELS_POSTS" order-by="CREATED desc"
- cascade="all-delete-orphan">
+ <bag name="posts" inverse="true">
<key column="BLOG_ID" not-null="true" />
- <many-to-many column="POST_ID" class="HBlogPost" />
+ <one-to-many class="HBlogModelPost" />
</bag>
</class>
</hibernate-mapping>
\ No newline at end of file
Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -22,6 +22,8 @@
private Set categories;
+ private HibernateBlogStoreService storeService;
+
public HBlogModel() {
categories = Collections.emptySet();
}
@@ -91,6 +93,14 @@
this.posts = posts;
}
+ public HibernateBlogStoreService getStoreService() {
+ return storeService;
+ }
+
+ public void setStoreService(HibernateBlogStoreService storeService) {
+ this.storeService = storeService;
+ }
+
public void setCategories(Set categories) {
if ((categories != null) && (categories.size() > 1)) {
throw new IllegalArgumentException("Only one categorty per model is supported");
@@ -110,4 +120,8 @@
public Set getCategories() {
return categories;
}
+
+ public List getPosts(int from, int to) {
+ return storeService.getPosts(this, from, to);
+ }
}
Added: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml 2006-11-09 14:24:41 UTC (rev 22)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping package="org.jboss.blog.service.store.hibernate">
+ <class name="HBlogModelPost"
+ table="BLOG_MODELS_POSTS">
+ <id name="id" column="BLOG_MODEL_ID">
+ <generator class="native" />
+ </id>
+
+ <natural-id>
+ <many-to-one name="model" class="HBlogModel" column="BLOG_ID" />
+ <many-to-one name="post" class="HBlogPost" column="POST_ID" />
+ </natural-id>
+ </class>
+</hibernate-mapping>
\ No newline at end of file
Added: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -0,0 +1,64 @@
+package org.jboss.blog.service.store.hibernate;
+
+import org.jboss.blog.tools.BlogTools;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class HBlogModelPost {
+ private Integer id;
+ private HBlogModel model;
+ private HBlogPost post;
+
+ public HBlogModelPost() {
+
+ }
+
+ public HBlogModelPost(HBlogModel model, HBlogPost post) {
+ this.model = model;
+ this.post = post;
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public HBlogModel getModel() {
+ return model;
+ }
+
+ public void setModel(HBlogModel model) {
+ this.model = model;
+ }
+
+ public HBlogPost getPost() {
+ return post;
+ }
+
+ public void setPost(HBlogPost post) {
+ this.post = post;
+ }
+
+ private int hashCode(Integer i) {
+ return i == null ? 0 : i.hashCode();
+ }
+
+ public int hashCode() {
+ return hashCode(model.getId()) + hashCode(post.getId());
+ }
+
+ public boolean equals(Object obj) {
+ if (!(obj instanceof HBlogModelPost)) {
+ return false;
+ }
+
+ HBlogModelPost hbmp = (HBlogModelPost) obj;
+
+ return BlogTools.objectsEqual(hbmp.getModel().getId(), getModel().getId()) &&
+ BlogTools.objectsEqual(hbmp.getPost().getId(), getPost().getId());
+ }
+}
Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml 2006-11-09 14:24:41 UTC (rev 22)
@@ -4,9 +4,8 @@
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="org.jboss.blog.service.store.hibernate">
- <class
- name="HBlogPost"
- table="BLOG_POSTS">
+ <class name="HBlogPost"
+ table="BLOG_POSTS">
<id name="id" column="POST_ID">
<generator class="native" />
</id>
Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -42,6 +42,28 @@
}
+ private void assertBlogNameNotNull(BlogName blogName) {
+ BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+ }
+
+ private HBlogModel castAndAssertBlogModel(ModifiableBlogModel model) {
+ BlogTools.assertNotNull(model, "Blog model cannot be null.");
+ if (!(model instanceof HBlogModel)) {
+ throw new IllegalArgumentException("Model must be obtained from this store service.");
+ }
+
+ return (HBlogModel) model;
+ }
+
+ private HBlogPost castAndAssertBlogPost(ModifiableBlogPost post) {
+ BlogTools.assertNotNull(post, "Blog post cannot be null.");
+ if (!(post instanceof HBlogPost)) {
+ throw new IllegalArgumentException("Post must be obtained from this store service.");
+ }
+
+ return (HBlogPost) post;
+ }
+
/**
* @jmx.managed-operation
*/
@@ -62,7 +84,7 @@
* @jmx.managed-parameter type="org.jboss.blog.BlogName"
*/
public List getAllCategories(BlogName blogName) {
- BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+ assertBlogNameNotNull(blogName);
return sf.getCurrentSession().createQuery(
"select model.blogName from HBlogModel as model " +
"where model.blogName.id = :id")
@@ -84,7 +106,7 @@
* @jmx.managed-parameter type="org.jboss.blog.BlogName"
*/
public boolean getBlogModifiable(BlogName blogName) {
- BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+ assertBlogNameNotNull(blogName);
return blogExists(blogName);
}
@@ -94,17 +116,19 @@
*/
public ModifiableBlogModel getBlogModel(BlogName blogName)
throws BlogModelDoesNotExistException {
- BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+ assertBlogNameNotNull(blogName);
- ModifiableBlogModel mbm = (ModifiableBlogModel) sf.getCurrentSession()
+ HBlogModel hbm = (HBlogModel) sf.getCurrentSession()
.createQuery("from HBlogModel as model where model.blogName = :name")
.setParameter("name", blogName).uniqueResult();
- if (mbm == null) {
+ if (hbm == null) {
throw new BlogModelDoesNotExistException(blogName.toString());
}
- return mbm;
+ hbm.setStoreService(this);
+
+ return hbm;
}
/**
@@ -112,11 +136,12 @@
* @jmx.managed-parameter type="org.jboss.blog.BlogName"
*/
public ModifiableBlogModel newBlogModel(BlogName blogName) {
- BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
+ assertBlogNameNotNull(blogName);
HBlogModel hbm = new HBlogModel();
hbm.setBlogName(blogName);
hbm.setPosts(new ArrayList());
+ hbm.setStoreService(this);
return hbm;
}
@@ -136,13 +161,8 @@
* @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogModel"
*/
public void saveNewBlogModel(ModifiableBlogModel model) throws BlogModelAlreadyExistsException {
- BlogTools.assertNotNull(model, "Blog model cannot be null.");
- if (!(model instanceof HBlogModel)) {
- throw new IllegalArgumentException("Model must be earlier constructed with " +
- "the factory method.");
- }
- HBlogModel hmodel = (HBlogModel) model;
- BlogTools.assertNotNull(hmodel.getBlogName(), "Blog name cannot be null.");
+ HBlogModel hmodel = castAndAssertBlogModel(model);
+ assertBlogNameNotNull(hmodel.getBlogName());
// TODO: checking if the blog already exist or not. Can it be done in a better way?
if (blogExists(hmodel.getBlogName())) {
@@ -157,8 +177,60 @@
* @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogModel"
*/
public void deleteBlogModel(ModifiableBlogModel model) {
- BlogTools.assertNotNull(model, "Blog model cannot be null");
+ HBlogModel hmodel = castAndAssertBlogModel(model);
- sf.getCurrentSession().delete(model);
+ sf.getCurrentSession().delete(hmodel);
}
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogModel"
+ * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogPost"
+ */
+ public void addPost(ModifiableBlogModel model, ModifiableBlogPost post) {
+ HBlogModel hmodel = castAndAssertBlogModel(model);
+ HBlogPost hpost = castAndAssertBlogPost(post);
+
+ // TODO Thread-unsafe checking
+ if (((Integer) sf.getCurrentSession().createQuery("select count(*) from " +
+ "HBlogModelPost as bmp where bmp.model = :model and bmp.post = :post")
+ .setEntity("model", hmodel).setEntity("post", hpost).uniqueResult()).intValue() == 0) {
+ hmodel.getPosts().add(hpost);
+ sf.getCurrentSession().save(new HBlogModelPost(hmodel, hpost));
+ }
+ }
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogModel"
+ * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogPost"
+ */
+ public void removePost(ModifiableBlogModel model, ModifiableBlogPost post) {
+ HBlogModel hmodel = castAndAssertBlogModel(model);
+ HBlogPost hpost = castAndAssertBlogPost(post);
+
+ hmodel.getPosts().remove(hpost);
+ sf.getCurrentSession().createQuery("delete from HBlogModelPost as bmp " +
+ "where bmp.model = :model and bmp.post = :post")
+ .setEntity("model", hmodel).setEntity("post", hpost).executeUpdate();
+ }
+
+ /**
+ * @jmx.managed-operation
+ * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogPost"
+ */
+ public void deletePost(ModifiableBlogPost post) {
+ HBlogPost hpost = castAndAssertBlogPost(post);
+
+ sf.getCurrentSession().createQuery("delete from HBlogModelPost as bmp " +
+ "where bmp.post = :post").setEntity("post", hpost).executeUpdate();
+ }
+
+ //
+
+ List getPosts(HBlogModel model, int from, int to) {
+ return sf.getCurrentSession().createQuery(
+ "select bmp.post from HBlogModelPost bmp where bmp.model = :model")
+ .setEntity("model", model).setFirstResult(from).setMaxResults(to-from).list();
+ }
}
Added: trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -0,0 +1,13 @@
+package org.jboss.blog.tools;
+
+import javax.faces.context.FacesContext;
+import javax.faces.application.FacesMessage;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class UITools {
+ public static void addMessage(String message) {
+ FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(message));
+ }
+}
Modified: trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -1,17 +1,30 @@
package org.jboss.blog.ui;
+import org.jboss.blog.model.BlogModel;
+import org.jboss.blog.model.BlogModelDoesNotExistException;
+import org.jboss.blog.model.impl.EmptyBlogModel;
+import org.jboss.blog.tools.BlogTools;
+
/**
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
*/
public class BlogEdit {
private State state;
+ private BlogView blogView;
+ private boolean initDone;
+
private String title;
- private String autor;
+ private String author;
private String description;
private String link;
+ public BlogEdit() {
+ initDone = false;
+ }
+
public String getTitle() {
+ if (!initDone) { init(); }
return title;
}
@@ -19,15 +32,17 @@
this.title = title;
}
- public String getAutor() {
- return autor;
+ public String getAuthor() {
+ if (!initDone) { init(); }
+ return author;
}
- public void setAutor(String autor) {
- this.autor = autor;
+ public void setAuthor(String author) {
+ this.author = author;
}
public String getDescription() {
+ if (!initDone) { init(); }
return description;
}
@@ -36,6 +51,7 @@
}
public String getLink() {
+ if (!initDone) { init(); }
return link;
}
@@ -51,6 +67,34 @@
this.state = state;
}
+ public BlogView getBlogView() {
+ return blogView;
+ }
+
+ public void setBlogView(BlogView blogView) {
+ this.blogView = blogView;
+ }
+
+ //
+
+ private void init() {
+ BlogModel model;
+
+ try {
+ model = BlogTools.getBlogService().getStoreService().getBlogModel(
+ blogView.getBlogName());
+ } catch (BlogModelDoesNotExistException e) {
+ model = new EmptyBlogModel();
+ }
+
+ author = model.getAuthor();
+ title = model.getTitle();
+ description = model.getDescription();
+ link = model.getLink();
+
+ initDone = true;
+ }
+
// Actions
private String getReturnTo() {
Modified: trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java 2006-11-09 14:24:41 UTC (rev 22)
@@ -3,12 +3,14 @@
import org.jboss.blog.model.BlogModel;
import org.jboss.blog.model.BlogModelDoesNotExistException;
import org.jboss.blog.model.BlogPost;
-import org.jboss.blog.model.impl.DoesNotExistBlogPost;
+import org.jboss.blog.model.impl.EmptyBlogPost;
+import org.jboss.blog.model.impl.EmptyBlogModel;
import org.jboss.blog.BlogName;
import org.jboss.blog.service.store.BlogStoreService;
import org.jboss.blog.service.store.model.ModifiableBlogModel;
import org.jboss.blog.service.store.model.BlogModelAlreadyExistsException;
import org.jboss.blog.tools.BlogTools;
+import org.jboss.blog.tools.UITools;
import javax.faces.context.FacesContext;
import javax.faces.component.UIData;
@@ -55,6 +57,7 @@
private Boolean viewPostsOnSeparatePage;
private Boolean viewAllPosts;
private Boolean postsExpandable;
+ private Boolean blogModifiable;
private Object getRequest() {
return FacesContext.getCurrentInstance().getExternalContext().getRequest();
@@ -76,9 +79,11 @@
if (blogModel == null) {
try {
blogModel = BlogTools.getBlogService().getModelService().getBlogModel(
- getBlogName());
+ getBlogName());
} catch (BlogModelDoesNotExistException e) {
- throw new RuntimeException(e);
+ UITools.addMessage("The blog you requested does not exist: " +
+ getBlogName().toString() + ".");
+ blogModel = new EmptyBlogModel();
}
}
@@ -129,6 +134,15 @@
return postsExpandable;
}
+ public Boolean getBlogModifiable() {
+ if (blogModifiable == null) {
+ blogModifiable = Boolean.valueOf(BlogTools.getBlogService().getStoreService().
+ getBlogModifiable(getBlogName()));
+ }
+
+ return blogModifiable;
+ }
+
//
public boolean getHasPrevious() {
@@ -154,7 +168,7 @@
}
public List getPosts() {
- return getBlogModel().getPosts().subList(getFrom().intValue(), getTo().intValue());
+ return getBlogModel().getPosts(getFrom().intValue(), getTo().intValue());
}
public String getSelectedPostTitleAsId() {
@@ -165,10 +179,6 @@
getBlogViewState().setSelectedPostTitleAsId(selectedPostId);
}
- private BlogPost getDoesNotExistBlogEntry() {
- return new DoesNotExistBlogPost("JBoss Blog", "This entry doesn't exist");
- }
-
private BlogPost searchForBlogPost(List entries, String id, int from, int to) {
for (int i=from; i<=to; i++) {
BlogPost current = (BlogPost) entries.get(i);
@@ -180,12 +190,17 @@
return null;
}
+ private BlogPost postDoesNotExist(String id) {
+ UITools.addMessage("The post you requested: " + id + " does not exist.");
+ return new EmptyBlogPost();
+ }
+
public BlogPost getSelectedPost() {
String id = getSelectedPostTitleAsId();
List entries = getBlogModel().getPosts();
if (id == null) {
- return getDoesNotExistBlogEntry();
+ return postDoesNotExist(id);
}
BlogPost ret;
@@ -201,7 +216,7 @@
}
if (ret == null) {
- return getDoesNotExistBlogEntry();
+ return postDoesNotExist(id);
}
return ret;
Modified: trunk/blog-core/src/web/WEB-INF/faces-config.xml
===================================================================
--- trunk/blog-core/src/web/WEB-INF/faces-config.xml 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/web/WEB-INF/faces-config.xml 2006-11-09 14:24:41 UTC (rev 22)
@@ -32,6 +32,10 @@
<property-name>state</property-name>
<value>#{state}</value>
</managed-property>
+ <managed-property>
+ <property-name>blogView</property-name>
+ <value>#{blogView}</value>
+ </managed-property>
</managed-bean>
<managed-bean>
Modified: trunk/blog-core/src/web/WEB-INF/web.xml
===================================================================
--- trunk/blog-core/src/web/WEB-INF/web.xml 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/web/WEB-INF/web.xml 2006-11-09 14:24:41 UTC (rev 22)
@@ -23,11 +23,13 @@
<!-- Servlet environment -->
<context-param>
<param-name>blogId</param-name>
- <param-value>http://finance.yahoo.com/rss/headline?s=rhat</param-value>
+ <!--<param-value>http://finance.yahoo.com/rss/headline?s=rhat</param-value>-->
+ <param-value>id0</param-value>
</context-param>
<context-param>
<param-name>blogCategory</param-name>
- <param-value></param-value>
+ <!--<param-value></param-value>-->
+ <param-value>cat0</param-value>
</context-param>
<context-param>
<param-name>numberOfPostsPerPage</param-name>
Modified: trunk/blog-core/src/web/views/blog_view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/blog_view.xhtml 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/web/views/blog_view.xhtml 2006-11-09 14:24:41 UTC (rev 22)
@@ -6,11 +6,9 @@
xmlns:blog="http://www.jboss.org/portal/jbossblog">
<ui:composition template="view.xhtml">
<ui:define name="editlink">
- <h:form>
- <h:commandLink value="Edit"
- action="blog_edit"
- actionListener="#{blogView.blogEditFromBlogView}" />
- </h:form>
+ <h:commandLink value="Edit"
+ action="blog_edit"
+ actionListener="#{blogView.blogEditFromBlogView}" />
</ui:define>
<ui:define name="viewmain">
Modified: trunk/blog-core/src/web/views/post_view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/post_view.xhtml 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/web/views/post_view.xhtml 2006-11-09 14:24:41 UTC (rev 22)
@@ -6,11 +6,9 @@
xmlns:blog="http://www.jboss.org/portal/jbossblog">
<ui:composition template="view.xhtml">
<ui:define name="editlink">
- <h:form>
- <h:commandLink value="Edit"
- action="blog_edit"
- actionListener="#{blogView.blogEditFromPostView}" />
- </h:form>
+ <h:commandLink value="Edit"
+ action="blog_edit"
+ actionListener="#{blogView.blogEditFromPostView}" />
</ui:define>
<ui:define name="viewmain">
@@ -18,7 +16,7 @@
<b>#{blogView.selectedPost.title}</b><br />
#{blogView.selectedPost.description}
-
+
<h2>Navigation</h2>
<h:form>
<h:commandLink action="blog_view" actionListener="#{blogView.backFromPostView}">
Modified: trunk/blog-core/src/web/views/view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/view.xhtml 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/blog-core/src/web/views/view.xhtml 2006-11-09 14:24:41 UTC (rev 22)
@@ -12,9 +12,13 @@
Description: #{blogView.blogModel.description} <br />
Author: #{blogView.blogModel.author}
- <blog:isAllowed fragment="acl://manageCategory" contextData="#{blogView.blogName}">
- <p>Click here to edit: <ui:insert name="editlink" /></p>
- </blog:isAllowed>
+ <h:panelGroup rendered="#{blogView.blogModifiable}">
+ <blog:isAllowed fragment="acl://manageCategory" contextData="#{blogView.blogName}">
+ <h:form>
+ <p>Click here to edit: <ui:insert name="editlink" /></p>
+ </h:form>
+ </blog:isAllowed>
+ </h:panelGroup>
<p><h:messages /></p>
Modified: trunk/jbossblog.iws
===================================================================
--- trunk/jbossblog.iws 2006-11-08 23:17:29 UTC (rev 21)
+++ trunk/jbossblog.iws 2006-11-09 14:24:41 UTC (rev 22)
@@ -17,29 +17,27 @@
</component>
<component name="ChangeListManager">
<list default="true" name="Default" comment="">
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools/UITools.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogModel.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogModel.java" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/DoesNotExistBlogPost.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/index.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/index.xhtml" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/CurrentView.java" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/viewpost.xhtml" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/viewblog.xhtml" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/State.java" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/userview_t.xhtml" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/common.xhtml" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogPost.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml" afterPath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_edit.xhtml" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/view.xhtml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/GlobalViewState.java" afterPath="" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/web/views/userblogview_t.xhtml" afterPath="" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml" afterPath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/view.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/view.xhtml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java" />
</list>
</component>
<component name="ChangeListSynchronizer" />
@@ -164,99 +162,28 @@
</component>
<component name="FileEditorManager">
<leaf>
- <file leaf-file-name="view.xhtml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/view.xhtml">
+ <file leaf-file-name="BlogView.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="9" column="25" selection-start="486" selection-end="486" vertical-scroll-proportion="0.22727273">
- <folding />
+ <state line="170" column="81" selection-start="4999" selection-end="4999" vertical-scroll-proportion="-2.2021945">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
</file>
- <file leaf-file-name="acl-permissions.xml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml">
+ <file leaf-file-name="BlogEdit.java" pinned="false" current="true" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="31" column="45" selection-start="1295" selection-end="1295" vertical-scroll-proportion="0.54545456">
- <folding />
+ <state line="10" column="13" selection-start="296" selection-end="296" vertical-scroll-proportion="0.23510972">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="faces-config.xml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml">
- <provider selected="true" editor-type-id="text-editor">
- <state line="48" column="31" selection-start="1821" selection-end="1821" vertical-scroll-proportion="0.53872055">
- <folding />
- </state>
- </provider>
- <provider editor-type-id="com.intellij.jsf.yfilesGraph.editor.FacesNavigationFileEditorProvider">
- <state />
- </provider>
- <provider editor-type-id="com.intellij.jsf.ui.FacesConfigEditorProvider">
- <state />
- </provider>
- </entry>
- </file>
- <file leaf-file-name="acl-mapping.xml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml">
- <provider selected="true" editor-type-id="text-editor">
- <state line="48" column="44" selection-start="2529" selection-end="2529" vertical-scroll-proportion="0.54545456">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="blog_view.xhtml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml">
- <provider selected="true" editor-type-id="text-editor">
- <state line="14" column="4" selection-start="576" selection-end="576" vertical-scroll-proportion="0.3181818">
- <folding />
- </state>
- </provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
- </entry>
- </file>
- <file leaf-file-name="post_view.xhtml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml">
- <provider selected="true" editor-type-id="text-editor">
- <state line="10" column="50" selection-start="460" selection-end="460" vertical-scroll-proportion="0.25252524">
- <folding />
- </state>
- </provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
- </entry>
- </file>
- <file leaf-file-name="blog_mod.xhtml" pinned="false" current="true" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml">
- <provider selected="true" editor-type-id="text-editor">
- <state line="10" column="8" selection-start="518" selection-end="518" vertical-scroll-proportion="0.25252524">
- <folding />
- </state>
- </provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
- </entry>
- </file>
- <file leaf-file-name="blog_edit.xhtml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_edit.xhtml">
- <provider selected="true" editor-type-id="text-editor">
- <state line="6" column="63" selection-start="333" selection-end="333" vertical-scroll-proportion="0.15151516">
- <folding />
- </state>
- </provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
- </entry>
- </file>
</leaf>
</component>
<component name="FindManager">
@@ -557,6 +484,40 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/tools" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
@@ -595,6 +556,128 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
@@ -693,6 +776,44 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jbossblog.ipr" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/etc" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
@@ -736,7 +857,7 @@
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
- <showStructure PackagesPane="false" Scope="false" Favorites="false" ProjectPane="false" />
+ <showStructure ProjectPane="false" Scope="false" PackagesPane="false" Favorites="false" />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
@@ -1011,136 +1132,114 @@
<option name="myLastEditedConfigurable" value="Project Default" />
</component>
<component name="editorHistoryManager">
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/EmptyBlogModel.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="52" column="4" selection-start="962" selection-end="962" vertical-scroll-proportion="0.8951613">
+ <state line="7" column="13" selection-start="137" selection-end="137" vertical-scroll-proportion="0.16935484">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/common.xhtml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/impl/BlogModelImpl.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="10" column="28" selection-start="455" selection-end="455" vertical-scroll-proportion="0.25252524">
+ <state line="12" column="13" selection-start="275" selection-end="275" vertical-scroll-proportion="-0.31451613">
<folding />
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/web.xml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="37" column="24" selection-start="1251" selection-end="1251" vertical-scroll-proportion="0.75">
+ <state line="123" column="61" selection-start="5910" selection-end="5910" vertical-scroll-proportion="1.0247934">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AuthorizationListener.java">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="70" column="26" selection-start="2538" selection-end="2538" vertical-scroll-proportion="0.42975205">
+ <state line="10" column="17" selection-start="214" selection-end="214" vertical-scroll-proportion="0.16935484">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="214" column="44" selection-start="6183" selection-end="6183" vertical-scroll-proportion="0.30806452">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
+ <state line="22" column="46" selection-start="607" selection-end="607" vertical-scroll-proportion="0.43548387">
+ <folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="48" column="31" selection-start="1821" selection-end="1821" vertical-scroll-proportion="0.53872055">
+ <state line="16" column="25" selection-start="484" selection-end="484" vertical-scroll-proportion="0.29032257">
<folding />
</state>
</provider>
- <provider editor-type-id="com.intellij.jsf.yfilesGraph.editor.FacesNavigationFileEditorProvider">
- <state />
- </provider>
- <provider editor-type-id="com.intellij.jsf.ui.FacesConfigEditorProvider">
- <state />
- </provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="31" column="45" selection-start="1295" selection-end="1295" vertical-scroll-proportion="0.54545456">
+ <state line="86" column="58" selection-start="3470" selection-end="3470" vertical-scroll-proportion="0.4919355">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="48" column="44" selection-start="2529" selection-end="2529" vertical-scroll-proportion="0.54545456">
+ <state line="7" column="11" selection-start="289" selection-end="289" vertical-scroll-proportion="0.16935484">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.hbm.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="10" column="50" selection-start="460" selection-end="460" vertical-scroll-proportion="0.25252524">
+ <state line="29" column="32" selection-start="1097" selection-end="1097" vertical-scroll-proportion="0.7016129">
<folding />
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/view.xhtml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="9" column="25" selection-start="486" selection-end="486" vertical-scroll-proportion="0.22727273">
+ <state line="2" column="38" selection-start="87" selection-end="87" vertical-scroll-proportion="0.048387095">
<folding />
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="14" column="4" selection-start="576" selection-end="576" vertical-scroll-proportion="0.3181818">
+ <state line="8" column="40" selection-start="361" selection-end="361" vertical-scroll-proportion="0.18808778">
<folding />
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_edit.xhtml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="6" column="63" selection-start="333" selection-end="333" vertical-scroll-proportion="0.15151516">
+ <state line="18" column="46" selection-start="576" selection-end="576" vertical-scroll-proportion="0.3291536">
<folding />
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/AclBlogPermissionsService.java">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="53" column="19" selection-start="1926" selection-end="1926" vertical-scroll-proportion="0.72066116">
+ <state line="228" column="29" selection-start="7807" selection-end="7807" vertical-scroll-proportion="0.6708464">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/permissions/acl/ACLTagHandler.java">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogView.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="83" column="20" selection-start="2501" selection-end="2501" vertical-scroll-proportion="0.59504133">
- <folding />
+ <state line="170" column="81" selection-start="4999" selection-end="4999" vertical-scroll-proportion="-2.2021945">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="10" column="8" selection-start="518" selection-end="518" vertical-scroll-proportion="0.25252524">
- <folding />
+ <state line="10" column="13" selection-start="296" selection-end="296" vertical-scroll-proportion="0.23510972">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
</component>
</project>
More information about the jboss-cvs-commits
mailing list