Author: ate
Date: Wed Aug 29 12:36:37 2012
New Revision: 1378521
URL: http://svn.apache.org/viewvc?rev=1378521&view=rev
Log:
RAVE-697: basic hierachical page definition model
- make getPath() a derived property
Modified:
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageConfiguration.java
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageDefinition.java
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageFragment.java
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/JcrPageFragment.java
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/api/PageFragment.java
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/test/java/org/apache/rave/jcr/config/FileConfigManagerTest.java
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/test/java/org/apache/rave/jcr/config/JcrConfigManagerTest.java
Modified:
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageConfiguration.java
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageConfiguration.java?rev=1378521&r1=1378520&r2=1378521&view=diff
==============================================================================
---
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageConfiguration.java
(original)
+++
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageConfiguration.java
Wed Aug 29 12:36:37 2012
@@ -135,7 +135,7 @@ public class FilePageConfiguration imple
}
private PageFragment createFragment(PageFragment pageFragment) {
- final PageFragment fragment = new FilePageFragment(null,
pageFragment.getName());
+ final PageFragment fragment = new
FilePageFragment(pageFragment.getName());
fragment.setController(pageFragment.getController());
fragment.setDescription(pageFragment.getDescription());
return fragment;
Modified:
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageDefinition.java
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageDefinition.java?rev=1378521&r1=1378520&r2=1378521&view=diff
==============================================================================
---
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageDefinition.java
(original)
+++
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageDefinition.java
Wed Aug 29 12:36:37 2012
@@ -43,10 +43,6 @@ public class FilePageDefinition extends
super(name);
}
- public FilePageDefinition(String path, String name) {
- super(path, name);
- }
-
@Override
@XmlTransient
public PageFragment getParent() {
Modified:
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageFragment.java
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageFragment.java?rev=1378521&r1=1378520&r2=1378521&view=diff
==============================================================================
---
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageFragment.java
(original)
+++
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/FilePageFragment.java
Wed Aug 29 12:36:37 2012
@@ -39,7 +39,6 @@ public class FilePageFragment implements
private PageFragment parent;
private String reference;
private String name;
- private String path;
private String displayName;
private String description;
private String viewName;
@@ -56,11 +55,6 @@ public class FilePageFragment implements
this.name = name;
}
- public FilePageFragment(String path, String name) {
- this(name);
- this.path = path;
- }
-
@XmlAttribute(name = "parent")
@Override
public String getReference() {
@@ -84,15 +78,14 @@ public class FilePageFragment implements
}
- @XmlAttribute
+ @XmlTransient
@Override
public String getPath() {
- return path;
- }
-
- @Override
- public void setPath(String path) {
- this.path = path;
+ String parentPath = parent != null ? parent.getPath() : "/";
+ if (parentPath.length() == 1) {
+ return parentPath + getName();
+ }
+ return parentPath + "/" + getName();
}
@XmlAttribute
@@ -180,7 +173,7 @@ public class FilePageFragment implements
sb.append("{parent=").append(parent);
sb.append(", reference=").append(reference);
sb.append(", name='").append(name).append('\'');
- sb.append(", path='").append(path).append('\'');
+ sb.append(", path='").append(getPath()).append('\'');
sb.append(", displayName='").append(displayName).append('\'');
sb.append(", description='").append(description).append('\'');
sb.append(", controller='").append(controller).append('\'');
Modified:
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/JcrPageFragment.java
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/JcrPageFragment.java?rev=1378521&r1=1378520&r2=1378521&view=diff
==============================================================================
---
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/JcrPageFragment.java
(original)
+++
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/JcrPageFragment.java
Wed Aug 29 12:36:37 2012
@@ -45,7 +45,7 @@ public class JcrPageFragment implements
this.name = name;
}
- @Field(path = true, id = true)
+ @Field(path = true)
private String path;
@Field(jcrType = "String")
@@ -60,7 +60,7 @@ public class JcrPageFragment implements
private String viewName;
- @Field(jcrType = "String")
+ @Field(jcrType = "String", id=true)
private String name;
@Bean(jcrType = "raveconfig:pagefragment", jcrName =
"raveconfig:parentfragment")
Modified:
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/api/PageFragment.java
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/api/PageFragment.java?rev=1378521&r1=1378520&r2=1378521&view=diff
==============================================================================
---
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/api/PageFragment.java
(original)
+++
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/main/java/org/apache/rave/jcr/config/model/api/PageFragment.java
Wed Aug 29 12:36:37 2012
@@ -45,21 +45,14 @@ public interface PageFragment {
void setViewName(String viewName);
/**
- * Sets Node path
+ * Returns fragment fully qualified path, last part being the fragment name
*
- * @param path path node is saved to
- */
- void setPath(String path);
-
- /**
- * Returns node path
- *
- * @return node path, should not be null
+ * @return fragment path, should not be null
*/
String getPath();
/**
- * Sets name of the fragment
+ * Sets name of the fragment: must be unique within the parent
*
* @param name name of the fragment
*/
Modified:
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/test/java/org/apache/rave/jcr/config/FileConfigManagerTest.java
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/test/java/org/apache/rave/jcr/config/FileConfigManagerTest.java?rev=1378521&r1=1378520&r2=1378521&view=diff
==============================================================================
---
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/test/java/org/apache/rave/jcr/config/FileConfigManagerTest.java
(original)
+++
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/test/java/org/apache/rave/jcr/config/FileConfigManagerTest.java
Wed Aug 29 12:36:37 2012
@@ -103,6 +103,8 @@ public class FileConfigManagerTest {
assertTrue(userAdminFragment != null);
final List<PageFragment> userAdminKids =
userAdminFragment.getChildren();
assertEquals("Expected 3 kids", 3, userAdminKids.size());
+ PageFragment kid = userAdminKids.get(1).getChildren().get(0);
+ assertEquals("/userAdminPage/header/headerController", kid.getPath());
for (PageFragment userAdminKid : userAdminKids) {
final PageFragment parent = userAdminKid.getParent();
assertTrue("Expected child fragment to have a parent", parent !=
null);
Modified:
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/test/java/org/apache/rave/jcr/config/JcrConfigManagerTest.java
URL:
http://svn.apache.org/viewvc/rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/test/java/org/apache/rave/jcr/config/JcrConfigManagerTest.java?rev=1378521&r1=1378520&r2=1378521&view=diff
==============================================================================
---
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/test/java/org/apache/rave/jcr/config/JcrConfigManagerTest.java
(original)
+++
rave/sandbox/content-services/rave-jcr-integration/page-configuration/src/test/java/org/apache/rave/jcr/config/JcrConfigManagerTest.java
Wed Aug 29 12:36:37 2012
@@ -64,7 +64,6 @@ public class JcrConfigManagerTest extend
final String configName = "myPageConfigName";
configuration.setName(configName);
final PageDefinition definition = new JcrPageDefinition();
- definition.setPath("def1");
definition.setName("def1");
definition.setController("def1");
final ArrayList<PageDefinition> definitions = new
ArrayList<PageDefinition>();
@@ -92,29 +91,24 @@ public class JcrConfigManagerTest extend
// add some fragments:
final PageFragment fragment = new JcrPageFragment();
- fragment.setPath("fragment1");
fragment.setName("fragment1");
fragment.setController("controller");
fragment.setDescription("description");
fragment.setDisplayName("displayName");
configuration.addPageFragment(fragment);
final PageFragment fragment2 = new JcrPageFragment();
- fragment2.setPath("fragment2");
fragment2.setName("fragment2");
configuration.addPageFragment(fragment2);
// add kid fragment
final PageFragment kid = new JcrPageFragment();
kid.setName("kid");
- kid.setPath("kid");
fragment.addChild(kid);
// add page definitions
final PageDefinition definition = new JcrPageDefinition();
- definition.setPath("def1");
definition.setName("def1");
configuration.addPageDefinition(definition);
final PageDefinition definition2 = new JcrPageDefinition();
- definition2.setPath("def2");
definition2.setName("def2");
configuration.addPageDefinition(definition2);
@@ -127,6 +121,7 @@ public class JcrConfigManagerTest extend
assertEquals(retrievedConfiguration.getPageDefinitions().size(), 2);
for (PageFragment pageFragment : pageFragments) {
if (pageFragment.getName().equals("fragment1")) {
+
assertEquals("/raveconfig/myName/pageFragments/fragment1",pageFragment.getPath());
assertEquals("displayName", pageFragment.getDisplayName());
assertEquals("description", pageFragment.getDescription());
assertEquals("kid",
pageFragment.getChildren().get(0).getName());