Author: mfranklin
Date: Mon Oct 15 17:55:19 2012
New Revision: 1398423
URL: http://svn.apache.org/viewvc?rev=1398423&view=rev
Log:
Completed save & retrieval of page 'vertical'
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageLayout.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidget.java
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbUserRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageLayout.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageLayout.java?rev=1398423&view=auto
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageLayout.java
(added)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbPageLayout.java
Mon Oct 15 17:55:19 2012
@@ -0,0 +1,11 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.PageLayoutImpl;
+
+public class MongoDbPageLayout extends PageLayoutImpl {
+ public MongoDbPageLayout() { }
+
+ public MongoDbPageLayout(String layout) {
+ super(layout);
+ }
+}
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java?rev=1398423&view=auto
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
(added)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbUser.java
Mon Oct 15 17:55:19 2012
@@ -0,0 +1,11 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.UserImpl;
+
+/**
+ */
+public class MongoDbUser extends UserImpl {
+ public MongoDbUser(long id) {
+ super(id);
+ }
+}
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidget.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidget.java?rev=1398423&view=auto
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidget.java
(added)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/MongoDbWidget.java
Mon Oct 15 17:55:19 2012
@@ -0,0 +1,14 @@
+package org.apache.rave.portal.model;
+
+import org.apache.rave.portal.model.impl.WidgetImpl;
+
+/**
+ */
+public class MongoDbWidget extends WidgetImpl {
+
+ public MongoDbWidget() { }
+
+ public MongoDbWidget(long id) {
+ super(id);
+ }
+}
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepository.java?rev=1398423&r1=1398422&r2=1398423&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageLayoutRepository.java
Mon Oct 15 17:55:19 2012
@@ -1,16 +1,25 @@
package org.apache.rave.portal.repository.impl;
+import org.apache.rave.portal.model.MongoDbPageLayout;
import org.apache.rave.portal.model.PageLayout;
import org.apache.rave.portal.repository.PageLayoutRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
+import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
+import static org.springframework.data.mongodb.core.query.Criteria.where;
+
@Repository
public class MongoDbPageLayoutRepository implements PageLayoutRepository {
+ @Autowired
+ private MongoOperations template;
+
@Override
public PageLayout getByPageLayoutCode(String codename) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ return template.findOne(new Query(where("code").is(codename)),
MongoDbPageLayout.class);
}
@Override
@@ -35,7 +44,8 @@ public class MongoDbPageLayoutRepository
@Override
public PageLayout save(PageLayout item) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ template.save(item);
+ return item;
}
@Override
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java?rev=1398423&r1=1398422&r2=1398423&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPageRepository.java
Mon Oct 15 17:55:19 2012
@@ -74,7 +74,7 @@ public class MongoDbPageRepository imple
@Override
public Page get(long id) {
- MongoDbPage fromDb = mongoTemplate.findOne(new
Query(where("_id").is(id)), MongoDbPage.class);
+ MongoDbPage fromDb = mongoTemplate.findById(id, MongoDbPage.class);
if(fromDb == null) {
throw new IllegalStateException("Could not find requested page: "
+ id);
}
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbUserRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbUserRepository.java?rev=1398423&r1=1398422&r2=1398423&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbUserRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbUserRepository.java
Mon Oct 15 17:55:19 2012
@@ -1,7 +1,10 @@
package org.apache.rave.portal.repository.impl;
+import org.apache.rave.portal.model.MongoDbUser;
import org.apache.rave.portal.model.User;
import org.apache.rave.portal.repository.UserRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -10,6 +13,10 @@ import java.util.List;
*/
@Repository
public class MongoDbUserRepository implements UserRepository {
+
+ @Autowired
+ private MongoOperations template;
+
@Override
public User getByUsername(String username) {
return null; //To change body of implemented methods use File |
Settings | File Templates.
@@ -62,12 +69,13 @@ public class MongoDbUserRepository imple
@Override
public User get(long id) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ return template.findById(id, MongoDbUser.class);
}
@Override
public User save(User item) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ template.save(item);
+ return item;
}
@Override
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java?rev=1398423&r1=1398422&r2=1398423&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRepository.java
Mon Oct 15 17:55:19 2012
@@ -1,11 +1,10 @@
package org.apache.rave.portal.repository.impl;
-import org.apache.rave.portal.model.User;
-import org.apache.rave.portal.model.Widget;
-import org.apache.rave.portal.model.WidgetRating;
-import org.apache.rave.portal.model.WidgetStatus;
+import org.apache.rave.portal.model.*;
import org.apache.rave.portal.model.util.WidgetStatistics;
import org.apache.rave.portal.repository.WidgetRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.MongoOperations;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -15,34 +14,39 @@ import java.util.Map;
*/
@Repository
public class MongoDbWidgetRepository implements WidgetRepository {
+
+ @Autowired
+ private MongoOperations template;
+
@Override
public List<Widget> getAll() {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ return null;
}
@Override
public List<Widget> getLimitedList(int offset, int pageSize) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ return null;
}
@Override
public int getCountAll() {
- return 0; //To change body of implemented methods use File | Settings
| File Templates.
+ //TODO replace with native query
+ return template.findAll(MongoDbWidget.class).size();
}
@Override
public List<Widget> getByFreeTextSearch(String searchTerm, int offset, int
pageSize) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ return null;
}
@Override
public int getCountFreeTextSearch(String searchTerm) {
- return 0; //To change body of implemented methods use File | Settings
| File Templates.
+ return 0;
}
@Override
public List<Widget> getByStatus(WidgetStatus widgetStatus, int offset, int
pageSize) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ return null;
}
@Override
@@ -107,17 +111,18 @@ public class MongoDbWidgetRepository imp
@Override
public Class<? extends Widget> getType() {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ return Widget.class;
}
@Override
public Widget get(long id) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ return template.findById(id, MongoDbWidget.class);
}
@Override
public Widget save(Widget item) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ template.save(item);
+ return item;
}
@Override
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java?rev=1398423&r1=1398422&r2=1398423&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/test/java/org/apache/rave/portal/repository/impl/MongoDbPageRepositoryTest.java
Mon Oct 15 17:55:19 2012
@@ -3,7 +3,10 @@ package org.apache.rave.portal.repositor
import com.google.common.collect.Lists;
import org.apache.rave.portal.model.*;
import org.apache.rave.portal.model.impl.*;
+import org.apache.rave.portal.repository.PageLayoutRepository;
import org.apache.rave.portal.repository.PageRepository;
+import org.apache.rave.portal.repository.UserRepository;
+import org.apache.rave.portal.repository.WidgetRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -26,14 +29,32 @@ public class MongoDbPageRepositoryTest {
@Autowired
PageRepository repository;
+ @Autowired
+ WidgetRepository widgetRepository;
+
+ @Autowired
+ PageLayoutRepository pageLayoutRepository;
+
+ @Autowired
+ UserRepository userRepository;
+
@Test
public void MongoTest() {
Page page = new PageImpl();
- PageUser p = new PageUserImpl(new UserImpl(12345L), page);
+
+ User user1 = new MongoDbUser(12345L);
+ user1.setDisplayName("GEORGE DOE");
+ userRepository.save(user1);
+
+ User user2 = new MongoDbUser(12345L);
+ user2.setDisplayName("JANE DOE");
+ userRepository.save(user2);
+
+ PageUser p = new PageUserImpl(user1, page);
page.setName("PAGE NAME");
page.setMembers(Lists.<PageUser>newLinkedList());
page.getMembers().add(p);
- page.setOwner(new UserImpl(123456L));
+ page.setOwner(user2);
page.setRegions(Lists.<Region>newLinkedList());
Region region = new RegionImpl();
@@ -51,19 +72,29 @@ public class MongoDbPageRepositoryTest {
preference.setValue("PREF_VALUE");
regionWidget.getPreferences().add(preference);
- Widget widget = new WidgetImpl(13223L);
+ Widget widget = new MongoDbWidget(13223L);
+ widget.setAuthor("FOO");
+ widget.setDescription("BAR");
+ widgetRepository.save(widget);
+
regionWidget.setWidget(widget);
page.setPageType(PageType.USER);
- page.setPageLayout(new PageLayoutImpl("LAYOUT"));
+ PageLayout layout = new MongoDbPageLayout("LAYOUT");
+ page.setPageLayout(layout);
+ layout.setNumberOfRegions(24L);
+ pageLayoutRepository.save(layout);
Page saved = repository.save(page);
assertThat(saved, instanceOf(MongoDbPage.class));
Page fromDb = repository.get(saved.getId());
- assertThat(fromDb.getMembers().get(0),
is(equalTo(saved.getMembers().get(0))));
+ assertThat(fromDb.getMembers().get(0).getUser(),
is(equalTo(saved.getMembers().get(0).getUser())));
+ assertThat(fromDb,
is(sameInstance(fromDb.getMembers().get(0).getPage())));
+ assertThat(fromDb.getPageLayout(), is(equalTo(saved.getPageLayout())));
assertThat(fromDb.getRegions().get(0),
is(equalTo(saved.getRegions().get(0))));
assertThat(fromDb.getRegions().get(0).getRegionWidgets().get(0),
is(equalTo(saved.getRegions().get(0).getRegionWidgets().get(0))));
+
assertThat(fromDb.getRegions().get(0).getRegionWidgets().get(0).getWidget(),
is(equalTo(saved.getRegions().get(0).getRegionWidgets().get(0).getWidget())));
assertThat(fromDb.getRegions().get(0).getRegionWidgets().get(0).getPreferences().get(0),
is(equalTo(saved.getRegions().get(0).getRegionWidgets().get(0).getPreferences().get(0))));
}
}