[jboss-cvs] JBossBlog SVN: r31 - in trunk: . blog-core/src/etc/META-INF blog-core/src/java/org/jboss/blog/service/model blog-core/src/java/org/jboss/blog/service/model/caching

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Nov 21 18:07:45 EST 2006


Author: adamw
Date: 2006-11-21 18:07:40 -0500 (Tue, 21 Nov 2006)
New Revision: 31

Added:
   trunk/blog-core/src/java/org/jboss/blog/service/model/caching/
   trunk/blog-core/src/java/org/jboss/blog/service/model/caching/BlogLock.java
   trunk/blog-core/src/java/org/jboss/blog/service/model/caching/CachingBlogModelService.java
Removed:
   trunk/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java
Modified:
   trunk/blog-core/src/etc/META-INF/jboss-service.xml
   trunk/jbossblog.iws
Log:
http://jira.jboss.com/jira/browse/JBBLOG-14

Modified: trunk/blog-core/src/etc/META-INF/jboss-service.xml
===================================================================
--- trunk/blog-core/src/etc/META-INF/jboss-service.xml	2006-11-15 00:32:28 UTC (rev 30)
+++ trunk/blog-core/src/etc/META-INF/jboss-service.xml	2006-11-21 23:07:40 UTC (rev 31)
@@ -37,17 +37,11 @@
     </mbean>
 
     <!-- Model service -->
-    <mbean code="org.jboss.blog.service.model.CachingBlogModelService"
+    <mbean code="org.jboss.blog.service.model.DelegatingModelService"
            name="blog:service=Model"
-           xmbean-dd="org/jboss/blog/service/model/CachingBlogModelService.xml">
-        <depends optional-attribute-name="DelegateModelService"
-                 proxy-type="attribute">blog:service=DelegatingModel</depends>
-    </mbean>
-    <mbean code="org.jboss.blog.service.model.DelegatingModelService"
-           name="blog:service=DelegatingModel"
            xmbean-dd="org/jboss/blog/service/model/DelegatingModelService.xml">
         <depends optional-attribute-name="ExternalDelegateModelService"
-                 proxy-type="attribute">blog:service=RomeParsingModel</depends>
+                 proxy-type="attribute">blog:service=CachingModel</depends>
         <depends optional-attribute-name="InternalDelegateModelService"
                  proxy-type="attribute">blog:service=StoreModel</depends>
     </mbean>
@@ -57,6 +51,13 @@
         <depends optional-attribute-name="StoreService"
                  proxy-type="attribute">blog:service=Store</depends>
     </mbean>
+    <mbean code="org.jboss.blog.service.model.caching.CachingBlogModelService"
+           name="blog:service=CachingModel"
+           xmbean-dd="org/jboss/blog/service/model/caching/CachingBlogModelService.xml">
+        <attribute name="UpdateInterval">60000</attribute>
+        <depends optional-attribute-name="DelegateModelService"
+                 proxy-type="attribute">blog:service=RomeParsingModel</depends>
+    </mbean>
     <mbean code="org.jboss.blog.service.model.RomeParsingBlogModelService"
            name="blog:service=RomeParsingModel"
            xmbean-dd="org/jboss/blog/service/model/RomeParsingBlogModelService.xml">

Deleted: trunk/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java	2006-11-15 00:32:28 UTC (rev 30)
+++ trunk/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java	2006-11-21 23:07:40 UTC (rev 31)
@@ -1,46 +0,0 @@
-package org.jboss.blog.service.model;
-
-import org.jboss.blog.model.BlogModel;
-import org.jboss.blog.model.BlogModelDoesNotExistException;
-import org.jboss.blog.BlogName;
-import org.jboss.blog.service.AbstractBlogService;
-
-/**
- * A blog model service which caches models returned by another blog
- * model model service to avoid, for example, unnecessary feed parsing.
- * @author Adam Warski (adamw at aster.pl)
- *
- * @jmx.mbean
- * @jboss.xmbean
- */
-public class CachingBlogModelService extends AbstractBlogService implements BlogModelService {
-    public CachingBlogModelService() {
-
-    }
-
-    /**
-     * @jmx.managed-operation
-     * @jmx.managed-parameter type="org.jboss.blog.BlogName"
-     */
-    public BlogModel getBlogModel(BlogName name) throws BlogModelDoesNotExistException {
-        return delegateModelService.getBlogModel(name);
-    }
-
-    private BlogModelService delegateModelService;
-
-    /**
-     * @jmx.managed-attribute
-     * @return The delegate model service.
-     */
-    public BlogModelService getDelegateModelService() {
-        return delegateModelService;
-    }
-
-    /**
-     * @jmx.managed-attribute
-     * @param delegateModelService New delegate model service.
-     */
-    public void setDelegateModelService(BlogModelService delegateModelService) {
-        this.delegateModelService = delegateModelService;
-    }
-}

Added: trunk/blog-core/src/java/org/jboss/blog/service/model/caching/BlogLock.java
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/model/caching/BlogLock.java	2006-11-15 00:32:28 UTC (rev 30)
+++ trunk/blog-core/src/java/org/jboss/blog/service/model/caching/BlogLock.java	2006-11-21 23:07:40 UTC (rev 31)
@@ -0,0 +1,19 @@
+package org.jboss.blog.service.model.caching;
+
+/**
+ * A class that is used as locks in the cached model service, to synchronize
+ * concurrent access. It holds the last update time, to check if the model
+ * should be renewed.
+ * @author <a href="mailto:adamw at aster.pl">Adam Warski</a>
+ */
+public class BlogLock {
+    private long lastUpdate;
+
+    public long getLastUpdate() {
+        return lastUpdate;
+    }
+
+    public void setLastUpdate(long lastUpdate) {
+        this.lastUpdate = lastUpdate;
+    }
+}

Copied: trunk/blog-core/src/java/org/jboss/blog/service/model/caching/CachingBlogModelService.java (from rev 18, trunk/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java)
===================================================================
--- trunk/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java	2006-11-03 21:31:39 UTC (rev 18)
+++ trunk/blog-core/src/java/org/jboss/blog/service/model/caching/CachingBlogModelService.java	2006-11-21 23:07:40 UTC (rev 31)
@@ -0,0 +1,102 @@
+package org.jboss.blog.service.model.caching;
+
+import org.jboss.blog.model.BlogModel;
+import org.jboss.blog.model.BlogModelDoesNotExistException;
+import org.jboss.blog.BlogName;
+import org.jboss.blog.service.AbstractBlogService;
+import org.jboss.blog.service.model.BlogModelService;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Collections;
+
+/**
+ * A blog model service which caches models returned by another blog
+ * model model service to avoid, for example, unnecessary feed parsing.
+ * @author Adam Warski (adamw at aster.pl)
+ *
+ * @jmx.mbean
+ * @jboss.xmbean
+ */
+public class CachingBlogModelService extends AbstractBlogService implements BlogModelService {
+    public CachingBlogModelService() {
+        locks = new HashMap();
+        models = Collections.synchronizedMap(new HashMap());
+    }
+
+    // Map BlogName -> lock for that blog name (an object for synchronization)
+    private Map locks;
+
+    // Map BlogName -> cached blog models
+    private Map models;
+
+    private long updateInterval;       
+    private BlogModelService delegateModelService;
+
+    private synchronized BlogLock getLock(BlogName name) {
+        BlogLock ret = (BlogLock) locks.get(name);
+        if (ret == null) {
+            ret = new BlogLock();
+            locks.put(name, ret);
+        }
+
+        return ret;
+    }
+
+    /**
+     * @jmx.managed-operation
+     * @jmx.managed-parameter type="org.jboss.blog.BlogName"
+     */
+    public BlogModel getBlogModel(BlogName name) throws BlogModelDoesNotExistException {
+        final BlogLock lock = getLock(name);
+        long now = System.currentTimeMillis();
+
+        synchronized (lock) {
+            BlogModel ret;
+
+            if (now - lock.getLastUpdate() > updateInterval) {
+                System.out.println("CREATING A NEW MODEL " + name);
+                ret = delegateModelService.getBlogModel(name);
+                models.put(name, ret);
+
+                lock.setLastUpdate(now);
+            } else {
+                ret = (BlogModel) models.get(name);
+            }            
+
+            return ret;
+        }
+    }
+
+    /**
+     * @jmx.managed-attribute
+     * @return The delegate model service.
+     */
+    public BlogModelService getDelegateModelService() {
+        return delegateModelService;
+    }
+
+    /**
+     * @jmx.managed-attribute
+     * @param delegateModelService New delegate model service.
+     */
+    public void setDelegateModelService(BlogModelService delegateModelService) {
+        this.delegateModelService = delegateModelService;
+    }
+
+    /**
+     * @jmx.managed-attribute
+     * @return The update interval (time after which a blog model is renewed).
+     */
+    public long getUpdateInterval() {
+        return updateInterval;
+    }
+
+    /**
+     * @jmx.managed-attribute
+     * @param updateInterval New update interval.
+     */
+    public void setUpdateInterval(long updateInterval) {
+        this.updateInterval = updateInterval;
+    }
+}

Modified: trunk/jbossblog.iws
===================================================================
--- trunk/jbossblog.iws	2006-11-15 00:32:28 UTC (rev 30)
+++ trunk/jbossblog.iws	2006-11-21 23:07:40 UTC (rev 31)
@@ -17,20 +17,11 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" name="Default" comment="">
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/portlet.xml" afterPath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/portlet.xml" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/caching/BlogLock.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/etc/conf/hibernate/setup.txt" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/build.xml" afterPath="$PROJECT_DIR$/blog-core/build.xml" />
-      <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/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/blog-object.xml" afterPath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/blog-object.xml" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/jboss-portlet.xml" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/etc/conf/hibernate/hibernate.cfg.xml" />
-      <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/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/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/web/WEB-INF/portlet-instances.xml" afterPath="$PROJECT_DIR$/blog-core/src/web/WEB-INF/portlet-instances.xml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/blog-core/blog-core.iml" afterPath="$PROJECT_DIR$/blog-core/blog-core.iml" />
+      <change type="DELETED" beforePath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/CachingBlogModelService.java" afterPath="" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/caching/CachingBlogModelService.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/caching" />
     </list>
   </component>
   <component name="ChangeListSynchronizer" />
@@ -154,98 +145,7 @@
     </subPane>
   </component>
   <component name="FileEditorManager">
-    <leaf>
-      <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="16" column="103" selection-start="748" selection-end="748" vertical-scroll-proportion="0.4013378">
-              <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="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="81" column="31" selection-start="2205" selection-end="2205" vertical-scroll-proportion="0.21634616">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="portlet-instances.xml" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/portlet-instances.xml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="35" column="71" selection-start="1322" selection-end="1322" vertical-scroll-proportion="0.84134614">
-              <folding />
-            </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="60" column="37" selection-start="2753" selection-end="2753" vertical-scroll-proportion="0.8444816">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <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">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="19" column="54" selection-start="927" selection-end="927" vertical-scroll-proportion="0.48885077">
-              <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="34" column="99" selection-start="1271" selection-end="1347" vertical-scroll-proportion="0.8528428">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <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="66" column="33" selection-start="2989" selection-end="2989" vertical-scroll-proportion="0.7941681">
-              <folding />
-            </state>
-          </provider>
-          <provider editor-type-id="HtmlPreview">
-            <state />
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="acl-permissions.xml" pinned="false" current="true" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml">
-          <provider selected="true" editor-type-id="text-editor">
-            <state line="33" column="42" selection-start="1342" selection-end="1342" vertical-scroll-proportion="0.591133">
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
-    </leaf>
+    <leaf />
   </component>
   <component name="FindManager">
     <FindUsagesManager>
@@ -314,6 +214,7 @@
     <option name="LOGIN_SILENTLY" value="false" />
     <option name="INTEGRATE_RUN_RESOLVE" value="true" />
     <option name="INTEGRATE_REVERT_UNCHANGED" value="true" />
+    <option name="SERVER_TIMEOUT" value="20000" />
   </component>
   <component name="ProjectLevelVcsManager">
     <OptionsSetting value="true" id="Add" />
@@ -340,10 +241,6 @@
           <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="Libraries" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.LibraryGroupNode" />
-        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -376,10 +273,6 @@
           <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/web" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -399,11 +292,11 @@
           <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/web" />
+          <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/web/WEB-INF" />
+          <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>
@@ -425,31 +318,17 @@
           <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/web" />
+          <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/web/views" />
+          <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>
-      <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="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" />
-          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -476,36 +355,14 @@
           <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>
-      <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="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" />
+          <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" />
-          <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>
       <PATH>
         <PATH_ELEMENT>
@@ -540,6 +397,10 @@
           <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>
@@ -575,9 +436,13 @@
           <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/name" />
+          <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_ELEMENT>
+          <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/blog-core/src/java/org/jboss/blog/service/model/caching" />
+          <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+        </PATH_ELEMENT>
       </PATH>
       <PATH>
         <PATH_ELEMENT>
@@ -640,7 +505,7 @@
       <showLibraryContents />
       <hideEmptyPackages />
       <abbreviatePackageNames />
-      <showStructure Favorites="false" Scope="false" PackagesPane="false" ProjectPane="false" />
+      <showStructure PackagesPane="false" ProjectPane="false" Scope="false" Favorites="false" />
       <autoscrollToSource />
       <autoscrollFromSource />
       <sortByType />
@@ -668,6 +533,7 @@
       <recent name="org.jboss.blog.service.configuration" />
     </key>
     <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
+      <recent name="org.jboss.blog.service.model.caching" />
       <recent name="org.jboss.blog.service.store.hibernate" />
       <recent name="org.jboss.blog.service.store.hibernate.filter" />
       <recent name="org.jboss.blog.model.impl" />
@@ -676,17 +542,15 @@
   </component>
   <component name="RestoreUpdateTree" />
   <component name="RunManager">
-    <configuration default="true" type="Applet" factoryName="Applet">
-      <module name="" />
+    <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
       <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="PROGRAM_PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
       <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
+      <module name="" />
     </configuration>
     <configuration default="true" type="JUnit" factoryName="JUnit" enabled="false" merge="false">
       <module name="" />
@@ -707,15 +571,17 @@
         <option name="Make" value="true" />
       </method>
     </configuration>
-    <configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
+    <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="PROGRAM_PARAMETERS" />
-      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
       <option name="ALTERNATIVE_JRE_PATH" />
-      <option name="ENABLE_SWING_INSPECTOR" value="false" />
-      <module name="" />
     </configuration>
     <configuration default="true" type="Remote" factoryName="Remote">
       <option name="USE_SOCKET_TRANSPORT" value="true" />
@@ -744,6 +610,8 @@
     <option name="PROJECT" value="" />
     <option name="VIEW" value="" />
     <option name="ALTERNATIVE_WORKING_PATH" value="" />
+    <option name="LOCK_ON_CHECKOUT" value="false" />
+    <option name="UNLOCK_ON_CHECKIN" value="false" />
   </component>
   <component name="StructuralSearchPlugin" />
   <component name="StructureViewFactory">
@@ -782,6 +650,7 @@
     <option name="UPDATE_RECURSIVELY" value="true" />
     <option name="MERGE_DRY_RUN" value="false" />
     <configuration useDefault="true">/home/adamw/.subversion</configuration>
+    <upgradeMode>none</upgradeMode>
   </component>
   <component name="TodoView" selected-index="0">
     <todo-panel id="selected-file">
@@ -798,7 +667,7 @@
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="0" y="25" width="1690" height="1005" extended-state="6" />
+    <frame x="15" y="263" width="1690" height="1004" 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" />
@@ -808,12 +677,12 @@
       <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.26118946" 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.22727273" order="9" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.22690992" 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.2268547" order="1" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24524832" 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" />
@@ -887,6 +756,7 @@
     <GetOptions>
       <option name="REPLACE_WRITABLE" value="0" />
       <option name="MAKE_WRITABLE" value="false" />
+      <option name="ANSWER_NEGATIVELY" value="false" />
       <option name="ANSWER_POSITIVELY" value="false" />
       <option name="RECURSIVE" value="false" />
     </GetOptions>
@@ -916,43 +786,37 @@
     <option name="myLastEditedConfigurable" value="Project Default" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/jboss-service.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/blog.css">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="30" column="96" selection-start="1531" selection-end="1531" vertical-scroll-proportion="0.71770334">
+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.4903846">
           <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/web/WEB-INF/blog-object.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="81" column="31" selection-start="2205" selection-end="2205" vertical-scroll-proportion="0.21634616">
+        <state line="30" column="21" selection-start="1395" selection-end="1395" vertical-scroll-proportion="0.72115386">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/admin_panel.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-mapping.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-1.5517242">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_mod.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/etc/META-INF/acl-permissions.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="44" column="22" selection-start="1891" selection-end="1897" vertical-scroll-proportion="0.72408026">
+        <state line="33" column="42" selection-start="1342" selection-end="1342" vertical-scroll-proportion="0.81280786">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
-        <state />
-      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_new.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/blog_view.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+        <state line="66" column="33" selection-start="2989" selection-end="2989" vertical-scroll-proportion="0.7941681">
           <folding />
         </state>
       </provider>
@@ -960,9 +824,9 @@
         <state />
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/id_edit.xhtml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="36" column="83" selection-start="1646" selection-end="1647" vertical-scroll-proportion="0.17224081">
+        <state line="34" column="99" selection-start="1271" selection-end="1347" vertical-scroll-proportion="0.8279221">
           <folding />
         </state>
       </provider>
@@ -970,77 +834,77 @@
         <state />
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/portlet-instances.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/view.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="35" column="71" selection-start="1322" selection-end="1322" vertical-scroll-proportion="0.84134614">
+        <state line="19" column="54" selection-start="927" selection-end="927" vertical-scroll-proportion="0.47420964">
           <folding />
         </state>
       </provider>
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/blog.css">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_mod.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.4903846">
+        <state line="60" column="37" selection-start="2753" selection-end="2753" vertical-scroll-proportion="0.8198052">
           <folding />
         </state>
       </provider>
+      <provider editor-type-id="HtmlPreview">
+        <state />
+      </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/blog-object.xml">
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/portlet-instances.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="30" column="21" selection-start="1395" selection-end="1395" vertical-scroll-proportion="0.72115386">
+        <state line="35" column="71" selection-start="1322" selection-end="1322" vertical-scroll-proportion="0.817757">
           <folding />
         </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/ui/BlogView.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="60" column="37" selection-start="2753" selection-end="2753" vertical-scroll-proportion="0.8444816">
+        <state line="81" column="31" selection-start="2205" selection-end="2205" vertical-scroll-proportion="0.21028037">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
+    </entry>
+    <entry file="file://$PROJECT_DIR$/blog-core/src/web/WEB-INF/faces-config.xml">
+      <provider editor-type-id="com.intellij.jsf.yfilesGraph.editor.FacesNavigationFileEditorProvider">
         <state />
       </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/blog-core/src/web/views/post_view.xhtml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="34" column="99" selection-start="1271" selection-end="1347" vertical-scroll-proportion="0.8528428">
+        <state line="16" column="103" selection-start="748" selection-end="748" vertical-scroll-proportion="0.38961038">
           <folding />
         </state>
       </provider>
-      <provider editor-type-id="HtmlPreview">
+      <provider editor-type-id="com.intellij.jsf.ui.FacesConfigEditorProvider">
         <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/model/caching/BlogLock.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="19" column="54" selection-start="927" selection-end="927" vertical-scroll-proportion="0.48885077">
+        <state line="5" column="21" selection-start="224" selection-end="224" vertical-scroll-proportion="0.088652484">
           <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/BlogName.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="66" column="33" selection-start="2989" selection-end="2989" vertical-scroll-proportion="0.7941681">
+        <state line="12" column="13" selection-start="334" selection-end="334" vertical-scroll-proportion="-0.2578125">
           <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/model/caching/CachingBlogModelService.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-1.5517242">
+        <state line="20" column="55" selection-start="641" selection-end="641" vertical-scroll-proportion="0.28125">
           <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/etc/META-INF/jboss-service.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="33" column="42" selection-start="1342" selection-end="1342" vertical-scroll-proportion="0.591133">
+        <state line="56" column="43" selection-start="3039" selection-end="3039" vertical-scroll-proportion="0.6992">
           <folding />
         </state>
       </provider>




More information about the jboss-cvs-commits mailing list