Added photark-social module to trunk.Patch(social_api_v2.patch) submitted by Umashanthi Pavalanathan.
git-svn-id: https://svn.apache.org/repos/asf/incubator/photark/trunk@1128890 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/photark-social/pom.xml b/photark-social/pom.xml
new file mode 100644
index 0000000..13c4e10
--- /dev/null
+++ b/photark-social/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.photark</groupId>
+ <artifactId>photark-parent</artifactId>
+ <version>1.0-incubating-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>photark-social</artifactId>
+ <name>Apache PhotArk Social API</name>
+
+ <dependencies>
+
+ </dependencies>
+
+ <build>
+ <finalName>${artifactId}</finalName>
+ </build>
+
+</project>
diff --git a/photark-social/src/main/java/org/apache/photark/social/activity/Activity.java b/photark-social/src/main/java/org/apache/photark/social/activity/Activity.java
new file mode 100644
index 0000000..aeba94f
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/activity/Activity.java
@@ -0,0 +1,82 @@
+/*
+ * 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.photark.social.activity;
+
+import java.util.Date;
+
+public class Activity {
+
+ private String body; // content of the activity
+ private String id; // ID associated with this activity
+ // private Array<MediaItem>
+ private Date postedTime;
+ private String title; // primary text of an activity
+ private String url; // url representing this activity
+ private String userId; // ID of the user to whom this activity is belong to
+
+ public void setBody(String body) {
+ this.body = body;
+ }
+
+ public String getBody() {
+ return body;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public Date getPostedTime() {
+ return postedTime;
+ }
+
+ public void setPostedTime(Date postedTime) {
+ this.postedTime = postedTime;
+ }
+
+ public String getTitle() {
+ return title;
+ }
+
+ public void setTitle(String title) {
+ this.title = title;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/activity/ActivityManager.java b/photark-social/src/main/java/org/apache/photark/social/activity/ActivityManager.java
new file mode 100644
index 0000000..1f20d2d
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/activity/ActivityManager.java
@@ -0,0 +1,152 @@
+/*
+ * 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.photark.social.activity;
+
+import java.util.Set;
+
+import org.apache.photark.social.exception.PhotArkSocialException;
+import org.apache.photark.social.util.FilterOptions;
+
+public interface ActivityManager {
+
+ /**
+ * creates an Activity data object with the given fields
+ *
+ * @param userId
+ * ID of the user to whom the activity belongs to
+ * @param groupId
+ * optional; ID of the group if this activity belongs to a group
+ * @param fields
+ * attributes of the activity
+ * @return an Activity data object
+ * @throws PhotArkSocialException
+ */
+ Activity createActivity(String userId, String groupId, Set<String> fields)
+ throws PhotArkSocialException;
+
+ /**
+ * persists the given Activity data object for the given user
+ *
+ * @param userId
+ * ID of the user to whom the activity belongs to
+ * @param activity
+ * the Activity data object to persists
+ * @throws PhotArkSocialException
+ */
+ void saveActivity(String userId, Activity activity)
+ throws PhotArkSocialException;
+
+ /**
+ * updates a persisted Activity data object
+ *
+ * @param userId
+ * ID of the user to whom the activity belongs to
+ * @param activity
+ * the Activity data object to update
+ * @throws PhotArkSocialException
+ */
+ void updateActivity(String userId, Activity activity)
+ throws PhotArkSocialException;
+
+ /**
+ * removes a persisted Activity data object
+ *
+ * @param userId
+ * ID of the user to whom the activity belongs to
+ * @param activityId
+ * ID of the activity to be removed
+ * @throws PhotArkSocialException
+ */
+ void deleteActivity(String userId, String activityId)
+ throws PhotArkSocialException;
+
+ /**
+ * removes a persisted Activity data objects for given activityIds
+ *
+ * @param userId
+ * ID of the user to whom the activities belongs to
+ * @param groupId
+ * optional; ID of the group if this activity belongs to a group
+ * @param activityIds
+ * Set of activityIds to be deleted
+ * @throws PhotArkSocialException
+ */
+ void deleteActivities(String userId, String groupId, Set<String> activityIds)
+ throws PhotArkSocialException;
+
+ /**
+ * Retrieves array of Activity data objects matching the given input
+ * parameters
+ *
+ * @param userIds
+ * IDs of the users the activities belongs to
+ * @param groupId
+ * optional; ID of the group, the activities belongs to
+ * @param fields
+ * optional; fields of the activities to be returned
+ * @param filters
+ * optional; any filter options
+ * @return array of Activity data objects
+ * @throws PhotArkSocialException
+ */
+ Activity[] getActivities(String[] userIds, String groupId,
+ Set<String> fields, FilterOptions filters)
+ throws PhotArkSocialException;
+
+ /**
+ * Retrieves array of Activity data objects matching the given input
+ * parameters
+ *
+ * @param userIds
+ * IDs of the users the activities belongs to
+ * @param groupId
+ * optional; ID of the group, the activities belongs to
+ * @param fields
+ * optional; fields of the activities to be returned
+ * @param filters
+ * optional; any filter options
+ * @param activityIds
+ * array of activityIds
+ * @return array of Activity data objects
+ * @throws PhotArkSocialException
+ */
+ Activity[] getActivities(String userId, String groupId, Set<String> fields,
+ FilterOptions filters, String[] activityIds)
+ throws PhotArkSocialException;
+
+ /**
+ * Retrieves an Activity data object matching the given input parameters
+ *
+ * @param userIds
+ * IDs of the users the activities belongs to
+ * @param groupId
+ * optional; ID of the group, the activities belongs to
+ * @param fields
+ * optional; fields of the activities to be returned
+ * @param activityId
+ * ID of the Activity data object to be retrieved
+ * @return an Activity data object matching the given input parameters
+ * @throws PhotArkSocialException
+ */
+ public Activity getActivity(String userId, String groupId,
+ Set<String> fields, String activityId)
+ throws PhotArkSocialException;
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/activity/ActivityManagerImpl.java b/photark-social/src/main/java/org/apache/photark/social/activity/ActivityManagerImpl.java
new file mode 100644
index 0000000..9ee7fde
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/activity/ActivityManagerImpl.java
@@ -0,0 +1,81 @@
+/*
+ * 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.photark.social.activity;
+
+import java.util.Set;
+
+import org.apache.photark.social.exception.PhotArkSocialException;
+import org.apache.photark.social.util.FilterOptions;
+
+public class ActivityManagerImpl implements ActivityManager {
+
+ public Activity createActivity(String userId, String groupId,
+ Set<String> fields) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void saveActivity(String userId, Activity activity)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void updateActivity(String userId, Activity activity)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void deleteActivity(String userId, String activityId)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void deleteActivities(String userId, String groupId,
+ Set<String> activityIds) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Activity[] getActivities(String[] userIds, String groupId,
+ Set<String> fields, FilterOptions filters)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Activity[] getActivities(String userId, String groupId,
+ Set<String> fields, FilterOptions filters, String[] activityIds)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Activity getActivity(String userId, String groupId,
+ Set<String> fields, String activityId)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/appdata/AppData.java b/photark-social/src/main/java/org/apache/photark/social/appdata/AppData.java
new file mode 100644
index 0000000..d3de42e
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/appdata/AppData.java
@@ -0,0 +1,52 @@
+/*
+ * 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.photark.social.appdata;
+
+public class AppData {
+
+ private String id; // id of this app data
+ private String key; // key of the app data
+ private String value; // value of the app data
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/appdata/AppDataManager.java b/photark-social/src/main/java/org/apache/photark/social/appdata/AppDataManager.java
new file mode 100644
index 0000000..c1f4939
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/appdata/AppDataManager.java
@@ -0,0 +1,81 @@
+/*
+ * 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.photark.social.appdata;
+
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.photark.social.exception.PhotArkSocialException;
+
+public interface AppDataManager {
+
+ /**
+ * Retrieve person data
+ *
+ * @param userId
+ * ID of the user the data belongs to
+ * @param groupId
+ * optional; ID of the group the data belongs to
+ * @return map of name-value pairs
+ * @throws PhotArkSocialException
+ */
+ Map<String, String> getPersonData(String userId, String groupId)
+ throws PhotArkSocialException;
+
+ /**
+ *
+ * @param userIds IDs of the users the data belong to
+ * @param groupId optional; ID of the group the data belongs to
+ * @return map of name-value pairs for each user
+ * @throws PhotArkSocialException
+ */
+ Map<String, Map<String, String>> getPeopleData(String[] userIds,
+ String groupId) throws PhotArkSocialException;
+
+ /**
+ *
+ * @param userId ID of the user the data belongs to
+ * @param values map of name-value pairs
+ * @throws PhotArkSocialException
+ */
+ void savePersonData(String userId, Map<String, String> values)
+ throws PhotArkSocialException;
+
+ /**
+ *
+ * @param userId
+ * @param groupId
+ * @param fields
+ * @throws PhotArkSocialException
+ */
+
+ void deletePersonData(String userId, String groupId,Set<String> fields) throws PhotArkSocialException;
+
+ /**
+ *
+ * @param userId
+ * @param groupId
+ * @param values
+ * @throws PhotArkSocialException
+ */
+ void updatePersonData(String userId, String groupId, String appId,
+ Set<String> fields, Map<String, String> values)
+ throws PhotArkSocialException;
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/appdata/AppDataManagerImpl.java b/photark-social/src/main/java/org/apache/photark/social/appdata/AppDataManagerImpl.java
new file mode 100644
index 0000000..fb5ac4d
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/appdata/AppDataManagerImpl.java
@@ -0,0 +1,62 @@
+/*
+ * 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.photark.social.appdata;
+
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.photark.social.exception.PhotArkSocialException;
+
+public class AppDataManagerImpl implements AppDataManager{
+
+ public Map<String, String> getPersonData(String userId, String groupId)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Map<String, Map<String, String>> getPeopleData(String[] userIds,
+ String groupId) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void savePersonData(String userId, Map<String, String> values)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void deletePersonData(String userId, String groupId,
+ Set<String> fields) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void updatePersonData(String userId, String groupId, String appId,
+ Set<String> fields, Map<String, String> values)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/exception/PhotArkSocialException.java b/photark-social/src/main/java/org/apache/photark/social/exception/PhotArkSocialException.java
new file mode 100644
index 0000000..4d3dba3
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/exception/PhotArkSocialException.java
@@ -0,0 +1,44 @@
+/*
+ * 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.photark.social.exception;
+
+public class PhotArkSocialException extends Throwable{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -5053119486166764904L;
+
+ public PhotArkSocialException() {
+ }
+
+ public PhotArkSocialException(String message) {
+ super(message);
+ }
+
+ public PhotArkSocialException(Throwable cause) {
+ super(cause);
+ }
+
+ public PhotArkSocialException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/message/Message.java b/photark-social/src/main/java/org/apache/photark/social/message/Message.java
new file mode 100644
index 0000000..86fe484
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/message/Message.java
@@ -0,0 +1,107 @@
+/*
+ * 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.photark.social.message;
+
+import java.util.Date;
+import java.util.List;
+
+public class Message {
+
+ private String body; // main text of the message
+ private String id; // unique ID of this message
+ private String inReplyTo; // ID of the message for which this message is a
+ // reply/comment
+ private List<String> recepients; // list of person IDs
+ private List<String> replies; // list of message IDs which are replies for
+ // this message
+ private String senderId; // ID of the person who sent the message
+ private String status; // status of the message (NEW, READ, DELETED)
+ private Date timeSent; // the time message was sent
+ private String title; // title of the message
+ private Date updated; // last updated time of this message
+ private String url; // url for this message
+ public String getBody() {
+ return body;
+ }
+ public void setBody(String body) {
+ this.body = body;
+ }
+ public String getId() {
+ return id;
+ }
+ public void setId(String id) {
+ this.id = id;
+ }
+ public String getInReplyTo() {
+ return inReplyTo;
+ }
+ public void setInReplyTo(String inReplyTo) {
+ this.inReplyTo = inReplyTo;
+ }
+ public List<String> getRecepients() {
+ return recepients;
+ }
+ public void setRecepients(List<String> recepients) {
+ this.recepients = recepients;
+ }
+ public List<String> getReplies() {
+ return replies;
+ }
+ public void setReplies(List<String> replies) {
+ this.replies = replies;
+ }
+ public String getSenderId() {
+ return senderId;
+ }
+ public void setSenderId(String senderId) {
+ this.senderId = senderId;
+ }
+ public String getStatus() {
+ return status;
+ }
+ public void setStatus(String status) {
+ this.status = status;
+ }
+ public Date getTimeSent() {
+ return timeSent;
+ }
+ public void setTimeSent(Date timeSent) {
+ this.timeSent = timeSent;
+ }
+ public String getTitle() {
+ return title;
+ }
+ public void setTitle(String title) {
+ this.title = title;
+ }
+ public Date getUpdated() {
+ return updated;
+ }
+ public void setUpdated(Date updated) {
+ this.updated = updated;
+ }
+ public String getUrl() {
+ return url;
+ }
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/message/MessageCollection.java b/photark-social/src/main/java/org/apache/photark/social/message/MessageCollection.java
new file mode 100644
index 0000000..7957030
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/message/MessageCollection.java
@@ -0,0 +1,73 @@
+/*
+ * 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.photark.social.message;
+
+import java.util.Date;
+import java.util.List;
+
+public class MessageCollection {
+ public static String ALL="@all";
+ public static String OUTBOX="@outbox";
+
+ private String id; // unique ID of the message collection
+ private String title; //title of the message collection
+ private int totalCount; // total number of messages for this collection
+ private int unreadCount; //total number of unread messages
+ private Date lastUpdated; // the last time this message collection was modified
+ private List<String> urls; // the URLs related to the message collection
+ public String getId() {
+ return id;
+ }
+ public void setId(String id) {
+ this.id = id;
+ }
+ public String getTitle() {
+ return title;
+ }
+ public void setTitle(String title) {
+ this.title = title;
+ }
+ public int getTotalCount() {
+ return totalCount;
+ }
+ public void setTotalCount(int totalCount) {
+ this.totalCount = totalCount;
+ }
+ public int getUnreadCount() {
+ return unreadCount;
+ }
+ public void setUnreadCount(int unreadCount) {
+ this.unreadCount = unreadCount;
+ }
+ public Date getLastUpdated() {
+ return lastUpdated;
+ }
+ public void setLastUpdated(Date lastUpdated) {
+ this.lastUpdated = lastUpdated;
+ }
+ public List<String> getUrls() {
+ return urls;
+ }
+ public void setUrls(List<String> urls) {
+ this.urls = urls;
+ }
+
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/message/MessageManager.java b/photark-social/src/main/java/org/apache/photark/social/message/MessageManager.java
new file mode 100644
index 0000000..1635b68
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/message/MessageManager.java
@@ -0,0 +1,108 @@
+/*
+ * 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.photark.social.message;
+
+import java.util.List;
+import java.util.Set;
+
+import org.apache.photark.social.exception.PhotArkSocialException;
+import org.apache.photark.social.util.FilterOptions;
+
+public interface MessageManager {
+
+ /**
+ * Posts a message to the user's specified message collection, to be sent to the set of recipients specified in the message
+ * @param userId The id of the user posting the message
+ * @param msgCollId The message collection Id to post to, default @outbox
+ * @param message he message to post
+ * @throws PhotArkSocialException
+ *
+ */
+ void createMessage(String userId, String msgCollId, Message message) throws PhotArkSocialException;
+
+ /**
+ * Creates a new message collection for the given arguments
+ * @param userId The userId to create the message collection for
+ * @param messageColl A message collection that is to be created
+ * @throws PhotArkSocialException
+ */
+
+ void createMessageCollection(String userId, MessageCollection messageColl) throws PhotArkSocialException;
+
+ /**
+ * Deletes a message collection for the given arguments
+ * @param userId The userId to create the message collection for
+ * @param msgCollId ID of the message collection to be deleted
+ * @throws PhotArkSocialException
+ */
+ void deleteMessageCollection(String userId, String msgCollId) throws PhotArkSocialException;
+
+ /**
+ * Deletes a set of messages for a given user/message collection
+ * @param userId The id of the user to delete for
+ * @param msgCollId The Message Collection ID to delete from, default @all
+ * @param msgIds List of IDs to delete
+ * @throws PhotArkSocialException
+ */
+ void deleteMessages(String userId, String msgCollId, List<String> msgIds) throws PhotArkSocialException;
+
+ /**
+ * Returns a list of message collections corresponding to the given user
+ * @param userId The ID of user to fetch for
+ * @param fileds The fields to fetch for the message collections
+ * @param filters Pagination options etc
+ * @return a list of message collections corresponding to the given user
+ * @throws PhotArkSocialException
+ */
+ List<MessageCollection> getMessageCollections(String userId, Set<String> fileds, FilterOptions filters) throws PhotArkSocialException;
+
+ /**
+ * Returns a list of messages that correspond to the passed in data
+ * @param userId The ID of user to fetch for
+ * @param msgCollId The message Collection ID to fetch from, default @all
+ * @param fields The fields to fetch for the messages
+ * @param msgIds An explicit set of message ids to fetch
+ * @param filters Options to control the fetch
+ * @return a list of messages that correspond to the passed in data
+ * @throws PhotArkSocialException
+ */
+ List<Message> getMessages(String userId, String msgCollId, Set<String> fields,List<String> msgIds, FilterOptions filters) throws PhotArkSocialException;
+
+ /**
+ * Modifies/Updates a specific message with new data
+ * @param userId The of the user to modify for
+ * @param msgCollId The Message Collection ID to modify from, default @all
+ * @param msgId The messageId to modify
+ * @param message The message details to modify
+ * @throws PhotArkSocialException
+ */
+ void modifyMessage(String userId, String msgCollId, String msgId, Message message) throws PhotArkSocialException;
+
+ /**
+ * Modifies/Updates a message collection for the given arguments
+ * @param userId The userId to modify the message collection for
+ * @param messageCollection Data for the message collection to be modified
+ * @throws PhotArkSocialException
+ */
+ void modifyMessageCollections(String userId, MessageCollection messageCollection) throws PhotArkSocialException;
+
+
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/message/MessageManagerImpl.java b/photark-social/src/main/java/org/apache/photark/social/message/MessageManagerImpl.java
new file mode 100644
index 0000000..f318e6b
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/message/MessageManagerImpl.java
@@ -0,0 +1,80 @@
+/*
+ * 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.photark.social.message;
+
+import java.util.List;
+import java.util.Set;
+
+import org.apache.photark.social.exception.PhotArkSocialException;
+import org.apache.photark.social.util.FilterOptions;
+
+public class MessageManagerImpl implements MessageManager{
+
+ public void createMessage(String userId, String msgCollId, Message message)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void createMessageCollection(String userId,
+ MessageCollection messageColl) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void deleteMessageCollection(String userId, String msgCollId)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void deleteMessages(String userId, String msgCollId,
+ List<String> msgIds) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public List<MessageCollection> getMessageCollections(String userId,
+ Set<String> fileds, FilterOptions filters)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List<Message> getMessages(String userId, String msgCollId,
+ Set<String> fields, List<String> msgIds, FilterOptions filters)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void modifyMessage(String userId, String msgCollId, String msgId,
+ Message message) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void modifyMessageCollections(String userId,
+ MessageCollection messageCollection) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/person/Group.java b/photark-social/src/main/java/org/apache/photark/social/person/Group.java
new file mode 100644
index 0000000..4f46af9
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/person/Group.java
@@ -0,0 +1,44 @@
+/*
+ * 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.photark.social.person;
+
+public class Group {
+ private String id; // ID representing this group
+ private String title; // title of the group
+ private String description; // description of the group
+ public String getId() {
+ return id;
+ }
+ public void setId(String id) {
+ this.id = id;
+ }
+ public String getTitle() {
+ return title;
+ }
+ public void setTitle(String title) {
+ this.title = title;
+ }
+ public String getDescription() {
+ return description;
+ }
+ public void setDescription(String description) {
+ this.description = description;
+ }
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/person/Person.java b/photark-social/src/main/java/org/apache/photark/social/person/Person.java
new file mode 100644
index 0000000..ff3ea2d
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/person/Person.java
@@ -0,0 +1,127 @@
+/*
+ * 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.photark.social.person;
+
+import java.util.Date;
+import java.util.List;
+
+public class Person {
+
+ private String aboutMe;
+ private List<String> activities;
+ private String address;
+ private Date birthday;
+ private String displayName;
+ private List<String> emails;
+ private String firstName;
+ private String gender;
+ private String id;
+ private String lastName;
+ private String nickname;
+ private List<String> organizations;
+ private List<String> phoneNumbers;
+ private String thumbnailUrl;
+ public void setAboutMe(String aboutMe) {
+ this.aboutMe = aboutMe;
+ }
+ public String getAboutMe() {
+ return aboutMe;
+ }
+ public void setActivities(List<String> activities) {
+ this.activities = activities;
+ }
+ public List<String> getActivities() {
+ return activities;
+ }
+ public void setAddress(String address) {
+ this.address = address;
+ }
+ public String getAddress() {
+ return address;
+ }
+ public void setBirthday(Date birthday) {
+ this.birthday = birthday;
+ }
+ public Date getBirthday() {
+ return birthday;
+ }
+ public void setDisplayName(String displayName) {
+ this.displayName = displayName;
+ }
+ public String getDisplayName() {
+ return displayName;
+ }
+ public void setEmails(List<String> emails) {
+ this.emails = emails;
+ }
+ public List<String> getEmails() {
+ return emails;
+ }
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+ public String getFirstName() {
+ return firstName;
+ }
+ public void setGender(String gender) {
+ this.gender = gender;
+ }
+ public String getGender() {
+ return gender;
+ }
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+ public String getLastName() {
+ return lastName;
+ }
+ public void setId(String id) {
+ this.id = id;
+ }
+ public String getId() {
+ return id;
+ }
+ public void setOrganizations(List<String> organizations) {
+ this.organizations = organizations;
+ }
+ public List<String> getOrganizations() {
+ return organizations;
+ }
+ public void setNickname(String nickname) {
+ this.nickname = nickname;
+ }
+ public String getNickname() {
+ return nickname;
+ }
+ public void setPhoneNumbers(List<String> phoneNumbers) {
+ this.phoneNumbers = phoneNumbers;
+ }
+ public List<String> getPhoneNumbers() {
+ return phoneNumbers;
+ }
+ public void setThumbnailUrl(String thumbnailUrl) {
+ this.thumbnailUrl = thumbnailUrl;
+ }
+ public String getThumbnailUrl() {
+ return thumbnailUrl;
+ }
+
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/person/PersonManager.java b/photark-social/src/main/java/org/apache/photark/social/person/PersonManager.java
new file mode 100644
index 0000000..6e4ce8f
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/person/PersonManager.java
@@ -0,0 +1,79 @@
+/*
+ * 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.photark.social.person;
+
+import org.apache.photark.social.exception.PhotArkSocialException;
+
+public interface PersonManager {
+ /**
+ * Persists the Person data object
+ * @param personId ID of the Person data object
+ * @param person Person data object
+ * @throws PhotArkSocialException
+ */
+ void savePerson(String personId, Person person) throws PhotArkSocialException;
+
+ /**
+ * Updates the Person data object with updated fields
+ * @param personId ID of the Person data object
+ * @param person Person data object with filed to update
+ * @throws PhotArkSocialException
+ */
+
+ void updatePerson(String personId, Person person) throws PhotArkSocialException;
+
+ /**
+ * Removes a Person data object from persistence
+ * @param personId ID of the Person data object to be removed
+ * @throws PhotArkSocialException
+ */
+ void removePerson(String personId) throws PhotArkSocialException;
+
+ /**
+ * Retrieves the Person data object for the given ID
+ * @param personId ID of the Person data object to be retrieved
+ * @return the Person data object for the given ID
+ * @throws PhotArkSocialException
+ */
+
+ Person getPerson(String personId) throws PhotArkSocialException;
+
+ /**
+ * Retrieves the Person data object for the given ID with specified fields
+ * @param personId personId ID of the Person data object to be retrieved
+ * @param fields the fields of the Person data object to be retrieved
+ * @return the Person data object for the given ID with the specified fields
+ * @throws PhotArkSocialException
+ */
+
+ Person getPerson(String personId, String[] fields) throws PhotArkSocialException;
+
+ /**
+ * Retrieves array of Person data objects for the given person IDs and group
+ * @param personIds String array of IDs of the persons
+ * @param groupId the ID of the group the persons belongs to; optional
+ * @param fields the fields of the Person data object to be retrieved
+ * @return an array of Person data objects
+ * @throws PhotArkSocialException
+ */
+ Person[] getPeople(String[] personIds, String groupId,String[] fields) throws PhotArkSocialException;
+
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/person/PersonManagerImpl.java b/photark-social/src/main/java/org/apache/photark/social/person/PersonManagerImpl.java
new file mode 100644
index 0000000..40199b6
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/person/PersonManagerImpl.java
@@ -0,0 +1,60 @@
+/*
+ * 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.photark.social.person;
+
+import org.apache.photark.social.exception.PhotArkSocialException;
+
+public class PersonManagerImpl implements PersonManager {
+
+ public void savePerson(String personId, Person person)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void updatePerson(String personId, Person person)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void removePerson(String personId) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public Person getPerson(String personId) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Person getPerson(String personId, String[] fields)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Person[] getPeople(String[] personIds, String groupId,
+ String[] fields) throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/person/relationship/RelationshipManager.java b/photark-social/src/main/java/org/apache/photark/social/person/relationship/RelationshipManager.java
new file mode 100644
index 0000000..d37b2e5
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/person/relationship/RelationshipManager.java
@@ -0,0 +1,126 @@
+/*
+ * 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.photark.social.person.relationship;
+
+import org.apache.photark.social.exception.PhotArkSocialException;
+
+public interface RelationshipManager {
+
+ public static final String RELATIONSHIP_FRIEND = "friend";
+ public static final String RELATIONHIP_FRIEND_REQUEST_PENDING = "friend request pending";
+ public static final String RELATIONHIP_FRIEND_REQUEST_RECEIVED = "friend request received";
+ public static final String RELATIONHIP_NONE = "none";
+
+ /**
+ * Returns the relationship status between two users
+ *
+ * @param veiwer
+ * ID of the person who views owner's pages
+ * @param owner
+ * ID of the person whom the pages/resources belongs to
+ * @return one of {RELATIONSHIP_FRIEND,RELATIONHIP_FRIEND_REQUEST_PENDING,
+ * RELATIONHIP_FRIEND_REQUEST_RECEIVED ,RELATIONHIP_NONE}
+ * @throws PhotArkSocialException
+ */
+
+ String getRelationshipStatus(String veiwer, String owner)
+ throws PhotArkSocialException;
+
+ /**
+ * Sends/creates a friend request from viewer to owner
+ *
+ * @param viewer
+ * ID of the person who requests for the relationship
+ * @param owner
+ * ID of the person for whom viewer sends the relationship
+ * request
+ * @return true if the request was successful; else false
+ * @throws PhotArkSocialException
+ */
+ boolean requestRelationship(String viewer, String owner)
+ throws PhotArkSocialException;
+
+ /**
+ * Accepts a relationship request from owner
+ *
+ * @param viewer
+ * ID of the person who has sent the relationship request
+ * @param owner
+ * ID of the person who has received the relationship request
+ * from viewer
+ * @return true if a relationship was created between viewer and owner;
+ * otherwise false
+ * @throws PhotArkSocialException
+ */
+ boolean acceptRelationshipRequest(String viewer, String owner)
+ throws PhotArkSocialException;
+
+ /**
+ * Ignores a relationship request
+ *
+ * @param viewer
+ * ID of the person who has sent the relationship request
+ * @param owner
+ * ID of the person who has received the relationship request
+ * from viewer
+ * @return true if the operation was successful
+ * @throws PhotArkSocialException
+ */
+ boolean ignoreRelationship(String viewer, String owner)
+ throws PhotArkSocialException;
+
+ /**
+ * Removing the relationship - i.e: un-friending
+ *
+ * @param owner
+ * ID of the person with whom the viewer wants to remove the
+ * relationship
+ * @param viewer
+ * ID of the person who wants to remove the relationship with
+ * owner
+ * @return true if the operation was successful
+ * @throws PhotArkSocialException
+ */
+ boolean removeRelationship(String owner, String viewer)
+ throws PhotArkSocialException;
+
+ /**
+ * Retrieves the list relationships the user has
+ *
+ * @param loggedUser
+ * ID of the user logged in
+ * @return array of Strings with the IDs of the persons who has relationship
+ * with loggedUser
+ * @throws PhotArkSocialException
+ */
+ String[] getRelationshipList(String loggedUser)
+ throws PhotArkSocialException;
+
+ /**
+ * Retrieves the list of relationship requests
+ *
+ * @param owner
+ * ID of the person who has received the relationship requests
+ * @return array of Strings with the IDs of the persons who has sent
+ * relationship requests to the owner
+ * @throws PhotArkSocialException
+ */
+ String[] getPendingRelationshipRequests(String owner)
+ throws PhotArkSocialException;
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/person/relationship/RelationshipManagerImpl.java b/photark-social/src/main/java/org/apache/photark/social/person/relationship/RelationshipManagerImpl.java
new file mode 100644
index 0000000..77c0304
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/person/relationship/RelationshipManagerImpl.java
@@ -0,0 +1,68 @@
+/*
+ * 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.photark.social.person.relationship;
+
+import org.apache.photark.social.exception.PhotArkSocialException;
+
+public class RelationshipManagerImpl implements RelationshipManager{
+
+ public String getRelationshipStatus(String veiwer, String owner)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean requestRelationship(String viewer, String owner)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean acceptRelationshipRequest(String viewer, String owner)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean ignoreRelationship(String viewer, String owner)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeRelationship(String owner, String viewer)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public String[] getRelationshipList(String loggedUser)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String[] getPendingRelationshipRequests(String owner)
+ throws PhotArkSocialException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
diff --git a/photark-social/src/main/java/org/apache/photark/social/util/FilterOptions.java b/photark-social/src/main/java/org/apache/photark/social/util/FilterOptions.java
new file mode 100644
index 0000000..f7b66c2
--- /dev/null
+++ b/photark-social/src/main/java/org/apache/photark/social/util/FilterOptions.java
@@ -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.
+ */
+
+package org.apache.photark.social.util;
+
+public class FilterOptions {
+ /**
+ * This class represents the filtering options when retrieving social data
+ * object collections
+ */
+
+}
diff --git a/pom.xml b/pom.xml
index ac06328..d834916 100644
--- a/pom.xml
+++ b/pom.xml
@@ -220,6 +220,7 @@
<module>photark-ui-security</module>
<module>photark-appengine-webapp</module>
<module>photark-face-recognition</module>
+ <module>photark-social</module>
<module>photark-webapp</module>
</modules>
</profile>
@@ -243,6 +244,7 @@
<module>photark-ui-security</module>
<module>photark-appengine-webapp</module>
<module>photark-face-recognition</module>
+ <module>photark-social</module>
<module>photark-webapp</module>
</modules>
</profile>
@@ -267,6 +269,7 @@
<module>photark-ui-test</module>
<module>photark-appengine-webapp</module>
<module>photark-face-recognition</module>
+ <module>photark-social</module>
<module>photark-webapp</module>
</modules>
</profile>