[jboss-cvs] JBossBlog SVN: r26 - in trunk: . blog-core/src/etc/META-INF blog-core/src/java/org/jboss/blog/model blog-core/src/java/org/jboss/blog/service/model 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/service/store/model 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
Sat Nov 11 09:26:04 EST 2006
Author: adamw
Date: 2006-11-11 09:25:51 -0500 (Sat, 11 Nov 2006)
New Revision: 26
Added:
trunk/blog-core/src/java/org/jboss/blog/ui/SelectableBlogName.java
trunk/blog-core/src/web/views/post_new.xhtml
Modified:
trunk/blog-core/src/etc/META-INF/acl-mapping.xml
trunk/blog-core/src/etc/META-INF/jboss-service.xml
trunk/blog-core/src/java/org/jboss/blog/model/BlogModel.java
trunk/blog-core/src/java/org/jboss/blog/model/BlogPost.java
trunk/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.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.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/HBlogPost.hbm.xml
trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java
trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java
trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.java
trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java
trunk/blog-core/src/java/org/jboss/blog/tools/UITools.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/java/org/jboss/blog/ui/PostEdit.java
trunk/blog-core/src/web/WEB-INF/faces-config.xml
trunk/blog-core/src/web/views/blog_view.xhtml
trunk/blog-core/src/web/views/post_edit.xhtml
trunk/blog-core/src/web/views/post_mod.xhtml
trunk/blog-core/src/web/views/post_view.xhtml
trunk/jbossblog.iws
Log:
http://jira.jboss.com/jira/browse/JBBLOG-12
Modified: trunk/blog-core/src/etc/META-INF/acl-mapping.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/acl-mapping.xml 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/etc/META-INF/acl-mapping.xml 2006-11-11 14:25:51 UTC (rev 26)
@@ -118,6 +118,10 @@
<class>org.jboss.blog.ui.PostEdit</class>
<method>save</method>
</resource>
+ <resource type="jsfAction" criteriaId="managePost://action">
+ <class>org.jboss.blog.ui.PostEdit</class>
+ <method>saveNew</method>
+ </resource>
<implies>manageComment</implies>
</function>
</module>
Modified: trunk/blog-core/src/etc/META-INF/jboss-service.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/jboss-service.xml 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/etc/META-INF/jboss-service.xml 2006-11-11 14:25:51 UTC (rev 26)
@@ -116,7 +116,7 @@
<attribute name="QueryCacheEnabled">false</attribute>
<!-- Logging -->
- <attribute name="ShowSqlEnabled">true</attribute>
+ <attribute name="ShowSqlEnabled">false</attribute>
<!-- Mapping files -->
<attribute name="MapResources">
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-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/model/BlogModel.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -19,7 +19,7 @@
/**
* Gets all posts that are in this model. Invoking this method is
* discouraged. If possible, use {@link BlogModel#getPosts(int, int)}.
- * @return Sorted list of {@link BlogPost} - posts for this blog model.
+ * @return Sorted, immutable list of {@link BlogPost} - posts for this blog model.
*/
public List getPosts();
@@ -37,7 +37,7 @@
/**
*
- * @return Set of {@link java.lang.String} - name of categories to
+ * @return Immutable set of {@link java.lang.String} - name of categories to
* which this model belongs.
*/
public Set getCategories();
Modified: trunk/blog-core/src/java/org/jboss/blog/model/BlogPost.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/model/BlogPost.java 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/model/BlogPost.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -27,7 +27,7 @@
/**
*
- * @return Set of {@link java.lang.String} - name of categories to
+ * @return Immutable set of {@link java.lang.String} - name of categories to
* which this post belongs.
*/
public Set getCategories();
Modified: trunk/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -85,7 +85,8 @@
BlogTools.isEmpty(author) ? defaultAuthor : author,
post.getTitle(), post.getDescription().getValue(),
post.getPublishedDate(), post.getLink(),
- post.getUri(), getStringCategories(post.getCategories()),
+ post.getUri(),
+ Collections.unmodifiableSet(getStringCategories(post.getCategories())),
commentsRss));
}
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-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/BlogStoreService.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -3,8 +3,6 @@
import org.jboss.blog.BlogName;
import org.jboss.blog.model.BlogModelDoesNotExistException;
import org.jboss.blog.service.store.model.*;
-import org.jboss.blog.service.store.hibernate.HBlogPost;
-import org.jboss.blog.service.store.hibernate.HBlogModel;
import java.util.List;
@@ -79,38 +77,6 @@
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
/**
@@ -119,9 +85,11 @@
* @param blogName Name of the new blog model.
* @return A new blog model, which can be later saved.
* @throws IllegalArgumentException If blog name is null.
+ * @throws BlogModelAlreadyExistsException If a model with the given
+ * blog name already exists.
*/
public ModifiableBlogModel newBlogModel(BlogName blogName)
- throws IllegalArgumentException;
+ throws IllegalArgumentException, BlogModelAlreadyExistsException;
/**
* Creates a new blog post, with an empty set of categories. To later
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-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -2,10 +2,12 @@
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.model.AbstractBlogModel;
import org.jboss.blog.model.BlogPost;
import org.jboss.blog.model.BlogPostDoesNotExistException;
import org.jboss.blog.BlogName;
+import org.jboss.blog.tools.BlogTools;
import java.util.*;
@@ -46,7 +48,11 @@
public void setBlogName(BlogName blogName) {
this.blogName = blogName;
- categories = Collections.singleton(blogName.getCategory());
+ if (blogName.getCategory() == null) {
+ categories = Collections.emptySet();
+ } else {
+ categories = Collections.singleton(blogName.getCategory());
+ }
}
public String getAuthor() {
@@ -89,6 +95,23 @@
this.created = created;
}
+ public String getCategory() {
+ return getBlogName().getCategory();
+ }
+
+ public void setCategory(String category)
+ throws IllegalArgumentException, BlogModelAlreadyExistsException {
+ if (BlogTools.isEmpty(category)) {
+ throw new IllegalArgumentException("Category cannot be null or empty.");
+ }
+
+ /* Trying to create a new model with a given category name, to check
+ * if it doesn't already exist. */
+ getStoreService().newBlogModel(new BlogName(getBlogName().getId(), category));
+
+ getBlogName().setCategory(category);
+ }
+
//
public List getModelPosts() {
@@ -99,7 +122,6 @@
this.modelPosts = posts;
}
-
public HibernateBlogStoreService getStoreService() {
return storeService;
}
@@ -110,22 +132,6 @@
//
- public void setCategories(Set categories) {
- if ((categories != null) && (categories.size() > 1)) {
- throw new IllegalArgumentException("Only one categorty per model is supported");
- }
-
- if ((categories == null) || (categories.size() == 0)) {
- getBlogName().setCategory(null);
- this.categories = Collections.singleton(null);
- return;
- }
-
- String cat = (String) categories.iterator().next();
- getBlogName().setCategory(cat);
- this.categories = Collections.singleton(cat);
- }
-
public Set getCategories() {
return categories;
}
@@ -143,32 +149,15 @@
Collections.sort(posts);
}
- return posts;
+ return Collections.unmodifiableList(posts);
}
- public void setPosts(List posts) {
- // Craeting a list of HBlogModelPost instances from the given list of posts.
- List l = new ArrayList();
- for (Iterator iter = posts.iterator(); iter.hasNext();) {
- Object post = iter.next();
- if (!(post instanceof HBlogPost)) {
- throw new IllegalArgumentException("Trying to add posts to the store service " +
- "which were not obtained from it.");
- }
-
- l.add(new HBlogModelPost(this, (HBlogPost) post));
- }
-
- setModelPosts(l);
- }
-
//
public List getPosts(int from, int to) {
return storeService.getPosts(this, from, to);
}
-
public ModifiableBlogPost getModifiableBlogPostByTitleAsId(String titleAsId)
throws BlogPostDoesNotExistException {
HBlogPost p = storeService.getPostByTitleAsId(this, titleAsId);
@@ -183,4 +172,18 @@
throws BlogPostDoesNotExistException {
return getModifiableBlogPostByTitleAsId(titleAsId);
}
+
+ public void addPost(ModifiableBlogPost post) throws IllegalArgumentException {
+ HibernateBlogStoreService storeService = getStoreService();
+ HBlogPost hpost = storeService.castAndAssertBlogPost(post);
+
+ storeService.addPost(this, hpost);
+ }
+
+ public void removePost(ModifiableBlogPost post) throws IllegalArgumentException {
+ HibernateBlogStoreService storeService = getStoreService();
+ HBlogPost hpost = storeService.castAndAssertBlogPost(post);
+
+ storeService.removePost(this, hpost);
+ }
}
\ No newline at end of file
Modified: 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-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml 2006-11-11 14:25:51 UTC (rev 26)
@@ -12,7 +12,7 @@
<natural-id>
<many-to-one name="model" class="HBlogModel" column="BLOG_ID" />
- <many-to-one name="post" class="HBlogPost" column="POST_ID" />
+ <many-to-one name="post" class="HBlogPost" column="POST_ID" cascade="persist,merge,save-update" />
</natural-id>
</class>
</hibernate-mapping>
\ No newline at end of file
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-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.hbm.xml 2006-11-11 14:25:51 UTC (rev 26)
@@ -27,9 +27,9 @@
<property name="description" column="DESCRIPTION" type="text" />
- <set name="categories" table="BLOG_POST_CATEGORIES">
+ <bag name="modelPosts" inverse="true">
<key column="POST_ID" not-null="true" />
- <element column="POST_CATEGORY" type="string" />
- </set>
+ <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/HBlogPost.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -4,8 +4,7 @@
import org.jboss.blog.model.AbstractBlogPost;
import org.jboss.blog.tools.BlogTools;
-import java.util.Date;
-import java.util.Set;
+import java.util.*;
/**
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
@@ -20,7 +19,8 @@
private String commentLink;
private String titleAsId;
private Date created;
-
+
+ private List modelPosts;
private Set categories;
public HBlogPost() {
@@ -104,11 +104,22 @@
this.created = created;
}
- public Set getCategories() {
- return categories;
+ public List getModelPosts() {
+ return modelPosts;
}
- public void setCategories(Set categories) {
- this.categories = categories;
+ public void setModelPosts(List modelPosts) {
+ this.modelPosts = modelPosts;
}
+
+ public Set getCategories() {
+ if (categories == null) {
+ categories = new HashSet();
+ for (Iterator iter = getModelPosts().iterator(); iter.hasNext();) {
+ categories.add(((HBlogModelPost) iter.next()).getModel().getCategory());
+ }
+ }
+
+ return Collections.unmodifiableSet(categories);
+ }
}
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-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -13,7 +13,6 @@
import javax.naming.InitialContext;
import java.util.List;
import java.util.ArrayList;
-import java.util.HashSet;
import java.util.Iterator;
/**
@@ -46,7 +45,7 @@
BlogTools.assertNotNull(blogName, "Blog name cannot be null.");
}
- private HBlogModel castAndAssertBlogModel(ModifiableBlogModel model) {
+ 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.");
@@ -55,7 +54,7 @@
return (HBlogModel) model;
}
- private HBlogPost castAndAssertBlogPost(ModifiableBlogPost post) {
+ 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.");
@@ -87,14 +86,14 @@
assertBlogNameNotNull(blogName);
return sf.getCurrentSession().createQuery(
"select model.blogName from HBlogModel as model " +
- "where model.blogName.id = :id")
+ "where model.blogName.id = :id")
.setParameter("id", blogName.getId()).list();
}
private boolean blogExists(BlogName blogName) {
Long count = (Long) sf.getCurrentSession().createQuery(
"select count(*) from HBlogModel as model where " +
- "model.blogName = :name")
+ "model.blogName = :name")
.setParameter("name", blogName)
.uniqueResult();
@@ -129,18 +128,26 @@
hbm.setStoreService(this);
return hbm;
- }
+ }
/**
* @jmx.managed-operation
* @jmx.managed-parameter type="org.jboss.blog.BlogName"
*/
- public ModifiableBlogModel newBlogModel(BlogName blogName) {
+ public ModifiableBlogModel newBlogModel(BlogName blogName) throws BlogModelAlreadyExistsException {
assertBlogNameNotNull(blogName);
- HBlogModel hbm = new HBlogModel();
+ HBlogModel hbm = (HBlogModel) sf.getCurrentSession()
+ .createQuery("from HBlogModel as model where model.blogName = :name")
+ .setParameter("name", blogName).uniqueResult();
+
+ if (hbm != null) {
+ // Blog model already exists.
+ throw new BlogModelAlreadyExistsException(blogName.toString());
+ }
+
+ hbm = new HBlogModel();
hbm.setBlogName(blogName);
- hbm.setPosts(new ArrayList());
hbm.setStoreService(this);
return hbm;
@@ -150,10 +157,10 @@
* @jmx.managed-operation
*/
public ModifiableBlogPost newBlogPost() {
- ModifiableBlogPost mbp = new HBlogPost();
- mbp.setCategories(new HashSet());
+ HBlogPost post = new HBlogPost();
+ post.setModelPosts(new ArrayList());
- return mbp;
+ return post;
}
/**
@@ -182,52 +189,44 @@
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) {
+ //
+
+ void addPost(HBlogModel model, HBlogPost 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));
+ if ((hpost.getId() == null) ||
+ ((Long) sf.getCurrentSession().createQuery("select count(*) from " +
+ "HBlogModelPost as bmp where bmp.model = :model and bmp.post = :post")
+ .setEntity("model", hmodel).setEntity("post", hpost).uniqueResult()).longValue() == 0) {
+
+ HBlogModelPost hbmp = new HBlogModelPost(hmodel, hpost);
+ hmodel.getModelPosts().add(hbmp);
+ hpost.getModelPosts().add(hbmp);
+ sf.getCurrentSession().save(hbmp);
}
}
- /**
- * @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) {
+ void removePost(HBlogModel model, HBlogPost 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();
- }
+ HBlogModelPost hbmp = (HBlogModelPost) sf.getCurrentSession().createQuery(
+ "from HBlogModelPost as bmp where bmp.model = :model " +
+ "and bmp.post = :post").setEntity("model", hmodel)
+ .setEntity("post", hpost).uniqueResult();
- /**
- * @jmx.managed-operation
- * @jmx.managed-parameter type="org.jboss.blog.service.store.model.ModifiableBlogPost"
- */
- public void deletePost(ModifiableBlogPost post) {
- HBlogPost hpost = castAndAssertBlogPost(post);
+ if (hbmp == null) {
+ // Nothing to delete.
+ return;
+ }
- sf.getCurrentSession().createQuery("delete from HBlogModelPost as bmp " +
- "where bmp.post = :post").setEntity("post", hpost).executeUpdate();
+ hmodel.getModelPosts().remove(hbmp);
+ hpost.getModelPosts().remove(hbmp);
+ sf.getCurrentSession().delete(hbmp);
}
- //
-
/**
* Gets posts for the given model which, when sorted, are between the given
* indexes in the list of all posts.
@@ -240,7 +239,7 @@
List getPosts(HBlogModel model, int from, int to) {
return sf.getCurrentSession().createQuery(
"select bmp.post from HBlogModelPost bmp where bmp.model = :model " +
- "order by bmp.post.created desc")
+ "order by bmp.post.created desc")
.setEntity("model", model).setFirstResult(from).setMaxResults(to-from).list();
}
@@ -254,7 +253,7 @@
HBlogPost getPostByTitleAsId(HBlogModel model, String titleAsId) {
return (HBlogPost) sf.getCurrentSession().createQuery(
"select bmp.post from HBlogModelPost bmp where bmp.model = :model " +
- "and bmp.post.titleAsId = :titleAsId").setEntity("model", model)
+ "and bmp.post.titleAsId = :titleAsId").setEntity("model", model)
.setParameter("titleAsId", titleAsId).uniqueResult();
}
}
Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.java 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -16,8 +16,54 @@
public void setDescription(String description);
public void setLink(String link);
public void setCreated(Date created);
- public void setPosts(List posts);
- public void setCategories(Set categories);
- public ModifiableBlogPost getModifiableBlogPostByTitleAsId(String titleAsId) throws BlogPostDoesNotExistException;
+ /**
+ *
+ * @return Set containg {@link ModifiableBlogModel#getCategory()} - name of
+ * the category to which this model belongs.
+ */
+ public Set getCategories();
+
+ /**
+ *
+ * @return Name of the category, to which this model belongs. An empty string
+ * denotes the root category.
+ */
+ public String getCategory();
+
+ /**
+ * Sets the name of the category, to which this model belongs. The name of
+ * the root category cannot be changed.
+ * @param category New name of the category. Must not be empty or null.
+ * @throws IllegalArgumentException If category name is null or empty.
+ * @throws BlogModelAlreadyExistsException If a model with this category name
+ * already exists.
+ */
+ public void setCategory(String category)
+ throws IllegalArgumentException, BlogModelAlreadyExistsException;
+
+ public ModifiableBlogPost getModifiableBlogPostByTitleAsId(String titleAsId)
+ throws BlogPostDoesNotExistException;
+
+ /**
+ * Adds the given post to this blog model. This method should be used
+ * instead of modifying the {@link ModifiableBlogModel#getPosts()}
+ * list.
+ * @param post Post to add.
+ * @throws IllegalArgumentException If post is null, or
+ * it hasn't been obtained in a proper way.
+ */
+ public void addPost(ModifiableBlogPost post)
+ throws IllegalArgumentException;
+
+ /**
+ * Removes the given post from this blog model. This method should be used
+ * instead of modifying the {@link ModifiableBlogModel#getPosts()}
+ * list.
+ * @param post Post to remove.
+ * @throws IllegalArgumentException If either post is null, or
+ * it hasn't been obtained in a proper way.
+ */
+ public void removePost(ModifiableBlogPost post)
+ throws IllegalArgumentException;
}
Modified: trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -16,5 +16,4 @@
public void setLink(String link);
public void setGuid(String guid);
public void setCommentLink(String commentLink);
- public void setCategories(Set categories);
}
Modified: trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/tools/UITools.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -9,6 +9,12 @@
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
*/
public class UITools {
+ public static final String BLOG_VIEW = "blog_view";
+ public static final String POST_VIEW = "post_view";
+ public static final String BLOG_EDIT = "blog_edit";
+ public static final String POST_EDIT = "post_edit";
+ public static final String POST_NEW = "post_new";
+
public static void addInfoMessage(String message) {
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_INFO, 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-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogEdit.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -99,11 +99,6 @@
// Actions
- private String getReturnTo() {
- String viewName = state.getReturnTo();
- return viewName == null ? "blog_view" : viewName;
- }
-
public String save() {
try {
ModifiableBlogModel mbm = BlogTools.getBlogService().getStoreService().getBlogModel(
@@ -132,10 +127,10 @@
UITools.addMessageBlogDoesntExist(blogView.getBlogName());
}
- return getReturnTo();
+ return blogView.getReturnTo();
}
public String back() {
- return getReturnTo();
+ return blogView.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-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/BlogView.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -7,18 +7,12 @@
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;
-import javax.faces.event.ActionEvent;
import java.util.List;
-import java.util.Iterator;
-import java.util.Date;
/**
* A request-scoped bean allowing to access current view setup - what and how
@@ -59,7 +53,7 @@
private Boolean viewAllPosts;
private Boolean postsExpandable;
private Boolean blogModifiable;
-
+
/* A list of posts to show in the current view, plus the next post,
* if such a post exists (used to checking if there is a next page). */
private List postsWithNext;
@@ -139,7 +133,6 @@
return postsExpandable;
}
-
public Boolean getBlogModifiable() {
if (blogModifiable == null) {
blogModifiable = Boolean.valueOf(BlogTools.getBlogService().getStoreService().
@@ -251,82 +244,77 @@
}
public String postView() {
+ postSelect();
+
if (getViewPostsOnSeparatePage().booleanValue()) {
- return "post_view";
+ return UITools.POST_VIEW;
} else {
return null;
}
}
- // Action listeners
+ public String blogView() {
+ postClear();
- public void postSelect(ActionEvent e) {
- BlogPost selected = (BlogPost) postsData.getRowData();
- setSelectedPostTitleAsId(selected.getTitleAsId());
+ return UITools.BLOG_VIEW;
}
- public void backFromPostView(ActionEvent e) {
- setSelectedPostTitleAsId(null);
+ public String postEditFromBlogView() {
+ postSelect();
+ exitFromBlogView();
+
+ return UITools.POST_EDIT;
}
- public void exitFromBlogView(ActionEvent e) {
- getState().setReturnTo("blog_view");
+ public String postEditFromPostView() {
+ exitFromPostView();
+
+ return UITools.POST_EDIT;
}
- public void exitFromPostView(ActionEvent e) {
- getState().setReturnTo("post_view");
- }
+ public String postNew() {
- public void exitFromBlogViewAndPostSelect(ActionEvent e) {
- exitFromBlogView(e);
- postSelect(e);
+ return UITools.POST_NEW;
}
- //
+ public String blogEditFromBlogView() {
+ exitFromBlogView();
- public String testAdd() {
- int number = (int) (Math.random() * 10);
+ return UITools.BLOG_EDIT;
+ }
- System.out.println("Adding " + number + ".");
+ public String blogEditFromPostView() {
+ exitFromPostView();
- try {
- BlogStoreService bss = BlogTools.getBlogService().getStoreService();
- ModifiableBlogModel mbm = bss.newBlogModel(
- new BlogName("id0", "cat" + number));
+ return UITools.BLOG_EDIT;
+ }
- mbm.setAuthor("author" + number);
- mbm.setCreated(new Date());
- mbm.setTitle("title" + number);
+ // Helper methods
- try {
- bss.saveNewBlogModel(mbm);
- } catch (BlogModelAlreadyExistsException e) {
- System.out.println("Not added " + number + ".");
- return null;
- }
+ private void postSelect() {
+ BlogPost selected = (BlogPost) postsData.getRowData();
+ setSelectedPostTitleAsId(selected.getTitleAsId());
+ }
- System.out.println("Added " + number + ".");
+ private void postClear() {
+ setSelectedPostTitleAsId(null);
+ }
- return null;
- } catch (RuntimeException e) {
- e.printStackTrace();
- throw e;
- }
+ private void exitFromBlogView() {
+ getState().setReturnTo(UITools.BLOG_VIEW);
}
- public String testList() {
- try {
- List l = BlogTools.getBlogService().getStoreService().getAllBlogs();
+ private void exitFromPostView() {
+ getState().setReturnTo(UITools.POST_VIEW);
+ }
- for (Iterator iter = l.iterator(); iter.hasNext();) {
- System.out.print(iter.next());
- }
- System.out.println("---");
- } catch (RuntimeException e) {
- e.printStackTrace();
- throw e;
+ String getReturnTo() {
+ String viewName = state.getReturnTo();
+ if ((viewName == null) || (UITools.BLOG_VIEW.equals(viewName))) {
+ viewName = UITools.BLOG_VIEW;
+ postClear();
}
- return null;
+ return viewName;
}
}
Modified: trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/PostEdit.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -7,7 +7,10 @@
import org.jboss.blog.tools.UITools;
import org.jboss.blog.service.store.model.ModifiableBlogModel;
import org.jboss.blog.service.store.model.ModifiableBlogPost;
+import org.jboss.blog.BlogName;
+import java.util.*;
+
/**
* @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
*/
@@ -22,7 +25,10 @@
private String description;
private String link;
private String guid;
+ private String commentLink;
+ private List blogs;
+
public PostEdit() {
initDone = false;
}
@@ -68,6 +74,15 @@
return guid;
}
+ public String getCommentLink() {
+ if (!initDone) { init(); }
+ return commentLink;
+ }
+
+ public void setCommentLink(String commentLink) {
+ this.commentLink = commentLink;
+ }
+
public void setGuid(String guid) {
this.guid = guid;
}
@@ -88,51 +103,174 @@
this.blogView = blogView;
}
+ public List getBlogs() {
+ if (blogs == null) {
+ List blogNames = BlogTools.getBlogService().getStoreService().getAllCategories(
+ blogView.getBlogName());
+ blogs = new ArrayList();
+
+ // Constructing a set of category names to which the post currently belongs.
+ Set currentCategories;
+ if (blogView.getSelectedPostTitleAsId() == null) {
+ currentCategories = new HashSet();
+ currentCategories.add(blogView.getBlogName().getCategory());
+ } else {
+ currentCategories = blogView.getSelectedPost().getCategories();
+ }
+
+ for (Iterator iter=blogNames.iterator(); iter.hasNext();) {
+ blogs.add(new SelectableBlogName((BlogName) iter.next(), currentCategories));
+ }
+ }
+
+ return blogs;
+ }
+
//
private void init() {
- BlogPost post = blogView.getSelectedPost();
+ if (blogView.getSelectedPostTitleAsId() != null) {
+ BlogPost post = blogView.getSelectedPost();
- author = post.getAuthor();
- title = post.getTitle();
- description = post.getDescription();
- link = post.getLink();
- guid = post.getGuid();
+ author = post.getAuthor();
+ title = post.getTitle();
+ description = post.getDescription();
+ link = post.getLink();
+ guid = post.getGuid();
+ commentLink = post.getCommentLink();
+ }
initDone = true;
}
// Actions
- private String getReturnTo() {
- String viewName = state.getReturnTo();
- return viewName == null ? "blog_view" : viewName;
+ private Set getCurrentCategories() {
+ Set currentCategories = new HashSet();
+ if (blogView.getSelectedPostTitleAsId() == null) {
+ currentCategories.add(blogView.getBlogName());
+ } else {
+ String id = blogView.getBlogName().getId();
+ for (Iterator iter = blogView.getSelectedPost().getCategories().iterator();
+ iter.hasNext();) {
+ currentCategories.add(new BlogName(id, (String) iter.next()));
+ }
+ }
+
+ return currentCategories;
}
+ private Set getSelectedCategories() {
+ List blogs = getBlogs();
+ Set selected = new HashSet();
+ for (Iterator iter = blogs.iterator(); iter.hasNext();) {
+ SelectableBlogName sbn = (SelectableBlogName) iter.next();
+ if (sbn.isSelected()) {
+ selected.add(sbn.getBlogName());
+ }
+ }
+
+ return selected;
+ }
+
+ public String saveNew() {
+ Set selectedCategories = getSelectedCategories();
+ if (selectedCategories.size() == 0) {
+ UITools.addErrorMessage("You must select at least one category.");
+ return null;
+ }
+
+ //try {
+ ModifiableBlogPost post;
+
+ post = BlogTools.getBlogService().getStoreService().newBlogPost();
+
+ post.setAuthor(author);
+
+ post.setTitle(title);
+ post.setLink(link);
+ post.setDescription(description);
+ post.setGuid(guid);
+ post.setCreated(new Date());
+ post.setCommentLink(commentLink);
+
+ for (Iterator iter = selectedCategories.iterator(); iter.hasNext();) {
+ try {
+ ModifiableBlogModel blog = BlogTools.getBlogService().getStoreService().getBlogModel(
+ (BlogName) iter.next());
+ blog.addPost(post);
+ } catch (Throwable t) {
+ t.printStackTrace();
+ throw new RuntimeException(t);
+ }
+ }
+
+ UITools.addInfoMessage("New post saved.");
+ //} catch (BlogModelDoesNotExistException e) {
+ // UITools.addMessageBlogDoesntExist(blogView.getBlogName());
+ //}
+
+ return UITools.BLOG_VIEW;
+ }
+
public String save() {
+ // Calculating the added & removed categories sets.
+ Set selectedCategories = getSelectedCategories();
+ if (selectedCategories.size() == 0) {
+ UITools.addErrorMessage("DELETE: not yet supported!");
+ return null;
+ }
+
+ Set currentCategories = getCurrentCategories();
+
+ Set addedCategories = new HashSet(selectedCategories);
+ addedCategories.removeAll(currentCategories);
+
+ Set removedCategories = new HashSet(currentCategories);
+ removedCategories.removeAll(selectedCategories);
+
try {
- ModifiableBlogModel mbm = BlogTools.getBlogService().getStoreService().getBlogModel(
+ ModifiableBlogModel model = BlogTools.getBlogService().getStoreService().getBlogModel(
blogView.getBlogName());
- ModifiableBlogPost mbp = mbm.getModifiableBlogPostByTitleAsId(
+ ModifiableBlogPost post = model.getModifiableBlogPostByTitleAsId(
blogView.getSelectedPostTitleAsId());
boolean changed = false;
- if (!BlogTools.objectsEqual(author, mbp.getAuthor())) {
- changed = true; mbp.setAuthor(author); }
+ // Changing post properties.
+ if (!BlogTools.objectsEqual(author, post.getAuthor())) {
+ changed = true; post.setAuthor(author); }
- if (!BlogTools.objectsEqual(title, mbp.getTitle())) {
- changed = true; mbp.setTitle(title); }
+ if (!BlogTools.objectsEqual(title, post.getTitle())) {
+ changed = true; post.setTitle(title); }
- if (!BlogTools.objectsEqual(link, mbp.getLink())) {
- changed = true; mbp.setLink(link); }
+ if (!BlogTools.objectsEqual(link, post.getLink())) {
+ changed = true; post.setLink(link); }
- if (!BlogTools.objectsEqual(description, mbp.getDescription())) {
- changed = true; mbp.setDescription(description); }
+ if (!BlogTools.objectsEqual(description, post.getDescription())) {
+ changed = true; post.setDescription(description); }
- if (!BlogTools.objectsEqual(guid, mbp.getGuid())) {
- changed = true; mbp.setGuid(guid); }
+ if (!BlogTools.objectsEqual(guid, post.getGuid())) {
+ changed = true; post.setGuid(guid); }
+ if (!BlogTools.objectsEqual(commentLink, post.getCommentLink())) {
+ changed = true; post.setCommentLink(commentLink); }
+
+ // Adding & removing posts from categories.
+ for (Iterator iter = addedCategories.iterator(); iter.hasNext();) {
+ changed = true;
+ model = BlogTools.getBlogService().getStoreService().getBlogModel(
+ (BlogName) iter.next());
+ model.addPost(post);
+ }
+
+ for (Iterator iter = removedCategories.iterator(); iter.hasNext();) {
+ changed = true;
+ model = BlogTools.getBlogService().getStoreService().getBlogModel(
+ (BlogName) iter.next());
+ model.removePost(post);
+ }
+
if (changed) {
UITools.addInfoMessage("Post properties saved.");
} else {
@@ -144,10 +282,10 @@
UITools.addMessagePostDoesntExist(blogView.getSelectedPostTitleAsId());
}
- return getReturnTo();
+ return blogView.getReturnTo();
}
public String back() {
- return getReturnTo();
+ return blogView.getReturnTo();
}
-}
+}
\ No newline at end of file
Added: trunk/blog-core/src/java/org/jboss/blog/ui/SelectableBlogName.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/ui/SelectableBlogName.java 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/java/org/jboss/blog/ui/SelectableBlogName.java 2006-11-11 14:25:51 UTC (rev 26)
@@ -0,0 +1,34 @@
+package org.jboss.blog.ui;
+
+import org.jboss.blog.BlogName;
+
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class SelectableBlogName {
+ private BlogName blogName;
+ private boolean selected;
+
+ public SelectableBlogName(BlogName blogName, Set currentCategories) {
+ this.blogName = blogName;
+ this.selected = currentCategories.contains(blogName.getCategory());
+ }
+
+ public String getCategory() {
+ return blogName.getCategory();
+ }
+
+ public boolean isSelected() {
+ return selected;
+ }
+
+ public void setSelected(boolean selected) {
+ this.selected = selected;
+ }
+
+ public BlogName getBlogName() {
+ return blogName;
+ }
+}
Modified: trunk/blog-core/src/web/WEB-INF/faces-config.xml
===================================================================
--- trunk/blog-core/src/web/WEB-INF/faces-config.xml 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/web/WEB-INF/faces-config.xml 2006-11-11 14:25:51 UTC (rev 26)
@@ -105,4 +105,12 @@
<to-view-id>/views/post_edit.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
+
+ <navigation-rule>
+ <from-view-id>/views/index.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>post_new</from-outcome>
+ <to-view-id>/views/post_new.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
</faces-config>
Modified: trunk/blog-core/src/web/views/blog_view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/blog_view.xhtml 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/web/views/blog_view.xhtml 2006-11-11 14:25:51 UTC (rev 26)
@@ -6,9 +6,7 @@
xmlns:blog="http://www.jboss.org/portal/jbossblog">
<ui:composition template="view.xhtml">
<ui:define name="editlink">
- <h:commandLink value="Edit"
- action="blog_edit"
- actionListener="#{blogView.exitFromBlogView}" />
+ <h:commandLink value="Edit" action="#{blogView.blogEditFromBlogView}" />
</ui:define>
<ui:define name="viewmain">
@@ -20,7 +18,6 @@
<h:form>
<b>
<h:commandLink value="#{post.title}"
- actionListener="#{blogView.postSelect}"
action="#{blogView.postView}"
rendered="#{blogView.postsExpandable}" />
@@ -31,8 +28,7 @@
<blog:isAllowed fragment="acl://managePost" contextData="#{blogView.blogName}">
<h:commandLink value="Edit"
- action="post_edit"
- actionListener="#{blogView.exitFromBlogViewAndPostSelect}" />
+ action="#{blogView.postEditFromBlogView}" />
</blog:isAllowed>
</h:form>
@@ -61,6 +57,12 @@
<h:commandLink action="#{blogView.next}">Next</h:commandLink>
</h:form>
</h:panelGroup>
+
+ <blog:isAllowed fragment="acl://managePost" contextData="#{blogView.blogName}">
+ <h:form>
+ <h:commandLink value="New post" action="#{blogView.postNew}" />
+ </h:form>
+ </blog:isAllowed>
</ui:define>
</ui:composition>
</div>
Modified: trunk/blog-core/src/web/views/post_edit.xhtml
===================================================================
--- trunk/blog-core/src/web/views/post_edit.xhtml 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/web/views/post_edit.xhtml 2006-11-11 14:25:51 UTC (rev 26)
@@ -14,5 +14,9 @@
<ui:define name="edittableheader">
Change post properties:
</ui:define>
+
+ <ui:define name="savelink">
+ <h:commandLink value="Save" action="#{postEdit.save}" />
+ </ui:define>
</ui:composition>
</div>
\ No newline at end of file
Modified: trunk/blog-core/src/web/views/post_mod.xhtml
===================================================================
--- trunk/blog-core/src/web/views/post_mod.xhtml 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/web/views/post_mod.xhtml 2006-11-11 14:25:51 UTC (rev 26)
@@ -32,17 +32,32 @@
<h:panelGroup>Guid: (*)</h:panelGroup>
<h:panelGroup>
- <h:inputTextarea value="#{postEdit.guid}" required="true" />
+ <h:inputText value="#{postEdit.guid}" required="true" />
</h:panelGroup>
<h:panelGroup>Description:</h:panelGroup>
<h:panelGroup>
<h:inputTextarea value="#{postEdit.description}" />
</h:panelGroup>
+
+ <h:panelGroup>Comment link:</h:panelGroup>
+ <h:panelGroup>
+ <h:inputText value="#{postEdit.commentLink}" />
+ </h:panelGroup>
</h:panelGrid>
+ <h3>Post categories:</h3>
+ <h:dataTable value="#{postEdit.blogs}" var="blog">
+ <h:column>
+ <h:selectBooleanCheckbox value="#{blog.selected}" />
+ </h:column>
+ <h:column>
+ #{blog.category}
+ </h:column>
+ </h:dataTable>
+
<h:commandLink value="Back" action="#{postEdit.back}" immediate="true"/> <br />
- <h:commandLink value="Save" action="#{postEdit.save}" />
+ <ui:insert name="savelink" />
</h:form>
</ui:define>
</ui:composition>
Added: trunk/blog-core/src/web/views/post_new.xhtml
===================================================================
--- trunk/blog-core/src/web/views/post_new.xhtml 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/web/views/post_new.xhtml 2006-11-11 14:25:51 UTC (rev 26)
@@ -0,0 +1,22 @@
+<div xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:c="http://java.sun.com/jstl/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:blog="http://www.jboss.org/portal/jbossblog">
+ <ui:composition template="post_mod.xhtml">
+ <ui:param name="requiredPermission" value="acl://managePost" />
+
+ <ui:define name="editheader">
+ New post
+ </ui:define>
+
+ <ui:define name="edittableheader">
+ Input new post properties:
+ </ui:define>
+
+ <ui:define name="savelink">
+ <h:commandLink value="Save" action="#{postEdit.saveNew}" />
+ </ui:define>
+ </ui:composition>
+</div>
\ No newline at end of file
Modified: trunk/blog-core/src/web/views/post_view.xhtml
===================================================================
--- trunk/blog-core/src/web/views/post_view.xhtml 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/blog-core/src/web/views/post_view.xhtml 2006-11-11 14:25:51 UTC (rev 26)
@@ -6,9 +6,7 @@
xmlns:blog="http://www.jboss.org/portal/jbossblog">
<ui:composition template="view.xhtml">
<ui:define name="editlink">
- <h:commandLink value="Edit"
- action="blog_edit"
- actionListener="#{blogView.exitFromPostView}" />
+ <h:commandLink value="Edit" action="#{blogView.blogEditFromPostView}" />
</ui:define>
<ui:define name="viewmain">
@@ -21,15 +19,14 @@
<h:form>
<p>
<h:commandLink value="Edit"
- action="post_edit"
- actionListener="#{blogView.exitFromPostView}" />
+ action="#{blogView.postEditFromPostView}" />
</p>
</h:form>
</blog:isAllowed>
<h2>Navigation</h2>
<h:form>
- <h:commandLink action="blog_view" actionListener="#{blogView.backFromPostView}">
+ <h:commandLink action="#{blogView.blogView}">
Back
</h:commandLink>
</h:form>
Modified: trunk/jbossblog.iws
===================================================================
--- trunk/jbossblog.iws 2006-11-10 21:42:57 UTC (rev 25)
+++ trunk/jbossblog.iws 2006-11-11 14:25:51 UTC (rev 26)
@@ -17,27 +17,30 @@
</component>
<component name="ChangeListManager">
<list default="true" name="Default" comment="">
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogViewState.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/BlogViewState.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="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/common.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/common.xhtml" />
- <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="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.java" />
- <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="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_mod.xhtml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogPost.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogPost.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="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/SelectableBlogName.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_new.xhtml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.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="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/java/org/jboss/blog/service/store/hibernate/HBlogPost.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogPost.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_edit.xhtml" />
+ <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/views/blog_mod.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/blog_mod.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="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="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/views/post_mod.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_mod.xhtml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogPost.java" />
+ <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/tools/UITools.java" 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="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.java" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.java" />
+ <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/post_edit.xhtml" afterPath="$PROJECT_DIR$/blog-core/src/web/views/post_edit.xhtml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModelPost.hbm.xml" 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/etc/META-INF/acl-permissions.xml" afterPath="$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml" />
- <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" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.java" />
- <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" />
</list>
</component>
<component name="ChangeListSynchronizer" />
@@ -165,7 +168,7 @@
<file leaf-file-name="PostEdit.java" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="122" column="12" selection-start="2875" selection-end="2875" vertical-scroll-proportion="0.4231405">
+ <state line="168" column="46" selection-start="4470" selection-end="4470" vertical-scroll-proportion="0.6217949">
<folding>
<element signature="imports" expanded="true" />
</folding>
@@ -173,78 +176,68 @@
</provider>
</entry>
</file>
- <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">
+ <file leaf-file-name="HBlogPost.hbm.xml" pinned="false" current="false" current-in-tab="false">
+ <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="107" column="45" selection-start="3263" selection-end="3286" vertical-scroll-proportion="0.43966943">
- <folding>
- <element signature="imports" expanded="true" />
- </folding>
+ <state line="29" column="29" selection-start="1036" selection-end="1036" vertical-scroll-proportion="0.69711536">
+ <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">
+ <file leaf-file-name="HBlogModel.java" pinned="false" current="false" current-in-tab="false">
+ <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="38" column="43" selection-start="1656" selection-end="1656" vertical-scroll-proportion="0.82901555">
+ <state line="186" column="27" selection-start="4910" selection-end="4910" vertical-scroll-proportion="1.1394231">
<folding />
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
</file>
- <file leaf-file-name="view.xhtml" pinned="false" current="true" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/view.xhtml">
+ <file leaf-file-name="HBlogPost.java" pinned="false" current="false" current-in-tab="false">
+ <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="17" column="22" selection-start="765" selection-end="765" vertical-scroll-proportion="0.44041452">
+ <state line="122" column="54" selection-start="2702" selection-end="2702" vertical-scroll-proportion="1.1153846">
<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">
+ <file leaf-file-name="HibernateBlogStoreService.java" pinned="false" current="true" current-in-tab="true">
+ <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="32" column="44" selection-start="1162" selection-end="1162" vertical-scroll-proportion="0.8080808">
- <folding />
+ <state line="205" column="42" selection-start="6828" selection-end="6828" vertical-scroll-proportion="0.525641">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
</file>
- <file leaf-file-name="HibernateBlogStoreService.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java">
+ <file leaf-file-name="ModifiableBlogModel.java" pinned="false" current="false" current-in-tab="false">
+ <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="221" column="21" selection-start="7539" selection-end="7539" vertical-scroll-proportion="0.22479339">
+ <state line="17" column="41" selection-start="550" selection-end="550" vertical-scroll-proportion="0.28846154">
<folding />
</state>
</provider>
</entry>
</file>
- <file leaf-file-name="blog_mod.xhtml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_mod.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="33" column="39" selection-start="1386" selection-end="1386" vertical-scroll-proportion="0.8549223">
- <folding />
+ <state line="193" column="73" selection-start="5497" selection-end="5497" vertical-scroll-proportion="-0.011217949">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
</file>
<file leaf-file-name="post_mod.xhtml" pinned="false" current="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_mod.xhtml">
<provider selected="true" editor-type-id="text-editor">
- <state line="43" column="51" selection-start="1798" selection-end="1798" vertical-scroll-proportion="1.0708117">
+ <state line="51" column="71" selection-start="2161" selection-end="2161" vertical-scroll-proportion="0.89464885">
<folding />
</state>
</provider>
@@ -253,18 +246,6 @@
</provider>
</entry>
</file>
- <file leaf-file-name="post_edit.xhtml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_edit.xhtml">
- <provider selected="true" editor-type-id="text-editor">
- <state line="10" column="20" selection-start="465" selection-end="465" vertical-scroll-proportion="0.25252524">
- <folding />
- </state>
- </provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
- </entry>
- </file>
</leaf>
</component>
<component name="FindManager">
@@ -835,6 +816,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/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/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/model" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
@@ -938,7 +957,7 @@
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
- <showStructure ProjectPane="false" Scope="false" PackagesPane="false" Favorites="false" />
+ <showStructure Favorites="false" Scope="false" PackagesPane="false" ProjectPane="false" />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
@@ -974,13 +993,6 @@
</component>
<component name="RestoreUpdateTree" />
<component name="RunManager">
- <configuration default="true" type="Remote" factoryName="Remote">
- <option name="USE_SOCKET_TRANSPORT" value="true" />
- <option name="SERVER_MODE" value="false" />
- <option name="SHMEM_ADDRESS" value="javadebug" />
- <option name="HOST" value="localhost" />
- <option name="PORT" value="5005" />
- </configuration>
<configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
@@ -991,18 +1003,6 @@
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<module name="" />
</configuration>
- <configuration default="true" type="Applet" factoryName="Applet">
- <module name="" />
- <option name="MAIN_CLASS_NAME" />
- <option name="HTML_FILE_NAME" />
- <option name="HTML_USED" value="false" />
- <option name="WIDTH" value="400" />
- <option name="HEIGHT" value="300" />
- <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
- <option name="VM_PARAMETERS" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- </configuration>
<configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
<module name="" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
@@ -1022,6 +1022,25 @@
<option name="Make" value="true" />
</method>
</configuration>
+ <configuration default="true" type="Remote" factoryName="Remote">
+ <option name="USE_SOCKET_TRANSPORT" value="true" />
+ <option name="SERVER_MODE" value="false" />
+ <option name="SHMEM_ADDRESS" value="javadebug" />
+ <option name="HOST" value="localhost" />
+ <option name="PORT" value="5005" />
+ </configuration>
+ <configuration default="true" type="Applet" factoryName="Applet">
+ <module name="" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="HTML_FILE_NAME" />
+ <option name="HTML_USED" value="false" />
+ <option name="WIDTH" value="400" />
+ <option name="HEIGHT" value="300" />
+ <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+ <option name="VM_PARAMETERS" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ </configuration>
</component>
<component name="ScopeViewComponent">
<subPane subId="Project">
@@ -1096,22 +1115,22 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
- <frame x="0" y="25" width="1680" height="1000" extended-state="0" />
+ <frame x="0" y="25" width="1690" height="1005" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="2" />
<window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="13" />
<window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298969" order="7" />
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.26156694" order="0" />
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25567138" order="0" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32914287" order="1" />
<window_info id="Structure" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24367674" order="7" />
- <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22742857" order="9" />
+ <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22727273" order="9" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39977092" order="6" />
<window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="4" />
<window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="10" />
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="5" />
- <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.26280075" order="1" />
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.21336603" order="1" />
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3298969" order="11" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="2" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24984577" order="2" />
@@ -1214,73 +1233,74 @@
<option name="myLastEditedConfigurable" value="Project Default" />
</component>
<component name="editorHistoryManager">
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HibernateBlogStoreService.java">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/AbstractBlogModel.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="221" column="21" selection-start="7539" selection-end="7539" vertical-scroll-proportion="0.22479339">
+ <state line="9" column="22" selection-start="207" selection-end="207" vertical-scroll-proportion="0.1923077">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/model/ModifiableBlogModel.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="11" column="49" selection-start="270" selection-end="270" vertical-scroll-proportion="0.16935484">
+ <state line="17" column="51" selection-start="555" selection-end="555" vertical-scroll-proportion="0.33653846">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/store/hibernate/HBlogModel.java">
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogPost.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="183" column="59" selection-start="4672" selection-end="4672" vertical-scroll-proportion="0.8016529">
+ <state line="29" column="26" selection-start="734" selection-end="734" vertical-scroll-proportion="0.6730769">
<folding />
</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/model/BlogModel.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="10" column="36" selection-start="470" selection-end="470" vertical-scroll-proportion="0.25252524">
+ <state line="21" column="33" selection-start="641" selection-end="641" vertical-scroll-proportion="0.45673078">
<folding />
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
+ </entry>
+ <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/RomeParsingBlogModelService.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="88" column="90" selection-start="3147" selection-end="3147" vertical-scroll-proportion="0.6394231">
+ <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/service/store/hibernate/HBlogPost.hbm.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="33" column="39" selection-start="1386" selection-end="1386" vertical-scroll-proportion="0.8549223">
+ <state line="29" column="29" selection-start="1036" selection-end="1036" vertical-scroll-proportion="0.69711536">
<folding />
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <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.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="117" column="49" selection-start="4790" selection-end="4790" vertical-scroll-proportion="0.69335604">
+ <state line="122" column="54" selection-start="2702" selection-end="2702" vertical-scroll-proportion="1.1153846">
<folding />
</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/hibernate/HBlogModel.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="14" column="67" selection-start="689" selection-end="689" vertical-scroll-proportion="0.35775128">
+ <state line="186" column="27" selection-start="4910" selection-end="4910" vertical-scroll-proportion="1.1394231">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/ui/PostEdit.java">
+ <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="122" column="12" selection-start="2875" selection-end="2875" vertical-scroll-proportion="0.4231405">
+ <state line="4" column="44" selection-start="175" selection-end="175" vertical-scroll-proportion="-1.4759616">
<folding>
<element signature="imports" expanded="true" />
</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/web/views/post_mod.xhtml">
<provider selected="true" editor-type-id="text-editor">
- <state line="32" column="44" selection-start="1162" selection-end="1162" vertical-scroll-proportion="0.8080808">
+ <state line="51" column="71" selection-start="2161" selection-end="2161" vertical-scroll-proportion="0.89464885">
<folding />
</state>
</provider>
@@ -1288,62 +1308,49 @@
<state />
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_edit.xhtml">
+ <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="10" column="20" selection-start="465" selection-end="465" vertical-scroll-proportion="0.25252524">
- <folding />
+ <state line="193" column="73" selection-start="5497" selection-end="5497" vertical-scroll-proportion="-0.011217949">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_mod.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="43" column="51" selection-start="1798" selection-end="1798" vertical-scroll-proportion="1.0708117">
+ <state line="17" column="41" selection-start="550" selection-end="550" vertical-scroll-proportion="0.28846154">
<folding />
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <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/ui/SelectableBlogName.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="107" column="45" selection-start="3263" selection-end="3286" vertical-scroll-proportion="0.43966943">
+ <state line="29" column="0" selection-start="672" selection-end="672" vertical-scroll-proportion="0.69711536">
<folding>
<element signature="imports" expanded="true" />
</folding>
</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/ui/PostEdit.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="38" column="43" selection-start="1656" selection-end="1656" vertical-scroll-proportion="0.82901555">
- <folding />
+ <state line="168" column="46" selection-start="4470" selection-end="4470" vertical-scroll-proportion="0.6217949">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/model/BlogModel.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="11" column="17" selection-start="286" selection-end="286" vertical-scroll-proportion="-0.016129032">
- <folding />
+ <state line="205" column="42" selection-start="6828" selection-end="6828" vertical-scroll-proportion="0.525641">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/view.xhtml">
- <provider selected="true" editor-type-id="text-editor">
- <state line="17" column="22" selection-start="765" selection-end="765" vertical-scroll-proportion="0.44041452">
- <folding />
- </state>
- </provider>
- <provider editor-type-id="HtmlPreview">
- <state />
- </provider>
- </entry>
</component>
</project>
More information about the jboss-cvs-commits
mailing list