Author: solomax
Date: Sat Dec 24 15:58:32 2016
New Revision: 1775980

URL: http://svn.apache.org/viewvc?rev=1775980&view=rev
Log:
no jira: GroupChoiceProvider is extracted to be separate class

Added:
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java

Added: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java?rev=1775980&view=auto
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
 (added)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
 Sat Dec 24 15:58:32 2016
@@ -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.openmeetings.web.common;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.openmeetings.db.dao.user.GroupDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.user.Group;
+import org.apache.openmeetings.db.entity.user.GroupUser;
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.util.string.Strings;
+import org.wicketstuff.select2.ChoiceProvider;
+import org.wicketstuff.select2.Response;
+
+public class GroupChoiceProvider extends ChoiceProvider<Group> {
+       private static final long serialVersionUID = 1L;
+
+       @Override
+       public void query(String term, int page, Response<Group> response) {
+               if (WebSession.getRights().contains(User.Right.Admin)) {
+                       List<Group> groups = getBean(GroupDao.class).get(0, 
Integer.MAX_VALUE);
+                       for (Group g : groups) {
+                               if (Strings.isEmpty(term) || 
g.getName().toLowerCase().contains(term.toLowerCase())) {
+                                       response.add(g);
+                               }
+                       }
+               } else {
+                       User u = getBean(UserDao.class).get(getUserId());
+                       for (GroupUser ou : u.getGroupUsers()) {
+                               if (Strings.isEmpty(term) || 
ou.getGroup().getName().toLowerCase().contains(term.toLowerCase())) {
+                                       response.add(ou.getGroup());
+                               }
+                       }
+               }
+       }
+
+       @Override
+       public Collection<Group> toChoices(Collection<String> ids) {
+               Collection<Group> c = new ArrayList<>();
+               for (String id : ids) {
+                       c.add(getBean(GroupDao.class).get(Long.valueOf(id)));
+               }
+               return c;
+       }
+
+       @Override
+       public String getDisplayValue(Group choice) {
+               return choice.getName();
+       }
+
+       @Override
+       public String getIdValue(Group choice) {
+               Long id = choice.getId();
+               return id == null ? null : "" + id;
+       }
+}

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java?rev=1775980&r1=1775979&r2=1775980&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 Sat Dec 24 15:58:32 2016
@@ -21,25 +21,20 @@ package org.apache.openmeetings.web.room
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getRights;
-import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
 
 import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.GroupUserDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.db.entity.user.GroupUser;
-import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.GroupChoiceProvider;
 import org.apache.openmeetings.web.common.InvitationForm;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
@@ -53,8 +48,6 @@ import org.apache.wicket.model.util.Coll
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
-import org.wicketstuff.select2.ChoiceProvider;
-import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
 
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
@@ -67,48 +60,7 @@ public class RoomInvitationForm extends
        private final WebMarkupContainer groupContainer = new 
WebMarkupContainer("groupContainer");
        final Select2MultiChoice<Group> groups = new 
Select2MultiChoice<Group>("groups"
                        , new CollectionModel<Group>(new ArrayList<Group>())
-                       , new ChoiceProvider<Group>() {
-                               private static final long serialVersionUID = 1L;
-
-                               @Override
-                               public void query(String term, int page, 
Response<Group> response) {
-                                       if 
(WebSession.getRights().contains(User.Right.Admin)) {
-                                               List<Group> groups = 
getBean(GroupDao.class).get(0, Integer.MAX_VALUE);
-                                               for (Group g : groups) {
-                                                       if 
(Strings.isEmpty(term) || 
g.getName().toLowerCase().contains(term.toLowerCase())) {
-                                                               response.add(g);
-                                                       }
-                                               }
-                                       } else {
-                                               User u = 
getBean(UserDao.class).get(getUserId());
-                                               for (GroupUser ou : 
u.getGroupUsers()) {
-                                                       if 
(Strings.isEmpty(term) || 
ou.getGroup().getName().toLowerCase().contains(term.toLowerCase())) {
-                                                               
response.add(ou.getGroup());
-                                                       }
-                                               }
-                                       }
-                               }
-
-                               @Override
-                               public Collection<Group> 
toChoices(Collection<String> ids) {
-                                       Collection<Group> c = new ArrayList<>();
-                                       for (String id : ids) {
-                                               
c.add(getBean(GroupDao.class).get(Long.valueOf(id)));
-                                       }
-                                       return c;
-                               }
-
-                               @Override
-                               public String getDisplayValue(Group choice) {
-                                       return choice.getName();
-                               }
-
-                               @Override
-                               public String getIdValue(Group choice) {
-                                       Long id = choice.getId();
-                                       return id == null ? null : "" + id;
-                               }
-                       });
+                       , new GroupChoiceProvider());
        final WebMarkupContainer sipContainer = new 
WebMarkupContainer("sip-container");
 
        enum InviteeType {

Added: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java?rev=1775980&view=auto
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
 (added)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
 Sat Dec 24 15:58:32 2016
@@ -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.openmeetings.web.common;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.openmeetings.db.dao.user.GroupDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.user.Group;
+import org.apache.openmeetings.db.entity.user.GroupUser;
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.util.string.Strings;
+import org.wicketstuff.select2.ChoiceProvider;
+import org.wicketstuff.select2.Response;
+
+public class GroupChoiceProvider extends ChoiceProvider<Group> {
+       private static final long serialVersionUID = 1L;
+
+       @Override
+       public void query(String term, int page, Response<Group> response) {
+               if (WebSession.getRights().contains(User.Right.Admin)) {
+                       List<Group> groups = getBean(GroupDao.class).get(0, 
Integer.MAX_VALUE);
+                       for (Group g : groups) {
+                               if (Strings.isEmpty(term) || 
g.getName().toLowerCase().contains(term.toLowerCase())) {
+                                       response.add(g);
+                               }
+                       }
+               } else {
+                       User u = getBean(UserDao.class).get(getUserId());
+                       for (GroupUser ou : u.getGroupUsers()) {
+                               if (Strings.isEmpty(term) || 
ou.getGroup().getName().toLowerCase().contains(term.toLowerCase())) {
+                                       response.add(ou.getGroup());
+                               }
+                       }
+               }
+       }
+
+       @Override
+       public Collection<Group> toChoices(Collection<String> ids) {
+               Collection<Group> c = new ArrayList<>();
+               for (String id : ids) {
+                       c.add(getBean(GroupDao.class).get(Long.valueOf(id)));
+               }
+               return c;
+       }
+
+       @Override
+       public String getDisplayValue(Group choice) {
+               return choice.getName();
+       }
+
+       @Override
+       public String getIdValue(Group choice) {
+               Long id = choice.getId();
+               return id == null ? null : "" + id;
+       }
+}

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java?rev=1775980&r1=1775979&r2=1775980&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 Sat Dec 24 15:58:32 2016
@@ -21,25 +21,20 @@ package org.apache.openmeetings.web.room
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getRights;
-import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
 
 import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.GroupUserDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.db.entity.user.GroupUser;
-import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.GroupChoiceProvider;
 import org.apache.openmeetings.web.common.InvitationForm;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
@@ -53,8 +48,6 @@ import org.apache.wicket.model.util.Coll
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
-import org.wicketstuff.select2.ChoiceProvider;
-import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
 
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
@@ -67,48 +60,7 @@ public class RoomInvitationForm extends
        private final WebMarkupContainer groupContainer = new 
WebMarkupContainer("groupContainer");
        final Select2MultiChoice<Group> groups = new 
Select2MultiChoice<Group>("groups"
                        , new CollectionModel<Group>(new ArrayList<Group>())
-                       , new ChoiceProvider<Group>() {
-                               private static final long serialVersionUID = 1L;
-
-                               @Override
-                               public void query(String term, int page, 
Response<Group> response) {
-                                       if 
(WebSession.getRights().contains(User.Right.Admin)) {
-                                               List<Group> groups = 
getBean(GroupDao.class).get(0, Integer.MAX_VALUE);
-                                               for (Group g : groups) {
-                                                       if 
(Strings.isEmpty(term) || 
g.getName().toLowerCase().contains(term.toLowerCase())) {
-                                                               response.add(g);
-                                                       }
-                                               }
-                                       } else {
-                                               User u = 
getBean(UserDao.class).get(getUserId());
-                                               for (GroupUser ou : 
u.getGroupUsers()) {
-                                                       if 
(Strings.isEmpty(term) || 
ou.getGroup().getName().toLowerCase().contains(term.toLowerCase())) {
-                                                               
response.add(ou.getGroup());
-                                                       }
-                                               }
-                                       }
-                               }
-
-                               @Override
-                               public Collection<Group> 
toChoices(Collection<String> ids) {
-                                       Collection<Group> c = new ArrayList<>();
-                                       for (String id : ids) {
-                                               
c.add(getBean(GroupDao.class).get(Long.valueOf(id)));
-                                       }
-                                       return c;
-                               }
-
-                               @Override
-                               public String getDisplayValue(Group choice) {
-                                       return choice.getName();
-                               }
-
-                               @Override
-                               public String getIdValue(Group choice) {
-                                       Long id = choice.getId();
-                                       return id == null ? null : "" + id;
-                               }
-                       });
+                       , new GroupChoiceProvider());
        final WebMarkupContainer sipContainer = new 
WebMarkupContainer("sip-container");
 
        enum InviteeType {

Added: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java?rev=1775980&view=auto
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
 (added)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/GroupChoiceProvider.java
 Sat Dec 24 15:58:32 2016
@@ -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.openmeetings.web.common;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.getUserId;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.openmeetings.db.dao.user.GroupDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.entity.user.Group;
+import org.apache.openmeetings.db.entity.user.GroupUser;
+import org.apache.openmeetings.db.entity.user.User;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.util.string.Strings;
+import org.wicketstuff.select2.ChoiceProvider;
+import org.wicketstuff.select2.Response;
+
+public class GroupChoiceProvider extends ChoiceProvider<Group> {
+       private static final long serialVersionUID = 1L;
+
+       @Override
+       public void query(String term, int page, Response<Group> response) {
+               if (WebSession.getRights().contains(User.Right.Admin)) {
+                       List<Group> groups = getBean(GroupDao.class).get(0, 
Integer.MAX_VALUE);
+                       for (Group g : groups) {
+                               if (Strings.isEmpty(term) || 
g.getName().toLowerCase().contains(term.toLowerCase())) {
+                                       response.add(g);
+                               }
+                       }
+               } else {
+                       User u = getBean(UserDao.class).get(getUserId());
+                       for (GroupUser ou : u.getGroupUsers()) {
+                               if (Strings.isEmpty(term) || 
ou.getGroup().getName().toLowerCase().contains(term.toLowerCase())) {
+                                       response.add(ou.getGroup());
+                               }
+                       }
+               }
+       }
+
+       @Override
+       public Collection<Group> toChoices(Collection<String> ids) {
+               Collection<Group> c = new ArrayList<>();
+               for (String id : ids) {
+                       c.add(getBean(GroupDao.class).get(Long.valueOf(id)));
+               }
+               return c;
+       }
+
+       @Override
+       public String getDisplayValue(Group choice) {
+               return choice.getName();
+       }
+
+       @Override
+       public String getIdValue(Group choice) {
+               Long id = choice.getId();
+               return id == null ? null : "" + id;
+       }
+}

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java?rev=1775980&r1=1775979&r2=1775980&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 Sat Dec 24 15:58:32 2016
@@ -21,25 +21,20 @@ package org.apache.openmeetings.web.room
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getRights;
-import static org.apache.openmeetings.web.app.WebSession.getUserId;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
 
 import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.user.GroupDao;
 import org.apache.openmeetings.db.dao.user.GroupUserDao;
-import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.db.entity.user.GroupUser;
-import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.service.room.InvitationManager;
 import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.common.GroupChoiceProvider;
 import org.apache.openmeetings.web.common.InvitationForm;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
@@ -53,8 +48,6 @@ import org.apache.wicket.model.util.Coll
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
-import org.wicketstuff.select2.ChoiceProvider;
-import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2MultiChoice;
 
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
@@ -67,48 +60,7 @@ public class RoomInvitationForm extends
        private final WebMarkupContainer groupContainer = new 
WebMarkupContainer("groupContainer");
        final Select2MultiChoice<Group> groups = new 
Select2MultiChoice<Group>("groups"
                        , new CollectionModel<Group>(new ArrayList<Group>())
-                       , new ChoiceProvider<Group>() {
-                               private static final long serialVersionUID = 1L;
-
-                               @Override
-                               public void query(String term, int page, 
Response<Group> response) {
-                                       if 
(WebSession.getRights().contains(User.Right.Admin)) {
-                                               List<Group> groups = 
getBean(GroupDao.class).get(0, Integer.MAX_VALUE);
-                                               for (Group g : groups) {
-                                                       if 
(Strings.isEmpty(term) || 
g.getName().toLowerCase().contains(term.toLowerCase())) {
-                                                               response.add(g);
-                                                       }
-                                               }
-                                       } else {
-                                               User u = 
getBean(UserDao.class).get(getUserId());
-                                               for (GroupUser ou : 
u.getGroupUsers()) {
-                                                       if 
(Strings.isEmpty(term) || 
ou.getGroup().getName().toLowerCase().contains(term.toLowerCase())) {
-                                                               
response.add(ou.getGroup());
-                                                       }
-                                               }
-                                       }
-                               }
-
-                               @Override
-                               public Collection<Group> 
toChoices(Collection<String> ids) {
-                                       Collection<Group> c = new ArrayList<>();
-                                       for (String id : ids) {
-                                               
c.add(getBean(GroupDao.class).get(Long.valueOf(id)));
-                                       }
-                                       return c;
-                               }
-
-                               @Override
-                               public String getDisplayValue(Group choice) {
-                                       return choice.getName();
-                               }
-
-                               @Override
-                               public String getIdValue(Group choice) {
-                                       Long id = choice.getId();
-                                       return id == null ? null : "" + id;
-                               }
-                       });
+                       , new GroupChoiceProvider());
        final WebMarkupContainer sipContainer = new 
WebMarkupContainer("sip-container");
 
        enum InviteeType {


Reply via email to