Index: lams_central/src/java/org/lamsfoundation/lams/webservice/Register.java =================================================================== diff -u -rc9dfe17885b6f3dd3de0d780bd52c1a556d6cd0b -r04ec2f0f66aab37eb961c40988c1ff6d98c52650 --- lams_central/src/java/org/lamsfoundation/lams/webservice/Register.java (.../Register.java) (revision c9dfe17885b6f3dd3de0d780bd52c1a556d6cd0b) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/Register.java (.../Register.java) (revision 04ec2f0f66aab37eb961c40988c1ff6d98c52650) @@ -17,6 +17,15 @@ String datetime, String hash) throws java.rmi.RemoteException; + public int createGroup( + String name, + String code, + String description, + String owner, + String serverId, + String datetime, + String hash) throws java.rmi.RemoteException; + public boolean addUserToGroup( String username, String serverId, Index: lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java =================================================================== diff -u -rc9dfe17885b6f3dd3de0d780bd52c1a556d6cd0b -r04ec2f0f66aab37eb961c40988c1ff6d98c52650 --- lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java (.../RegisterServiceSoapBindingImpl.java) (revision c9dfe17885b6f3dd3de0d780bd52c1a556d6cd0b) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingImpl.java (.../RegisterServiceSoapBindingImpl.java) (revision 04ec2f0f66aab37eb961c40988c1ff6d98c52650) @@ -22,8 +22,12 @@ import org.lamsfoundation.lams.lesson.Lesson; import org.lamsfoundation.lams.lesson.service.ILessonService; import org.lamsfoundation.lams.usermanagement.Organisation; +import org.lamsfoundation.lams.usermanagement.OrganisationState; +import org.lamsfoundation.lams.usermanagement.OrganisationType; +import org.lamsfoundation.lams.usermanagement.SupportedLocale; import org.lamsfoundation.lams.usermanagement.User; import org.lamsfoundation.lams.usermanagement.service.IUserManagementService; +import org.lamsfoundation.lams.util.LanguageUtil; import org.springframework.web.context.support.WebApplicationContextUtils; public class RegisterServiceSoapBindingImpl implements Register { @@ -69,6 +73,31 @@ throw new java.rmi.RemoteException(e.getMessage()); } } + + public int createGroup( + String name, + String code, + String description, + String owner, + String serverId, + String datetime, + String hash) throws java.rmi.RemoteException { + try { + Organisation org = new Organisation(); + org.setName(name); + org.setParentOrganisation(service.getRootOrganisation()); + org.setOrganisationType((OrganisationType)service.findById(OrganisationType.class,OrganisationType.COURSE_TYPE)); + org.setOrganisationState((OrganisationState)service.findById(OrganisationState.class,OrganisationState.ACTIVE)); + SupportedLocale locale = LanguageUtil.getDefaultLocale(); + org.setLocale(locale); + User user = service.getUserByLogin(owner); + service.saveOrganisation(org, user.getUserId()); + return org.getOrganisationId(); + } catch (Exception e) { + log.debug(e.getMessage(), e); + throw new java.rmi.RemoteException(e.getMessage()); + } + } public boolean addUserToGroup( String username, Index: lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingSkeleton.java =================================================================== diff -u -rc9dfe17885b6f3dd3de0d780bd52c1a556d6cd0b -r04ec2f0f66aab37eb961c40988c1ff6d98c52650 --- lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingSkeleton.java (.../RegisterServiceSoapBindingSkeleton.java) (revision c9dfe17885b6f3dd3de0d780bd52c1a556d6cd0b) +++ lams_central/src/java/org/lamsfoundation/lams/webservice/RegisterServiceSoapBindingSkeleton.java (.../RegisterServiceSoapBindingSkeleton.java) (revision 04ec2f0f66aab37eb961c40988c1ff6d98c52650) @@ -29,6 +29,7 @@ static { addCreateUser(); + addCreateGroup(); addAddUserToGroup(); addAddUserToGroupLessons(); addAddUserToSubgroup(); @@ -60,6 +61,30 @@ ((java.util.List)_myOperations.get("createUser")).add(_oper); } + private static void addCreateGroup() { + org.apache.axis.description.OperationDesc _oper; + org.apache.axis.description.FaultDesc _fault; + org.apache.axis.description.ParameterDesc [] _params; + _params = new org.apache.axis.description.ParameterDesc [] { + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "name"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "code"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "description"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "owner"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "serverId"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "datetime"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("", "hash"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://schemas.xmlsoap.org/soap/encoding/", "string"), java.lang.String.class, false, false), + }; + _oper = new org.apache.axis.description.OperationDesc("createGroup", _params, new javax.xml.namespace.QName("", "createGroupReturn")); + _oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int")); + _oper.setElementQName(new javax.xml.namespace.QName("", "createGroup")); + _oper.setSoapAction(""); + _myOperationsList.add(_oper); + if (_myOperations.get("createGroup") == null) { + _myOperations.put("createGroup", new java.util.ArrayList()); + } + ((java.util.List)_myOperations.get("createGroup")).add(_oper); + } + private static void addAddUserToGroup() { org.apache.axis.description.OperationDesc _oper; org.apache.axis.description.FaultDesc _fault; @@ -182,6 +207,12 @@ return ret; } + public int createGroup(String name, String code, String description, String owner, String serverId, String datetime, String hash) throws java.rmi.RemoteException + { + int ret = impl.createGroup(name, code, description, owner, serverId, datetime, hash); + return ret; + } + public boolean addUserToGroup(String username, String serverId, String datetime, String hash, String courseId, String courseName, String countryIsoCode, String langIsoCode, Boolean isTeacher) throws java.rmi.RemoteException { boolean ret = impl.addUserToGroup(username, serverId, datetime, hash,