Author: mfranklin
Date: Wed Oct 17 04:14:13 2012
New Revision: 1399088
URL: http://svn.apache.org/viewvc?rev=1399088&view=rev
Log:
Refactored interaface location
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageOperations.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoUserOperations.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoWidgetOperations.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetRatingsMap.js
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetRatingsReduce.js
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetUsersMap.js
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetUsersReduce.js
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoModelOperations.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/MongoDbPersonRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbTagRepository.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/MongoDbWidgetCommentRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRatingRepository.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/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepository.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplate.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoUserTemplate.java
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoWidgetTemplate.java
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoModelOperations.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoModelOperations.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoModelOperations.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoModelOperations.java
Wed Oct 17 04:14:13 2012
@@ -19,9 +19,6 @@
package org.apache.rave.portal.repository;
-import org.apache.rave.portal.model.Page;
-import org.apache.rave.portal.model.User;
-import org.apache.rave.portal.model.Widget;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
@@ -37,8 +34,4 @@ public interface MongoModelOperations<T>
T save(T item);
void remove(Query query);
int update(Query query, Update update);
-
- public static interface MongoPageOperations extends
MongoModelOperations<Page> {}
- public static interface MongoUserOperations extends
MongoModelOperations<User> {}
- public static interface MongoWidgetOperations extends
MongoModelOperations<Widget> {}
}
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageOperations.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageOperations.java?rev=1399088&view=auto
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageOperations.java
(added)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoPageOperations.java
Wed Oct 17 04:14:13 2012
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.rave.portal.repository;
+
+import org.apache.rave.portal.model.Page;
+
+public interface MongoPageOperations extends MongoModelOperations<Page> {
+}
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoUserOperations.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoUserOperations.java?rev=1399088&view=auto
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoUserOperations.java
(added)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoUserOperations.java
Wed Oct 17 04:14:13 2012
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.rave.portal.repository;
+
+import org.apache.rave.portal.model.User;
+
+public interface MongoUserOperations extends MongoModelOperations<User> {
+}
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoWidgetOperations.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoWidgetOperations.java?rev=1399088&view=auto
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoWidgetOperations.java
(added)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/MongoWidgetOperations.java
Wed Oct 17 04:14:13 2012
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.rave.portal.repository;
+
+import org.apache.rave.portal.model.Widget;
+import org.springframework.data.mongodb.core.mapreduce.MapReduceResults;
+
+public interface MongoWidgetOperations extends MongoModelOperations<Widget> {
+ <T> MapReduceResults<T> mapReduce(String mapFunction, String
reduceFunction, Class<T> entityClass);
+}
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=1399088&r1=1399087&r2=1399088&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
Wed Oct 17 04:14:13 2012
@@ -25,7 +25,7 @@ import org.apache.rave.portal.model.impl
import org.apache.rave.portal.model.impl.PageUserImpl;
import org.apache.rave.portal.model.impl.RegionImpl;
import org.apache.rave.portal.model.impl.RegionWidgetImpl;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoPageOperations;
import org.apache.rave.portal.repository.PageRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Query;
@@ -42,7 +42,7 @@ import static org.springframework.data.m
public class MongoDbPageRepository implements PageRepository {
@Autowired
- private MongoModelOperations.MongoPageOperations template;
+ private MongoPageOperations template;
@Override
public List<Page> getAllPages(Long userId, PageType pageType) {
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPersonRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPersonRepository.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPersonRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbPersonRepository.java
Wed Oct 17 04:14:13 2012
@@ -23,7 +23,7 @@ import com.google.common.base.Function;
import com.google.common.collect.Lists;
import org.apache.commons.lang.NotImplementedException;
import org.apache.rave.portal.model.*;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoUserOperations;
import org.apache.rave.portal.repository.PersonRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Query;
@@ -42,7 +42,7 @@ import static org.springframework.data.m
public class MongoDbPersonRepository implements PersonRepository {
@Autowired
- private MongoModelOperations.MongoUserOperations template;
+ private MongoUserOperations template;
@Override
public Person findByUsername(String username) {
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionRepository.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionRepository.java
Wed Oct 17 04:14:13 2012
@@ -22,7 +22,7 @@ package org.apache.rave.portal.repositor
import org.apache.rave.portal.model.Page;
import org.apache.rave.portal.model.Region;
import org.apache.rave.portal.model.impl.RegionImpl;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoPageOperations;
import org.apache.rave.portal.repository.RegionRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
@@ -38,7 +38,7 @@ import java.util.List;
public class MongoDbRegionRepository implements RegionRepository {
@Autowired
- private MongoModelOperations.MongoPageOperations template;
+ private MongoPageOperations template;
@Override
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepository.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbRegionWidgetRepository.java
Wed Oct 17 04:14:13 2012
@@ -23,7 +23,7 @@ import org.apache.rave.portal.model.Mong
import org.apache.rave.portal.model.Page;
import org.apache.rave.portal.model.Region;
import org.apache.rave.portal.model.RegionWidget;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoPageOperations;
import org.apache.rave.portal.repository.RegionWidgetRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Query;
@@ -37,7 +37,7 @@ import static org.springframework.data.m
public class MongoDbRegionWidgetRepository implements RegionWidgetRepository {
@Autowired
- private MongoModelOperations.MongoPageOperations template;
+ private MongoPageOperations template;
@Override
public Class<? extends RegionWidget> getType() {
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbTagRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbTagRepository.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbTagRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbTagRepository.java
Wed Oct 17 04:14:13 2012
@@ -20,11 +20,17 @@
package org.apache.rave.portal.repository.impl;
+import com.google.common.collect.Lists;
+import org.apache.commons.collections.ListUtils;
import org.apache.rave.exception.NotSupportedException;
import org.apache.rave.portal.model.Tag;
+import org.apache.rave.portal.model.Widget;
+import org.apache.rave.portal.model.WidgetTag;
+import org.apache.rave.portal.model.impl.TagImpl;
+import org.apache.rave.portal.repository.MongoWidgetOperations;
import org.apache.rave.portal.repository.TagRepository;
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;
@@ -33,28 +39,35 @@ import java.util.List;
public class MongoDbTagRepository implements TagRepository{
@Autowired
- private MongoOperations template;
+ private MongoWidgetOperations widgetTemplate;
@Override
public List<Tag> getAll() {
- return null;
+ List<Widget> widgets = widgetTemplate.find(new Query());
+ List<Tag> tags = Lists.newArrayList();
+ for(Widget widget : widgets) {
+ addUniqueTags(tags, widget);
+ }
+ return tags;
}
@Override
public int getCountAll() {
- return 0;
+ return getAll().size();
}
@Override
public Tag getByKeyword(String keyword) {
- return null;
+ return new TagImpl(keyword);
}
@Override
+ @SuppressWarnings("unchecked")
public List<Tag> getAvailableTagsByWidgetId(Long widgetId) {
- return null; //To change body of implemented methods use File |
Settings | File Templates.
+ List<Tag> all = getAll();
+ List<Tag> widgetTags=
getTagsFromWidget(widgetTemplate.get(widgetId).getTags());
+ return ListUtils.subtract(all, widgetTags);
}
-
@Override
public Class<? extends Tag> getType() {
return Tag.class;
@@ -74,4 +87,22 @@ public class MongoDbTagRepository implem
public void delete(Tag item) {
throw new NotSupportedException("Cannot delete tags directly");
}
+
+ private List<Tag> getTagsFromWidget(List<WidgetTag> widgetTags) {
+ List<Tag> tags = Lists.newArrayList();
+ for(WidgetTag widgetTag : widgetTags) {
+ tags.add(widgetTag.getTag());
+ }
+ return tags;
+ }
+
+
+ private void addUniqueTags(List<Tag> tags, Widget widget) {
+ for(WidgetTag widgetTag : widget.getTags()) {
+ Tag tag = widgetTag.getTag();
+ if(!tags.contains(tag)) {
+ tags.add(tag);
+ }
+ }
+ }
}
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=1399088&r1=1399087&r2=1399088&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
Wed Oct 17 04:14:13 2012
@@ -21,7 +21,7 @@ package org.apache.rave.portal.repositor
import org.apache.rave.portal.model.MongoDbUser;
import org.apache.rave.portal.model.User;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoUserOperations;
import org.apache.rave.portal.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Query;
@@ -39,7 +39,7 @@ import static org.springframework.data.m
public class MongoDbUserRepository implements UserRepository {
@Autowired
- private MongoModelOperations.MongoUserOperations template;
+ private MongoUserOperations template;
@Override
public User getByUsername(String username) {
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetCommentRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetCommentRepository.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetCommentRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetCommentRepository.java
Wed Oct 17 04:14:13 2012
@@ -22,7 +22,7 @@ package org.apache.rave.portal.repositor
import org.apache.rave.portal.model.Widget;
import org.apache.rave.portal.model.WidgetComment;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoWidgetOperations;
import org.apache.rave.portal.repository.WidgetCommentRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@@ -39,7 +39,7 @@ import static org.springframework.data.m
public class MongoDbWidgetCommentRepository implements WidgetCommentRepository
{
@Autowired
- private MongoModelOperations.MongoWidgetOperations template;
+ private MongoWidgetOperations template;
@Override
public int deleteAll(Long userId) {
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRatingRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRatingRepository.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRatingRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetRatingRepository.java
Wed Oct 17 04:14:13 2012
@@ -21,7 +21,7 @@ package org.apache.rave.portal.repositor
import org.apache.rave.portal.model.Widget;
import org.apache.rave.portal.model.WidgetRating;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoWidgetOperations;
import org.apache.rave.portal.repository.WidgetRatingRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@@ -37,7 +37,7 @@ import static org.springframework.data.m
public class MongoDbWidgetRatingRepository implements WidgetRatingRepository {
@Autowired
- private MongoModelOperations.MongoWidgetOperations template;
+ private MongoWidgetOperations template;
@Override
public WidgetRating getByWidgetIdAndUserId(Long widgetId, Long userId) {
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=1399088&r1=1399087&r2=1399088&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
Wed Oct 17 04:14:13 2012
@@ -21,7 +21,7 @@ package org.apache.rave.portal.repositor
import org.apache.rave.portal.model.*;
import org.apache.rave.portal.model.util.WidgetStatistics;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoWidgetOperations;
import org.apache.rave.portal.repository.WidgetRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
@@ -43,7 +43,7 @@ import static org.springframework.data.m
public class MongoDbWidgetRepository implements WidgetRepository {
@Autowired
- private MongoModelOperations.MongoWidgetOperations template;
+ private MongoWidgetOperations template;
@Override
public List<Widget> getAll() {
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepository.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepository.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepository.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoDbWidgetTagRepository.java
Wed Oct 17 04:14:13 2012
@@ -22,7 +22,7 @@ package org.apache.rave.portal.repositor
import org.apache.rave.exception.NotSupportedException;
import org.apache.rave.portal.model.Widget;
import org.apache.rave.portal.model.WidgetTag;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoWidgetOperations;
import org.apache.rave.portal.repository.WidgetTagRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@@ -34,7 +34,7 @@ import java.util.Iterator;
@Repository
public class MongoDbWidgetTagRepository implements WidgetTagRepository {
@Autowired
- private MongoModelOperations.MongoWidgetOperations template;
+ private MongoWidgetOperations template;
@Override
public WidgetTag getByWidgetIdAndTag(Long widgetId, String keyword) {
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplate.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplate.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplate.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoPageTemplate.java
Wed Oct 17 04:14:13 2012
@@ -21,13 +21,13 @@ package org.apache.rave.portal.repositor
import org.apache.rave.portal.model.MongoDbPage;
import org.apache.rave.portal.model.Page;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoPageOperations;
import org.springframework.stereotype.Component;
/**
*/
@Component
-public class MongoPageTemplate extends MongoModelTemplate<Page, MongoDbPage>
implements MongoModelOperations.MongoPageOperations {
+public class MongoPageTemplate extends MongoModelTemplate<Page, MongoDbPage>
implements MongoPageOperations {
public static final String COLLECTION = "page";
public MongoPageTemplate() {
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoUserTemplate.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoUserTemplate.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoUserTemplate.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoUserTemplate.java
Wed Oct 17 04:14:13 2012
@@ -21,11 +21,11 @@ package org.apache.rave.portal.repositor
import org.apache.rave.portal.model.MongoDbUser;
import org.apache.rave.portal.model.User;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoUserOperations;
import org.springframework.stereotype.Component;
@Component
-public class MongoUserTemplate extends MongoModelTemplate<User, MongoDbUser>
implements MongoModelOperations.MongoUserOperations {
+public class MongoUserTemplate extends MongoModelTemplate<User, MongoDbUser>
implements MongoUserOperations {
public static final String COLLECTION = "person";
public MongoUserTemplate() {
Modified:
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoWidgetTemplate.java
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoWidgetTemplate.java?rev=1399088&r1=1399087&r2=1399088&view=diff
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoWidgetTemplate.java
(original)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/repository/impl/MongoWidgetTemplate.java
Wed Oct 17 04:14:13 2012
@@ -21,17 +21,23 @@ package org.apache.rave.portal.repositor
import org.apache.rave.portal.model.MongoDbWidget;
import org.apache.rave.portal.model.Widget;
-import org.apache.rave.portal.repository.MongoModelOperations;
+import org.apache.rave.portal.repository.MongoWidgetOperations;
+import org.springframework.data.mongodb.core.mapreduce.MapReduceResults;
import org.springframework.stereotype.Component;
/**
*/
@Component
-public class MongoWidgetTemplate extends MongoModelTemplate<Widget,
MongoDbWidget> implements MongoModelOperations.MongoWidgetOperations {
+public class MongoWidgetTemplate extends MongoModelTemplate<Widget,
MongoDbWidget> implements MongoWidgetOperations {
public static final String COLLECTION = "widget";
public MongoWidgetTemplate() {
super(Widget.class, MongoDbWidget.class, COLLECTION);
}
+
+ @Override
+ public <T> MapReduceResults<T> mapReduce(String mapFunction, String
reduceFunction, Class<T> entityClass) {
+ return mongoTemplate.mapReduce(COLLECTION, mapFunction,
reduceFunction, entityClass);
+ }
}
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetRatingsMap.js
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetRatingsMap.js?rev=1399088&view=auto
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetRatingsMap.js
(added)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetRatingsMap.js
Wed Oct 17 04:14:13 2012
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+function() {
+ for(var i=0; i<this.ratings.length; i++) {
+ var rating = this.ratings[i];
+ emit(this._id, {
+ totalLike : rating.score == 10 ? 1 : 0,
+ totalDislike : rating.score == 0 ? 1: 0,
+ userRating : rating.score
+ });
+ }
+}
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetRatingsReduce.js
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetRatingsReduce.js?rev=1399088&view=auto
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetRatingsReduce.js
(added)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetRatingsReduce.js
Wed Oct 17 04:14:13 2012
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+function(key, values) {
+ var result = {
+ totalLike : 0,
+ totalDislike : 0,
+ userRating : 0
+ };
+ for(var i=0; i< values.length; i++) {
+ result.totalLike += values[i].totalLike;
+ result.totalDislike += values[i].totalDislike;
+ result.userRating += values[i].userRating;
+ }
+ return result;
+
+}
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetUsersMap.js
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetUsersMap.js?rev=1399088&view=auto
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetUsersMap.js
(added)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetUsersMap.js
Wed Oct 17 04:14:13 2012
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+function () {
+ var widgetMap = {};
+ for(var i=0; i<this.regions.length; i++) {
+ for(var j=0; j<this.regions[i].regionWidgets.length; j++) {
+ var regionWidget = this.regions[i].regionWidgets[j];
+ if(!widgetMap[regionWidget.widgetId]) {
+ widgetMap[regionWidget.widgetId] = true;
+ emit(regionWidget.widgetId, 1)
+ }
+ }
+ }
+}
Added:
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetUsersReduce.js
URL:
http://svn.apache.org/viewvc/rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetUsersReduce.js?rev=1399088&view=auto
==============================================================================
---
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetUsersReduce.js
(added)
+++
rave/branches/mongo/rave-components/rave-mongodb/src/main/resources/org/apache/rave/WidgetUsersReduce.js
Wed Oct 17 04:14:13 2012
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+function (key, values) {
+ var result=0;
+ for(var i=0; i<values.length; i++) {
+ result += values[i];
+ }
+ return result;
+}