You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ps...@apache.org on 2012/05/08 20:50:12 UTC

svn commit: r1335687 [2/3] - in /rave/trunk: rave-components/rave-core/src/main/java/org/apache/rave/portal/model/ rave-components/rave-core/src/main/java/org/apache/rave/portal/repository/ rave-components/rave-core/src/main/java/org/apache/rave/portal...

Modified: rave/trunk/rave-components/rave-core/src/test/resources/test_data.sql
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-core/src/test/resources/test_data.sql?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-core/src/test/resources/test_data.sql (original)
+++ rave/trunk/rave-components/rave-core/src/test/resources/test_data.sql Tue May  8 18:50:10 2012
@@ -40,6 +40,7 @@ set @category_seq = 'category';
 set @page_template_seq = 'page_template';
 set @page_template_region_seq = 'page_template_region';
 set @page_template_widget_seq = 'page_template_widget';
+set @page_user_seq = 'page_user';
 
 CREATE TABLE IF NOT EXISTS RAVE_PORTAL_SEQUENCES (seq_name VARCHAR(255) PRIMARY KEY NOT NULL, seq_count BIGINT(19));
 INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_seq, 1);
@@ -59,6 +60,7 @@ INSERT INTO RAVE_PORTAL_SEQUENCES(seq_na
 INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_template_seq, 1);
 INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_template_region_seq, 1);
 INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_template_widget_seq, 1);
+INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_user_seq, 1);
 
 
   -- ***********************************************************************************
@@ -286,10 +288,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_1 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_1, null, 1, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_1, null, @two_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_1, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data
+
 set @page_1_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_1_region_1, @page_1_id, 1);
@@ -332,10 +341,17 @@ values (@next_widget_rating, 2, 1, 10);
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @widget_rating_seq;
 
 set @page_2_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_2_id, 'Social', @user_id_1, null, 2, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_2_id, 'Social', @user_id_1, null, @two_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_2_id, @user_id_1, true, 2, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data
+
 set @page_2_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_2_region_1, @page_2_id, 1);
@@ -378,10 +394,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 -- person profile page for user 1
 set @person_profile_page_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@person_profile_page_id , 'Person Profile', @user_id_1, null, 1, @person_profile_layout_id, 'PERSON_PROFILE');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@person_profile_page_id , 'Person Profile', @user_id_1, null, @person_profile_layout_id, 'PERSON_PROFILE');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @person_profile_page_id, @user_id_1, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @person_profile_page_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@person_profile_page_region_1, @person_profile_page_id, 1);
@@ -399,10 +422,16 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 -- sub pages for profile page for user 1
 set @sub_page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@sub_page_1_id , 'About', @user_id_1, @person_profile_page_id, 1, @one_col_id, 'SUB_PAGE');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@sub_page_1_id , 'About', @user_id_1, @person_profile_page_id, @one_col_id, 'SUB_PAGE');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @sub_page_1_id, @user_id_1, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 set @sub_page_1_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@sub_page_1_region_1, @sub_page_1_id, 1);
@@ -419,10 +448,16 @@ values (@next_region_widget, @schedule_w
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @region_widget_seq;
 
 set @sub_page_2_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@sub_page_2_id , 'My Activity', @user_id_1, @person_profile_page_id, 2, @one_col_id, 'SUB_PAGE');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@sub_page_2_id , 'My Activity', @user_id_1, @person_profile_page_id, @one_col_id, 'SUB_PAGE');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @sub_page_2_id, @user_id_1, true, 2, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 set @sub_page_2_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@sub_page_2_region_1, @sub_page_2_id, 1);
@@ -436,10 +471,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_2 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_2, null, 1, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_2, null, @two_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_2, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_1_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_1_region_1, @page_1_id, 1);
@@ -473,10 +515,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_3 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_3, null, 1, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_3, null, @two_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_3, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_1_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_1_region_1, @page_1_id, 1);
@@ -510,26 +559,49 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_4 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_4, null, 1, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_4, null, @two_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_4, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 --- End user_id_4 layout ---
 
 --- Layout for user_id_5 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_5, null, 1, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_5, null, @two_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_5, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 --- End user_id_5 layout ---
 
 
 
 --- Layout for user_id_6 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_6, null, 1, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_6, null, @two_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_6, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_1_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_1_region_1, @page_1_id, 1);
@@ -563,10 +635,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_7 ---
 set @page_7_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_7_id, 'Main', @user_id_7, null, 1, @one_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_7_id, 'Main', @user_id_7, null, @one_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_7_id, @user_id_7, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_7_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_7_region_1, @page_7_id, 1);
@@ -586,10 +665,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_8 ---
 set @page_8_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_8_id, 'Main', @user_id_8, null, 1, @twown_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_8_id, 'Main', @user_id_8, null, @twown_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_8_id, @user_id_8, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_8_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_8_region_1, @page_8_id, 1);
@@ -623,10 +709,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_9 ---
 set @page_9_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_9_id, 'Main', @user_id_9, null, 1, @three_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_9_id, 'Main', @user_id_9, null, @three_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_9_id, @user_id_9, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_9_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_9_region_1, @page_9_id, 1);
@@ -665,10 +758,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_10 ---
 set @page_10_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_10_id, 'Main', @user_id_10, null, 1, @threewn_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_10_id, 'Main', @user_id_10, null, @threewn_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_10_id, @user_id_10, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_10_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_10_region_1, @page_10_id, 1);
@@ -707,10 +807,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_11 ---
 set @page_11_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_11_id, 'Main', @user_id_11, null, 1, @four_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_11_id, 'Main', @user_id_11, null, @four_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_11_id, @user_id_11, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_11_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_11_region_1, @page_11_id, 1);
@@ -755,10 +862,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_12 ---
 set @page_12_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_12_id, 'Main', @user_id_12, null, 1, @fourwn_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_12_id, 'Main', @user_id_12, null, @fourwn_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_12_id, @user_id_12, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_12_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_12_region_1, @page_12_id, 1);
@@ -802,10 +916,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_13 ---
 set @page_13_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_13_id, 'Main', @user_id_13, null, 1, @fourwn_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_13_id, 'Main', @user_id_13, null, @fourwn_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_13_id, @user_id_13, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_13_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order)
 values (@page_13_region_1, @page_13_id, 1);

Modified: rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PageApi.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PageApi.java?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PageApi.java (original)
+++ rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/PageApi.java Tue May  8 18:50:10 2012
@@ -216,4 +216,37 @@ public class PageApi {
             }
         }.getResult();
     }
+
+    @ResponseBody
+    @RequestMapping(value = "{pageId}/addmember", method = RequestMethod.POST)
+    public RpcResult<Boolean> addMemberToPage(@PathVariable final long pageId, @RequestParam final long userId) {
+        return new RpcOperation<Boolean>() {
+             @Override
+             public Boolean execute() {
+               return pageService.addMemberToPage(pageId, userId);
+             }
+        }.getResult();
+    }
+
+    @ResponseBody
+    @RequestMapping(value = "{pageId}/removemember", method = RequestMethod.POST)
+    public RpcResult<Boolean> removeMemberFromPage(@PathVariable final long pageId, @RequestParam final long userId) {
+        return new RpcOperation<Boolean>() {
+             @Override
+             public Boolean execute() {
+               return pageService.removeMemberFromPage(pageId, userId);
+             }
+        }.getResult();
+    }
+
+    @ResponseBody
+    @RequestMapping(value = "{pageId}/sharestatus", method = RequestMethod.POST)
+    public RpcResult<Boolean> updateSharedPageStatus(@PathVariable final long pageId, @RequestParam final String shareStatus) {
+        return new RpcOperation<Boolean>() {
+             @Override
+             public Boolean execute() {
+               return pageService.updateSharedPageStatus(pageId, shareStatus);
+             }
+        }.getResult();
+    }
 }
\ No newline at end of file

Added: rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/UserApi.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/UserApi.java?rev=1335687&view=auto
==============================================================================
--- rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/UserApi.java (added)
+++ rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/UserApi.java Tue May  8 18:50:10 2012
@@ -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.rave.portal.web.api.rpc;
+
+import org.apache.rave.portal.model.User;
+import org.apache.rave.portal.model.util.SearchResult;
+import org.apache.rave.portal.service.UserService;
+import org.apache.rave.portal.web.api.rpc.model.RpcOperation;
+import org.apache.rave.portal.web.api.rpc.model.RpcResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller(value = "rpcUserApi")
+@RequestMapping(value = "/api/rpc/users/*")
+public class UserApi {
+
+    public static final int DEFAULT_PAGE_SIZE = 10;
+
+    private UserService userService;
+
+    @Autowired
+    public UserApi(UserService userService) {
+        this.userService = userService;
+    }
+
+    @ResponseBody
+    @RequestMapping(method = RequestMethod.GET, value = "get")
+    public RpcResult<SearchResult<User>> viewUsers(@RequestParam final int offset) {
+        return new RpcOperation<SearchResult<User>>() {
+            @Override
+            public SearchResult<User> execute() {
+                return userService.getLimitedListOfUsers(offset, DEFAULT_PAGE_SIZE);
+            }
+        }.getResult();
+    }
+
+    @ResponseBody
+    @RequestMapping(method = RequestMethod.GET, value = "search")
+    public RpcResult<SearchResult<User>> searchUsers(@RequestParam final String searchTerm, @RequestParam final int offset) {
+        return new RpcOperation<SearchResult<User>>() {
+            @Override
+            public SearchResult<User> execute() {
+                return userService.getUsersByFreeTextSearch(searchTerm, offset, DEFAULT_PAGE_SIZE);
+            }
+        }.getResult();
+    }
+
+}

Propchange: rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/UserApi.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/PageController.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/PageController.java?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/PageController.java (original)
+++ rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/controller/PageController.java Tue May  8 18:50:10 2012
@@ -19,7 +19,9 @@
 package org.apache.rave.portal.web.controller;
 
 import org.apache.rave.portal.model.Page;
+import org.apache.rave.portal.model.PageInvitationStatus;
 import org.apache.rave.portal.model.PageLayout;
+import org.apache.rave.portal.model.PageUser;
 import org.apache.rave.portal.model.User;
 import org.apache.rave.portal.service.PageLayoutService;
 import org.apache.rave.portal.service.PageService;
@@ -39,6 +41,7 @@ import org.springframework.web.bind.anno
 import org.springframework.web.bind.annotation.RequestMethod;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -71,46 +74,71 @@ public class PageController {
     public String viewDefault(Model model, HttpServletRequest request) {
         List<Page> pages = getAllPagesForAuthenticatedUser();
         Page page = pageService.getDefaultPageFromList(pages);
+        PageUser currentPageUser = null;
+        User thisUser = userService.getAuthenticatedUser();
+        for(PageUser pageUser : page.getMembers()){
+            if(pageUser.getUser().equals(thisUser)){
+                currentPageUser = pageUser;
+            }
+        }
         List<PageLayout> pageLayouts = pageLayoutService.getAllUserSelectable();
-        addAttributesToModel(model, page, pages, pageLayouts);
+        addAttributesToModel(model, page, currentPageUser, pages, pageLayouts);
         String view = ControllerUtils.getDeviceAppropriateView(request, ViewNames.getPageView(page.getPageLayout().getCode()), ViewNames.MOBILE_HOME);
         ControllerUtils.addNavItemsToModel(view, model, page.getEntityId(), userService.getAuthenticatedUser());
         return view;
     }
-
+    
     @RequestMapping(value = "/page/view/{pageId}", method = RequestMethod.GET)
     public String view(@PathVariable Long pageId, Model model, HttpServletRequest request) {
-        User user = userService.getAuthenticatedUser();
-        logger.debug("attempting to get pageId {} for {}", pageId, user);
-
-        List<Page> pages = getAllPagesForAuthenticatedUser();
-        Page page = pageService.getPageFromList(pageId, pages);
-        List<PageLayout> pageLayouts = pageLayoutService.getAllUserSelectable();
-        addAttributesToModel(model, page, pages, pageLayouts);
-        String view = ControllerUtils.getDeviceAppropriateView(request, ViewNames.getPageView(page.getPageLayout().getCode()), ViewNames.MOBILE_HOME);
-        ControllerUtils.addNavItemsToModel(view, model, page.getEntityId(), user);
-        return view;
+        try {
+            List<Page> pages = getAllPagesForAuthenticatedUser();
+            Page page = pageService.getPageFromList(pageId, pages);
+            PageUser currentPageUser = null;
+            User thisUser = userService.getAuthenticatedUser();
+            for(PageUser pageUser : page.getMembers()){
+                if(pageUser.getUser().equals(thisUser)){
+                    currentPageUser = pageUser;
+                }
+            }
+            List<PageLayout> pageLayouts = pageLayoutService.getAllUserSelectable();
+            addAttributesToModel(model, page, currentPageUser, pages, pageLayouts);
+            String view = ControllerUtils.getDeviceAppropriateView(request, ViewNames.getPageView(page.getPageLayout().getCode()), ViewNames.MOBILE_HOME);
+            ControllerUtils.addNavItemsToModel(view, model, page.getEntityId(), thisUser);
+            return view;
+        } catch (Exception e) {
+            logger.info("unable to get page - possibly because a shared page was revoked by its owner");
+        }
+        // Page could not be found or a shared page was removed, in which case return to default view
+        return viewDefault(model, request);
     }
-
+    
     private List<Page> getAllPagesForAuthenticatedUser() {
         User user = userService.getAuthenticatedUser();
         long userId = user.getEntityId();
         List<Page> pages = pageService.getAllUserPages(userId);
-        if (pages.isEmpty()) {
+        // we add pages to this list which the corresponding pageUser object is not set to "refused"
+        List<Page> viewablePages = new ArrayList<Page>();
+        for(Page page : pages){
+            for(PageUser pageUser : page.getMembers()){
+                if(pageUser.getUser().equals(user) && !pageUser.getPageStatus().equals(PageInvitationStatus.REFUSED)){
+                    viewablePages.add(page);
+                }
+            }
+        }
+        if (viewablePages.isEmpty()) {
             // create a new default page for the user
             logger.info("User {} does not have any pages - creating default page", user.getUsername());
             pageService.addNewDefaultUserPage(userId);
             // refresh the pages list which will now have the new page
-            pages = pageService.getAllUserPages(userId);
+            viewablePages = pageService.getAllUserPages(userId);
         }
-        return pages;
+        return viewablePages;
     }
-
-    private void addAttributesToModel(Model model, Page page, List<Page> pages, List<PageLayout> pageLayouts) {
+    
+    private void addAttributesToModel(Model model, Page page, PageUser pageUser, List<Page> pages, List<PageLayout> pageLayouts) {
         model.addAttribute(ModelKeys.PAGE, page);
         model.addAttribute(ModelKeys.PAGES, pages);
         model.addAttribute(ModelKeys.PAGE_LAYOUTS, pageLayouts);
+        model.addAttribute(ModelKeys.PAGE_USER, pageUser);
     }
-
-
 }

Modified: rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ModelKeys.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ModelKeys.java?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ModelKeys.java (original)
+++ rave/trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/util/ModelKeys.java Tue May  8 18:50:10 2012
@@ -28,6 +28,7 @@ public class ModelKeys {
 
     public static final String PAGE = "page"; // the current page object
     public static final String PAGES = "pages"; // a list of pages available for the current user
+    public static final String PAGE_USER = "pageUser"; // a single user who have shared access to a given page (other users are obtained from page.getMembers())
     public static final String PAGE_LAYOUTS = "pageLayouts"; // a list of all the possible page layouts
     public static final String ERROR_MESSAGE = "errorMessage"; // an error message to be reported to the user
     public static final String WIDGETS = "widgets"; // a list of widget objects

Modified: rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java
URL: http://svn.apache.org/viewvc/rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java (original)
+++ rave/trunk/rave-components/rave-web/src/test/java/org/apache/rave/portal/web/controller/PageControllerTest.java Tue May  8 18:50:10 2012
@@ -22,8 +22,10 @@ package org.apache.rave.portal.web.contr
 import org.apache.rave.portal.service.PageLayoutService;
 import org.apache.rave.portal.web.controller.util.MockHttpUtil;
 import org.springframework.mock.web.MockHttpServletRequest;
+import org.apache.rave.portal.model.PageInvitationStatus;
 import org.apache.rave.portal.model.PageLayout;
 import org.apache.rave.portal.model.Page;
+import org.apache.rave.portal.model.PageUser;
 import org.apache.rave.portal.model.User;
 import org.apache.rave.portal.service.PageService;
 import org.apache.rave.portal.service.UserService;
@@ -50,6 +52,7 @@ public class PageControllerTest {
     
     private Model model;
     private Page defaultPage, otherPage;
+    private PageUser defaultPageUser, otherPageUser;
     private List<Page> allPages;
     private List<PageLayout> allPageLayouts;
     
@@ -73,26 +76,36 @@ public class PageControllerTest {
         validPageLayout.setEntityId(33L);
         validPageLayout.setCode(VALID_PAGE_LAYOUT_CODE);
 
-        defaultPage = new Page(DEFAULT_PAGE_ID);
+        validUser = new User(USER_ID);
+
+        defaultPage = new Page(DEFAULT_PAGE_ID, validUser);
         defaultPage.setPageLayout(validPageLayout);
-        otherPage = new Page(OTHER_PAGE_ID);
+        defaultPageUser = new PageUser(validUser, defaultPage, 1L);
+        defaultPageUser.setPageStatus(PageInvitationStatus.OWNER);
+        defaultPage.setMembers(new ArrayList<PageUser>());
+        defaultPage.getMembers().add(defaultPageUser);
+
+        otherPage = new Page(OTHER_PAGE_ID, validUser);
         otherPage.setPageLayout(validPageLayout);
-        
+        otherPageUser = new PageUser(validUser, otherPage, 2L);
+        otherPageUser.setPageStatus(PageInvitationStatus.OWNER);
+        otherPage.setMembers(new ArrayList<PageUser>());
+        otherPage.getMembers().add(otherPageUser);
+
         allPages = new ArrayList<Page>();
         allPages.add(defaultPage);   
         allPages.add(otherPage);
 
         allPageLayouts = new ArrayList<PageLayout>();
         allPageLayouts.add(validPageLayout);
-        
-        validUser = new User(USER_ID);
+
         validUser.setDefaultPageLayout(validPageLayout);
     }
 
     @SuppressWarnings("unchecked")
     @Test
     public void view_pageId() {
-        MockHttpUtil.setupRequestAsNonMobileUserAgent(request);        
+        MockHttpUtil.setupRequestAsNonMobileUserAgent(request);
         
         expect(userService.getAuthenticatedUser()).andReturn(validUser).anyTimes(); 
         expect(pageService.getAllUserPages(USER_ID)).andReturn(allPages);
@@ -104,7 +117,7 @@ public class PageControllerTest {
         
         assertThat(results, equalTo(ViewNames.getPageView(VALID_PAGE_LAYOUT_CODE)));
         assertThat((Page) model.asMap().get(ModelKeys.PAGE), sameInstance(otherPage));
-        assertThat((List<Page>) model.asMap().get(ModelKeys.PAGES), sameInstance(allPages));
+        assertThat((List<Page>) model.asMap().get(ModelKeys.PAGES), equalTo(allPages));
         assertThat((List<PageLayout>) model.asMap().get(ModelKeys.PAGE_LAYOUTS), sameInstance(allPageLayouts));
         
         verify(userService, pageService, pageLayoutService);
@@ -125,7 +138,7 @@ public class PageControllerTest {
         
         assertThat(results, equalTo(ViewNames.MOBILE_HOME));
         assertThat((Page) model.asMap().get(ModelKeys.PAGE), sameInstance(otherPage));
-        assertThat((List<Page>) model.asMap().get(ModelKeys.PAGES), sameInstance(allPages));
+        assertThat((List<Page>) model.asMap().get(ModelKeys.PAGES), equalTo(allPages));
         assertThat((List<PageLayout>) model.asMap().get(ModelKeys.PAGE_LAYOUTS), sameInstance(allPageLayouts));
         
         verify(userService, pageService, pageLayoutService);
@@ -134,7 +147,7 @@ public class PageControllerTest {
     @SuppressWarnings("unchecked")
     @Test
     public void view_pageId_zeroExistingPages() {
-        MockHttpUtil.setupRequestAsNonMobileUserAgent(request);        
+        MockHttpUtil.setupRequestAsNonMobileUserAgent(request);
         List<Page> pages = new ArrayList<Page>();
         
         assertThat(pages.isEmpty(), is(true));
@@ -158,7 +171,7 @@ public class PageControllerTest {
     @SuppressWarnings("unchecked")
     @Test
     public void viewDefault_pageId() {
-        MockHttpUtil.setupRequestAsNonMobileUserAgent(request);        
+        MockHttpUtil.setupRequestAsNonMobileUserAgent(request);
         
         expect(userService.getAuthenticatedUser()).andReturn(validUser).anyTimes(); 
         expect(pageService.getAllUserPages(USER_ID)).andReturn(allPages);
@@ -170,7 +183,7 @@ public class PageControllerTest {
         
         assertThat(results, equalTo(ViewNames.getPageView(VALID_PAGE_LAYOUT_CODE)));
         assertThat((Page) model.asMap().get(ModelKeys.PAGE), sameInstance(defaultPage));
-        assertThat((List<Page>) model.asMap().get(ModelKeys.PAGES), sameInstance(allPages));
+        assertThat((List<Page>) model.asMap().get(ModelKeys.PAGES), equalTo(allPages));
         assertThat((List<PageLayout>) model.asMap().get(ModelKeys.PAGE_LAYOUTS), sameInstance(allPageLayouts));
         
         verify(userService, pageService, pageLayoutService);
@@ -179,7 +192,7 @@ public class PageControllerTest {
     @SuppressWarnings("unchecked")
     @Test
     public void viewDefault_pageId_zeroExistingPages() {
-        MockHttpUtil.setupRequestAsNonMobileUserAgent(request);        
+        MockHttpUtil.setupRequestAsNonMobileUserAgent(request);
         List<Page> pages = new ArrayList<Page>();
         
         assertThat(pages.isEmpty(), is(true));
@@ -198,5 +211,5 @@ public class PageControllerTest {
         assertThat((List<PageLayout>) model.asMap().get(ModelKeys.PAGE_LAYOUTS), sameInstance(allPageLayouts));
         
         verify(userService, pageService, pageLayoutService);
-    }    
+    }
 }

Modified: rave/trunk/rave-portal-resources/src/main/resources/messages.properties
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/resources/messages.properties?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/resources/messages.properties (original)
+++ rave/trunk/rave-portal-resources/src/main/resources/messages.properties Tue May  8 18:50:10 2012
@@ -60,6 +60,9 @@ page.general.movepage=Move Page
 page.general.movethispage=Move this page:
 page.general.movethispage.after=After {0}
 page.general.movethispage.tofirst=To First Tab (Set as Default)
+page.general.sharepage=Share Page
+page.general.removeshare=Remove share
+page.general.search.title=Search or browse for user
 page.general.password=Password:
 page.general.screenshot=screenshot
 page.general.title=Rave
@@ -329,6 +332,11 @@ widget.menu.movethiswidget=Move this wid
 widget.menu.movetopage=Move to Page
 widget.menu.title=Widget Actions
 
+sharing.dialog.confirm.title=New page share found
+sharing.dialog.confirm.message={0} has shared this page with you. Do you wish to accept and add this page to your collection?
+sharing.page.tab.icon.tip.from=This page has been shared with you by {0}
+sharing.page.tab.icon.tip.to=You have shared this page with other users
+
 #######################################################################################################################
 # messages available to the client javascript via the MessageBundleController must start with "_rave_client."
 #######################################################################################################################
@@ -337,11 +345,17 @@ _rave_client.api.rpc.error.invalid_param
 _rave_client.api.rpc.error.internal=Rave attempted to update the server with your recent changes, but the server encountered an internal error.
 _rave_client.api.widget_metadata.invalid_params=Both url and type are needed to get the metadata
 _rave_client.api.widget_metadata.parse_error=Unable to parse Widget for its metadata.\n\nPlease verify that the url is pointing to a valid Widget of the type specified.
+_rave_client.api.rpc.empty.search.term=Search term cannot be empty
 _rave_client.common.add=Add
+_rave_client.common.remove=Remove
 _rave_client.common.cancel=Cancel
 _rave_client.common.move=Move
 _rave_client.common.save=Save
 _rave_client.common.update=Update
+_rave_client.common.accept=Accept
+_rave_client.common.decline=Decline
+_rave_client.common.username=Username
+_rave_client.common.sharing=Sharing
 _rave_client.form.password.invalid_match=The password does not match
 _rave_client.opensocial.render_error=Unable to render OpenSocial Gadget:
 _rave_client.page.add=Add a New Page
@@ -353,4 +367,11 @@ _rave_client.widget.prefs.required.title
 _rave_client.widget.provider.error=This widget type is currently unsupported.  Check with your administrator and be sure the correct provider is registered.
 _rave_client.widget.remove_confirm=Are you sure you want to remove this widget from your page?
 _rave_client.widget.users.added_by=has been added by...
-
+_rave_client.search.list.result.x.to.y=Showing {0} - {1} of {2} results
+_rave_client.create.share=User was successfully added to this page
+_rave_client.revoke.share=User was successfully removed from this page
+_rave_client.create.share.confirm=Are you sure you wish to add this user?
+_rave_client.revoke.share.confirm=Are you sure you wish to remove this user?
+_rave_client.revoke.share.current.user=Your share to this page has been successfully removed
+_rave_client.revoke.share.current.user.confirm=Are you sure you wish to remove this shared page?
+_rave_client.no.results.found=No results found

Modified: rave/trunk/rave-portal-resources/src/main/resources/messages_nl.properties
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/resources/messages_nl.properties?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/resources/messages_nl.properties (original)
+++ rave/trunk/rave-portal-resources/src/main/resources/messages_nl.properties Tue May  8 18:50:10 2012
@@ -62,6 +62,9 @@ page.general.movepage=Verplaats pagina
 page.general.movethispage=Verplaats deze pagina:
 page.general.movethispage.after=Na {0}
 page.general.movethispage.tofirst=Naar eerste tab
+page.general.sharepage=Deel pagina
+page.general.removeshare=Trek delen in	
+page.general.search.title=Zoek of blader voor gebruiker
 page.general.password=Wachtwoord:
 page.general.screenshot=schermafbeelding
 page.general.title=Rave
@@ -340,6 +343,11 @@ widget.menu.movethiswidget=Verplaats dez
 widget.menu.movetopage=Verplaats naar Pagina
 widget.menu.title=Widget acties
 
+sharing.dialog.confirm.title=Nieuwe gedeelde pagina gevonden
+sharing.dialog.confirm.message={0} heeft een pagina met jou gedeeld. Wil je deze gedeelde pagina toevoegen?
+sharing.page.tab.icon.tip.from=Deze pagina is met jou gedeeld door {0}.
+sharing.page.tab.icon.tip.to=U hebt deze pagina met andere gebruikers gedeeld
+
 #######################################################################################################################
 # boodschappen ter beschikking van de opdrachtgever javascript via de MessageBundleController moet beginnen met "_rave_client."
 #######################################################################################################################
@@ -348,11 +356,17 @@ _rave_client.api.rpc.error.invalid_param
 _rave_client.api.rpc.error.internal=Rave geprobeerd de server met uw recente wijzigingen bij te werken, maar de server heeft een interne fout.
 _rave_client.api.widget_metadata.invalid_params=Zowel de url en het type zijn nodig om de metadata te krijgen
 _rave_client.api.widget_metadata.parse_error=Kan de metadata van de Widget niet inlezen.nnControleer of de URL verwijst naar een geldige Widget van het opgegeven type.
+_rave_client.api.rpc.empty.search.term=Zoekterm mag niet leeg zijn
 _rave_client.common.add=Toevoegen
+_rave_client.common.remove=Verwijder
 _rave_client.common.cancel=Annuleren
 _rave_client.common.move=Bewegen
 _rave_client.common.save=Bewaren
 _rave_client.common.update=Bijwerken
+_rave_client.common.accept=Accepteer
+_rave_client.common.decline=Wijs af	
+_rave_client.common.username=Gebruikersnaam	
+_rave_client.common.sharing=Delen
 _rave_client.form.password.invalid_match=Het wachtwoord komt niet overeen
 _rave_client.opensocial.render_error=Kan OpenSocial Gadget niet weergeven\:
 _rave_client.page.add=Voeg een nieuwe pagina toe
@@ -364,3 +378,11 @@ _rave_client.widget.prefs.required.title
 _rave_client.widget.provider.error=Dit type widget wordt momenteel niet ondersteund. Neem contact op met uw beheerder en zorg ervoor dat de juiste provider is geregistreerd.
 _rave_client.widget.remove_confirm=Weet u zeker dat u deze widget wilt verwijderen van uw pagina?
 _rave_client.widget.users.added_by=is toegevoegd door...
+_rave_client.search.list.result.x.to.y=Toont resultaat {0} - {1} van {2}
+_rave_client.create.share=Gebruiker is toegevoegd aan deze pagina
+_rave_client.revoke.share=Gebruiker is verwijderd van deze pagina	
+_rave_client.create.share.confirm=Weet je zeker dat je deze gebruiker wilt toevoegen?
+_rave_client.revoke.share.confirm=Weet je zeker dat je deze gebruiker wilt verwijderen?
+_rave_client.revoke.share.current.user=Deze pagina is niet langer gedeeld.
+_rave_client.revoke.share.current.user.confirm=Weet je zeker dat je deze gedeelde pagina wilt verwijderen?
+_rave_client.no.results.found=Geen resultaten gevonden

Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/db/initial_data.sql Tue May  8 18:50:10 2012
@@ -43,6 +43,7 @@ set @category_seq = 'category';
 set @page_template_seq = 'page_template';
 set @page_template_region_seq = 'page_template_region';
 set @page_template_widget_seq = 'page_template_widget';
+set @page_user_seq = 'page_user';
 
 CREATE TABLE IF NOT EXISTS RAVE_PORTAL_SEQUENCES (seq_name VARCHAR(255) PRIMARY KEY NOT NULL, seq_count BIGINT(19));
 INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_seq, 1);
@@ -65,6 +66,7 @@ INSERT INTO RAVE_PORTAL_SEQUENCES(seq_na
 INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_template_seq, 1);
 INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_template_region_seq, 1);
 INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_template_widget_seq, 1);
+INSERT INTO RAVE_PORTAL_SEQUENCES(seq_name, seq_count) values (@page_user_seq, 1);
 
   -- ***********************************************************************************
   -- start page layout data, required to make the portal work ---
@@ -416,10 +418,16 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_1 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_1, null, 1, @newuser_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_1, null, @newuser_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_1, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data
 
 set @page_1_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
@@ -463,10 +471,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 
 set @page_2_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_2_id, 'Social', @user_id_1, null, 2, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_2_id, 'Social', @user_id_1, null, @two_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_2_id, @user_id_1, true, 2, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data
+
 set @page_2_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
 values (@page_2_region_1, @page_2_id, 1, false);
@@ -498,10 +513,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_2 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_2, null, 1, @newuser_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_2, null, @newuser_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_2, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_1_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
 values (@page_1_region_1, @page_1_id, 1, false);
@@ -540,10 +562,17 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_3 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_3, null, 1, @newuser_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_3, null, @newuser_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
 
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_3, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 set @page_1_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
 values (@page_1_region_1, @page_1_id, 1, false);
@@ -582,25 +611,44 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_4 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_4, null, 1, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_4, null, @two_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_4, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 --- End user_id_4 layout ---
 
---- Layout for user_id_5 ---
+--- Layout for user_id_5 ---
 ---set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
----INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
----values (@page_1_id, 'Main', @user_id_5, null, 1, @two_col_id, 'USER');
+---INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+---values (@page_1_id, 'Main', @user_id_5, null, @two_col_id, 'USER');
 ---UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+--Set up page user data--
+---set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+---insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+---values (@page_user_id, @page_1_id, @user_id_5, true, 1, 'OWNER');
+---UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 --- End user_id_5 layout ---
 
 
 
 --- Layout for user_id_6 ---
 set @page_1_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_1_id, 'Main', @user_id_6, null, 1, @two_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_1_id, 'Main', @user_id_6, null, @two_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_1_id, @user_id_6, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
+
 
 set @page_1_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
@@ -635,9 +683,15 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_7 ---
 set @page_7_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_7_id, 'Main', @user_id_7, null, 1, @one_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_7_id, 'Main', @user_id_7, null, @one_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_7_id, @user_id_7, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 
 set @page_7_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
@@ -658,9 +712,15 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_8 ---
 set @page_8_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_8_id, 'Main', @user_id_8, null, 1, @twown_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_8_id, 'Main', @user_id_8, null, @twown_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_8_id, @user_id_8, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 
 set @page_8_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
@@ -695,9 +755,15 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_9 ---
 set @page_9_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_9_id, 'Main', @user_id_9, null, 1, @three_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_9_id, 'Main', @user_id_9, null, @three_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_9_id, @user_id_9, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 
 set @page_9_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
@@ -737,9 +803,15 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_10 ---
 set @page_10_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_10_id, 'Main', @user_id_10, null, 1, @threewn_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_10_id, 'Main', @user_id_10, null, @threewn_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_10_id, @user_id_10, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 
 set @page_10_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
@@ -779,9 +851,15 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_11 ---
 set @page_11_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_11_id, 'Main', @user_id_11, null, 1, @four_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_11_id, 'Main', @user_id_11, null, @four_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_11_id, @user_id_11, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 
 set @page_11_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
@@ -827,9 +905,15 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_12 ---
 set @page_12_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_12_id, 'Main', @user_id_12, null, 1, @fourwn_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_12_id, 'Main', @user_id_12, null, @fourwn_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_12_id, @user_id_12, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 
 set @page_12_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)
@@ -874,9 +958,15 @@ UPDATE RAVE_PORTAL_SEQUENCES SET seq_cou
 
 --- Layout for user_id_13 ---
 set @page_13_id = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_seq);
-INSERT INTO page (entity_id, name, owner_id, parent_page_id, render_sequence, page_layout_id, page_type)
-values (@page_13_id, 'Main', @user_id_13, null, 1, @fourwn_col_id, 'USER');
+INSERT INTO page (entity_id, name, owner_id, parent_page_id, page_layout_id, page_type)
+values (@page_13_id, 'Main', @user_id_13, null, @fourwn_col_id, 'USER');
 UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_seq;
+--Set up page user data--
+set @page_user_id =(SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @page_user_seq);
+insert into page_user (entity_id, page_id, user_id, editor, render_sequence, page_status)
+values (@page_user_id, @page_13_id, @user_id_13, true, 1, 'OWNER');
+UPDATE RAVE_PORTAL_SEQUENCES SET seq_count = (seq_count + 1) WHERE seq_name = @page_user_seq;
+--end page user data--
 
 set @page_13_region_1 = (SELECT seq_count FROM RAVE_PORTAL_SEQUENCES WHERE seq_name = @region_seq);
 INSERT INTO region(entity_id, page_id, render_order, locked)

Modified: rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/WEB-INF/jsp/views/page.jsp Tue May  8 18:50:10 2012
@@ -21,14 +21,17 @@
 <%@ include file="/WEB-INF/jsp/includes/taglibs.jsp" %>
 <fmt:setBundle basename="messages"/>
 <jsp:useBean id="pages" type="java.util.List<org.apache.rave.portal.model.Page>" scope="request"/>
+<jsp:useBean id="pageUser" type="org.apache.rave.portal.model.PageUser" scope="request"/>
 <jsp:useBean id="pageLayouts" type="java.util.List<org.apache.rave.portal.model.PageLayout>" scope="request"/>
 <%--@elvariable id="page" type="org.apache.rave.portal.model.Page"--%>
+<sec:authentication property="principal.username" var="principleUsername" scope="request"/>
+<sec:authentication property="principal.displayName" var="displayName" scope="request"/>
 
 <fmt:message key="page.home.welcome" var="pagetitle">
     <fmt:param>
         <c:choose>
-            <c:when test="${not empty page.owner.displayName}"><c:out value="${page.owner.displayName}"/></c:when>
-            <c:otherwise><c:out value="${page.owner.username}"/></c:otherwise>
+            <c:when test="${not empty displayName}"><c:out value="${displayName}"/></c:when>
+            <c:otherwise><c:out value="${principleUsername}"/></c:otherwise>
         </c:choose>
     </fmt:param>
 </fmt:message>
@@ -53,26 +56,72 @@
                         <c:otherwise>false</c:otherwise>
                     </c:choose>
                 </c:set>
+                <c:set var="isSharedToMe">
+                    <c:choose>
+                        <c:when test="${userPage.owner.username == principleUsername}">false</c:when>
+                        <c:otherwise>true</c:otherwise>
+                    </c:choose>
+                </c:set>
+                <c:set var="isSharedByMe">
+                    <c:choose>
+                        <c:when test="${fn:length(userPage.members) > 1 and isSharedToMe == false}">true</c:when>
+                        <c:otherwise>false</c:otherwise>
+                    </c:choose>
+                </c:set>
+                <fmt:message key="sharing.page.tab.icon.tip.from" var="iconShareToolTipFrom">
+                    <fmt:param value="${userPage.owner.username}"/>
+                </fmt:message>
+                <fmt:message key="sharing.page.tab.icon.tip.to" var="iconShareToolTipTo"/>
                 <c:choose>
                     <c:when test="${isCurrentPage}">
-                        <li id="tab-${userPage.entityId}" class="active dropdown">
-                            <a href="#" class="dropdown-toggle" data-toggle="dropdown"><c:out value="${userPage.name}"/><b class="caret"></b></a>
-                            <ul class="dropdown-menu">
-                                <li id="pageMenuEdit"><a href="#"><fmt:message key="page.general.editpage"/></a></li>
-                                <li id="pageMenuDelete" class="<c:if test='${hasOnlyOnePage}'>menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.deletepage"/></a></li>
+                        <li id="tab-${userPage.entityId}" class="active dropdown" >
+                            <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+                                <c:if test="${isSharedToMe}">
+                                    <b id="pageMenuSharedIcon" class="ui-icon ui-icon-person" title="<c:out value="${iconShareToolTipFrom}"/>"></b>
+                                </c:if>
+                                <c:if test="${isSharedByMe}">
+                                    <b id="pageMenuSharedIcon" class="ui-icon ui-icon-folder-open" title="<c:out value="${iconShareToolTipTo}"/>"></b>
+                                </c:if>
+                                <c:out value="${userPage.name}"/>
+                                <b class="caret"></b>
+                            </a>
+                            <ul class="dropdown-menu" >
+                                <li id="pageMenuEdit" class="<c:if test="${isSharedToMe}">menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.editpage"/></a></li>
+                                <li id="pageMenuDelete" class="<c:if test='${hasOnlyOnePage or isSharedToMe}'>menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.deletepage"/></a></li>
                                 <li id="pageMenuMove" class="<c:if test='${hasOnlyOnePage}'>menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.movepage"/></a></li>
+                                <li id="pageMenuShare" class="<c:if test="${isSharedToMe}">menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.sharepage"/></a></li>
+                                <li id="pageMenuRevokeShare" class="<c:if test="${isSharedToMe == false}">menu-item-disabled</c:if>"><a href="#"><fmt:message key="page.general.removeshare"/></a></li>
                             </ul>
                         </li>
                     </c:when>
                     <c:otherwise>
-                        <li id="tab-${userPage.entityId}" onclick="rave.viewPage(${userPage.entityId});"><a href="#"><c:out value="${userPage.name}"/></a></li>
+                        <li id="tab-${userPage.entityId}" onclick="rave.viewPage(${userPage.entityId});">
+                            <c:choose>
+                                <c:when test="${isSharedToMe}">
+                                    <a href="#" class="rave-ui-tab-shared-to-me">
+                                        <b id="pageMenuSharedIcon" class="ui-icon ui-icon-person" title="<c:out value="${iconShareToolTipFrom}"/>"></b>
+                                        <c:out value="${userPage.name}"/>
+                                    </a>
+                                </c:when>
+                                <c:when test="${isSharedByMe}">
+                                    <a href="#" class="rave-ui-tab-shared-by-me">
+                                        <b id="pageMenuSharedIcon" class="ui-icon ui-icon-folder-open" title="<c:out value="${iconShareToolTipTo}"/>"></b>
+                                        <c:out value="${userPage.name}"/>
+                                    </a>
+                                </c:when>
+                                <c:otherwise>
+                                     <a href="#"><c:out value="${userPage.name}"/></a>
+                                </c:otherwise>
+                            </c:choose>
+                           
+                        </li>
                     </c:otherwise>
                 </c:choose>
             </c:forEach>
             <li id="addPageButton"><a href="#"><i class="icon-plus"></i></a></li>
         </ul>
     </nav>
-
+</div>
 
     <div class="row-fluid">
         <div id="emptyPageMessageWrapper" class="emptyPageMessageWrapper hidden">
@@ -137,7 +186,7 @@
                     <div class="control-group">
                         <div class="controls">
                             <select id="moveAfterPageId">
-                                <c:if test="${page.renderSequence != 1}">
+                                <c:if test="${pageUser.renderSequence != 1}">
                                     <option value="-1"><fmt:message key="page.general.movethispage.tofirst"/></option>
                                 </c:if>
                                 <c:forEach var="userPage" items="${pages}">
@@ -164,14 +213,14 @@
     <fmt:message key="widget.menu.movetopage" var="moveWidgetToPageTitle"/>
     <div id="moveWidgetModal" class="modal hide" data-backdrop="static">
         <div class="modal-header">
-			<a href="#" class="close" data-dismiss="modal">&times;</a>
-			<h3><fmt:message key="widget.menu.movethiswidget"/></h3>
-		</div>
-		<div class="modal-body">
-			<form id="moveWidgetForm" class="form-horizontal">
-			    <fieldset>
-			        <div class="control-group">
-			            <div class="controls">
+            <a href="#" class="close" data-dismiss="modal">&times;</a>
+            <h3><fmt:message key="widget.menu.movethiswidget"/></h3>
+        </div>
+        <div class="modal-body">
+            <form id="moveWidgetForm" class="form-horizontal">
+                <fieldset>
+                    <div class="control-group">
+                        <div class="controls">
                             <select id="moveToPageId">
                                 <c:forEach var="userPage" items="${pages}">
                                     <c:if test="${userPage.entityId != page.entityId}">
@@ -183,15 +232,56 @@
                             </select>
                         </div>
                     </div>
-				</fieldset>
-			</form>
-		</div>
-		<div class="modal-footer">
+                </fieldset>
+            </form>
+        </div>
+        <div class="modal-footer">
             <a href="#" class="btn" onclick="$('#moveWidgetModal').modal('hide');"><fmt:message key="_rave_client.common.cancel"/></a>
             <a href="#" class="btn btn-primary" onclick="rave.layout.moveWidgetToPage($('#moveWidgetModal').data('regionWidgetId'));"><fmt:message key="_rave_client.common.move"/></a>
-		</div>
+        </div>
     </div>
 
+    <div id="sharePageDialog" class="modal hide" data-backdrop="static">
+        <div class="modal-header">
+            <a href="#" class="close" data-dismiss="modal">&times;</a>
+            <h3><fmt:message key="page.general.search.title"/></h3>
+        </div>
+        <div class="modal-body">
+            <div id="sharePageDialogContent" >
+                <div id="shareContent">
+                    <div id="searchControls"><input id="searchTerm" name="searchTerm" type="text"/>
+                        <input id="shareSearchButton" value="<fmt:message key="page.store.search.button"/>" type="submit"/>
+                        <input id="clearSearchButton" value="<fmt:message key="admin.clearsearch"/>" type="submit" class="hide"/>
+                    </div>
+                    <div id="shareSearchListHeader"></div>
+                    <div id="shareSearchListPaging"></div>
+                    <div id="shareSearchResults"></div>
+                </div>
+            </div>
+        </div>
+        <div class="modal-footer">
+            <a href="#" class="btn" onclick="$('#sharePageDialog').modal('hide');"><fmt:message key="_rave_client.common.cancel"/></a>
+        </div>
+    </div> 
+
+    <div id="confirmSharePageDialog" class="modal hide" data-backdrop="static">
+        <div class="modal-header">
+            <a href="#" class="close" data-dismiss="modal">&times;</a>
+            <h3><fmt:message key="sharing.dialog.confirm.title"/></h3>
+        </div>
+        <div class="modal-body">
+            <div id="confirmSharePageDialogLegend">
+                <fmt:message key="sharing.dialog.confirm.message">
+                    <fmt:param value="${page.owner.username}"/>
+                </fmt:message>
+            </div>
+        </div>
+        <div class="modal-footer">
+            <a href="#" class="btn btn-primary" onclick="rave.layout.searchHandler.acceptShare()"><fmt:message key="_rave_client.common.accept"/></a>
+            <a href="#" class="btn" onclick="rave.layout.searchHandler.declineShare();"><fmt:message key="_rave_client.common.decline"/></a>
+            <a href="#" class="btn" onclick="$('#confirmSharePageDialog').modal('hide');"><fmt:message key="_rave_client.common.cancel"/></a>
+        </div>
+    </div>
 <portal:register-init-script location="${'AFTER_RAVE'}">
     <script>
         $(function() {
@@ -199,6 +289,10 @@
             rave.initWidgets();
             rave.initUI();
             rave.layout.init();
+            rave.layout.searchHandler.setDefaults("<c:out value="${principleUsername}"/>","<sec:authentication property="principal.entityId" />","<c:out value="${page.entityId}"/>", "${pageUser.pageStatus}");
         });
     </script>
+    <c:forEach var="members" items="${page.members}">
+        <script>rave.layout.searchHandler.addExistingMember("${members.user.username}");</script>
+    </c:forEach>
 </portal:register-init-script>

Modified: rave/trunk/rave-portal-resources/src/main/webapp/css/default.css
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/css/default.css?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/css/default.css (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/css/default.css Tue May  8 18:50:10 2012
@@ -1068,3 +1068,29 @@ span.error, label.error {
         padding: 1em 5px;
     }
 }
+
+.nav > li > a.rave-ui-tab-shared-to-me:hover{
+    background-color: #E8FFE8;
+}
+
+.nav > li > a.rave-ui-tab-shared-by-me:hover{
+    background-color: #E8F8FF;
+}
+
+#pageMenuSharedIcon {
+    position: relative;
+    display: inline-block;
+    vertical-align: top;
+    /* IE 7 hacks for inline-block */
+    zoom: 1;
+    *display: inline;
+    clear:right;
+    margin-right: 2px;
+}
+
+.searchdialogcontent {
+    font-size: 12px !important;
+    margin:0 0 !important; 
+    width: 100% !important;
+    padding:0 0 !important;
+}
\ No newline at end of file

Modified: rave/trunk/rave-portal-resources/src/main/webapp/script/rave_api.js
URL: http://svn.apache.org/viewvc/rave/trunk/rave-portal-resources/src/main/webapp/script/rave_api.js?rev=1335687&r1=1335686&r2=1335687&view=diff
==============================================================================
--- rave/trunk/rave-portal-resources/src/main/webapp/script/rave_api.js (original)
+++ rave/trunk/rave-portal-resources/src/main/webapp/script/rave_api.js Tue May  8 18:50:10 2012
@@ -307,7 +307,7 @@ rave.api = rave.api || (function() {
             if (args.moveAfterPageId) {
                 data["moveAfterPageId"] = args.moveAfterPageId;
             }
-            
+
             $.post(rave.getContext() + path + "page/" + args.pageId + "/move",
                 data,
                 function(result) {
@@ -422,7 +422,89 @@ rave.api = rave.api || (function() {
                    }
                }).error(handleError);
         }
+        
+        function getUsers(args){
+            var offset = args.offset;
+            $.get(rave.getContext() + path + "users/get",
+                {"offset": offset},
+                function(result) {
+                    if (result.error) {
+                        handleRpcError(result);
+                    }
+                    else {
+                        if (typeof args.successCallback == 'function') {
+                            args.successCallback(result);
+                        }
+                    }
+                }).error(handleError);
+        }
 
+        function searchUsers(args){
+            var searchTerm = args.searchTerm;
+            var offset = args.offset;
+            if (searchTerm == null || searchTerm == "") {
+                alert(rave.getClientMessage("api.rpc.empty.search.term"));
+                return;
+            }
+            $.get(rave.getContext() + path + "users/search",
+                    {"searchTerm": searchTerm, "offset": offset},
+                    function(result) {
+                        if (result.error) {
+                            handleRpcError(result);
+                        }
+                        else {
+                            if (typeof args.successCallback == 'function') {
+                                 args.successCallback(result);
+                            }
+                        }
+                    }).error(handleError);
+        }
+        
+        function addMemberToPage(args) {
+            $.post(rave.getContext() + path + "page/" + args.pageId + "/addmember",
+               {"userId": args.userId},
+               function(result) {
+                   if (result.error) {
+                       handleRpcError(result);
+                   }
+                   else {
+                       if (typeof args.successCallback == 'function') {
+                            args.successCallback(result);
+                       }
+                   }
+               }).error(handleError);
+        }
+        
+        function removeMemberFromPage(args){
+            $.post(rave.getContext() + path + "page/" + args.pageId + "/removemember",
+                {"userId": args.userId},
+                function(result) {
+                    if (result.error) {
+                        handleRpcError(result);
+                    }
+                    else {
+                        if (typeof args.successCallback == 'function') {
+                            args.successCallback(result);
+                        }
+                    }
+                }).error(handleError);
+        }
+        
+        function updateSharedPageStatus(args){
+            $.post(rave.getContext() + path + "page/" + args.pageId + "/sharestatus",
+                {"shareStatus": args.shareStatus},
+                function(result) {
+                    if (result.error) {
+                        handleRpcError(result);
+                    }
+                    else {
+                        if (typeof args.successCallback == 'function') {
+                            args.successCallback(result);
+                        }
+                    }
+            }).error(handleError);
+        }
+        
         return {
             moveWidget : moveWidgetOnPage,
             addWidgetToPage : addWidgetToPage,
@@ -433,7 +515,12 @@ rave.api = rave.api || (function() {
             movePage: movePage,
             moveWidgetToPage: moveWidgetToPage,
             getWidgetMetadata: getWidgetMetadata,
-            getWidgetMetadataGroup: getWidgetMetadataGroup
+            getWidgetMetadataGroup: getWidgetMetadataGroup,
+            getUsers : getUsers,
+            searchUsers : searchUsers,
+            addMemberToPage : addMemberToPage,
+            removeMemberFromPage : removeMemberFromPage,
+            updateSharedPageStatus : updateSharedPageStatus
         };
 
     })();