dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #33488
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 17095: moved Message class from dxf2 module to web-api module, also renamed to MessageConversation.
------------------------------------------------------------
revno: 17095
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2014-10-14 10:55:34 +0700
message:
moved Message class from dxf2 module to web-api module, also renamed to MessageConversation.
removed:
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/message/
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/message/Message.java
added:
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/webdomain/MessageConversation.java
modified:
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/MessageConversationController.java
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== removed directory 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/message'
=== removed file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/message/Message.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/message/Message.java 2014-08-15 07:40:20 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/message/Message.java 1970-01-01 00:00:00 +0000
@@ -1,153 +0,0 @@
-package org.hisp.dhis.dxf2.message;
-
-/*
- * Copyright (c) 2004-2014, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.annotation.JsonView;
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
-import org.hisp.dhis.common.BaseIdentifiableObject;
-import org.hisp.dhis.common.DxfNamespaces;
-import org.hisp.dhis.common.view.DetailedView;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.user.User;
-import org.hisp.dhis.user.UserGroup;
-
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
- */
-@JacksonXmlRootElement( localName = "message", namespace = DxfNamespaces.DXF_2_0 )
-public class Message
-{
- private String subject;
-
- private String text;
-
- private Set<OrganisationUnit> organisationUnits = new HashSet<>();
-
- private Set<User> users = new HashSet<>();
-
- private Set<UserGroup> userGroups = new HashSet<>();
-
- public Message()
- {
- }
-
- public Message( String subject, String text )
- {
- this.subject = subject;
- this.text = text;
- }
-
- @JsonProperty
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public String getSubject()
- {
- return subject;
- }
-
- public void setSubject( String subject )
- {
- this.subject = subject;
- }
-
- @JsonProperty
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public String getText()
- {
- return text;
- }
-
- public void setText( String text )
- {
- this.text = text;
- }
-
- @JsonProperty
- @JsonSerialize( contentAs = BaseIdentifiableObject.class )
- @JsonView( { DetailedView.class } )
- @JacksonXmlElementWrapper( localName = "organisationUnits", namespace = DxfNamespaces.DXF_2_0 )
- @JacksonXmlProperty( localName = "organisationUnit", namespace = DxfNamespaces.DXF_2_0 )
- public Set<OrganisationUnit> getOrganisationUnits()
- {
- return organisationUnits;
- }
-
- public void setOrganisationUnits( Set<OrganisationUnit> organisationUnits )
- {
- this.organisationUnits = organisationUnits;
- }
-
- @JsonProperty
- @JsonSerialize( contentAs = BaseIdentifiableObject.class )
- @JsonView( { DetailedView.class } )
- @JacksonXmlElementWrapper( localName = "users", namespace = DxfNamespaces.DXF_2_0 )
- @JacksonXmlProperty( localName = "user", namespace = DxfNamespaces.DXF_2_0 )
- public Set<User> getUsers()
- {
- return users;
- }
-
- public void setUsers( Set<User> users )
- {
- this.users = users;
- }
-
- @JsonProperty
- @JsonSerialize( contentAs = BaseIdentifiableObject.class )
- @JsonView( { DetailedView.class } )
- @JacksonXmlElementWrapper( localName = "userGroups", namespace = DxfNamespaces.DXF_2_0 )
- @JacksonXmlProperty( localName = "userGroup", namespace = DxfNamespaces.DXF_2_0 )
- public Set<UserGroup> getUserGroups()
- {
- return userGroups;
- }
-
- public void setUserGroups( Set<UserGroup> userGroups )
- {
- this.userGroups = userGroups;
- }
-
- @Override
- public String toString()
- {
- return "Message{" +
- "subject='" + subject + '\'' +
- ", text='" + text + '\'' +
- ", organisationUnits=" + organisationUnits +
- ", users=" + users +
- ", userGroups=" + userGroups +
- '}';
- }
-}
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/MessageConversationController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/MessageConversationController.java 2014-10-01 09:58:24 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/MessageConversationController.java 2014-10-14 03:55:34 +0000
@@ -31,11 +31,10 @@
import com.google.common.collect.Lists;
import org.hisp.dhis.acl.AclService;
import org.hisp.dhis.common.Pager;
-import org.hisp.dhis.dxf2.message.Message;
+import org.hisp.dhis.webapi.webdomain.MessageConversation;
import org.hisp.dhis.dxf2.utils.JacksonUtils;
import org.hisp.dhis.hibernate.exception.DeleteAccessDeniedException;
import org.hisp.dhis.hibernate.exception.UpdateAccessDeniedException;
-import org.hisp.dhis.message.MessageConversation;
import org.hisp.dhis.message.MessageService;
import org.hisp.dhis.node.types.CollectionNode;
import org.hisp.dhis.node.types.RootNode;
@@ -77,7 +76,7 @@
@Controller
@RequestMapping( value = MessageConversationSchemaDescriptor.API_ENDPOINT )
public class MessageConversationController
- extends AbstractCrudController<MessageConversation>
+ extends AbstractCrudController<org.hisp.dhis.message.MessageConversation>
{
@Autowired
private MessageService messageService;
@@ -95,7 +94,7 @@
private CurrentUserService currentUserService;
@Override
- public void postProcessEntity( MessageConversation entity, WebOptions options, Map<String, String> parameters ) throws Exception
+ public void postProcessEntity( org.hisp.dhis.message.MessageConversation entity, WebOptions options, Map<String, String> parameters ) throws Exception
{
Boolean markRead = Boolean.parseBoolean( parameters.get( "markRead" ) );
@@ -110,9 +109,9 @@
public RootNode getObject( @PathVariable String uid, Map<String, String> parameters, HttpServletRequest request, HttpServletResponse response )
throws Exception
{
- MessageConversation messageConversation = messageService.getMessageConversation( uid );
+ org.hisp.dhis.message.MessageConversation messageConversationConversation = messageService.getMessageConversation( uid );
- if( messageConversation == null )
+ if( messageConversationConversation == null )
{
response.setStatus( HttpServletResponse.SC_NOT_FOUND );
RootNode responseNode = new RootNode( "reply" );
@@ -120,7 +119,7 @@
return responseNode;
}
- if( !canReadMessageConversation( currentUserService.getCurrentUser(), messageConversation ) )
+ if( !canReadMessageConversation( currentUserService.getCurrentUser(), messageConversationConversation ) )
{
throw new AccessDeniedException( "Not authorized to access this conversation." );
}
@@ -129,9 +128,9 @@
}
@Override
- protected List<MessageConversation> getEntityList( WebMetaData metaData, WebOptions options, List<String> filters )
+ protected List<org.hisp.dhis.message.MessageConversation> getEntityList( WebMetaData metaData, WebOptions options, List<String> filters )
{
- List<MessageConversation> entityList;
+ List<org.hisp.dhis.message.MessageConversation> entityList;
if ( options.getOptions().containsKey( "query" ) )
{
@@ -161,23 +160,23 @@
@Override
public void postXmlObject( HttpServletResponse response, HttpServletRequest request, InputStream input ) throws Exception
{
- Message message = JacksonUtils.fromXml( input, Message.class );
- postObject( response, request, message );
+ MessageConversation messageConversation = JacksonUtils.fromXml( input, MessageConversation.class );
+ postObject( response, request, messageConversation );
}
@Override
public void postJsonObject( HttpServletResponse response, HttpServletRequest request, InputStream input ) throws Exception
{
- Message message = JacksonUtils.fromJson( input, Message.class );
- postObject( response, request, message );
+ MessageConversation messageConversation = JacksonUtils.fromJson( input, MessageConversation.class );
+ postObject( response, request, messageConversation );
}
- public void postObject( HttpServletResponse response, HttpServletRequest request, Message message )
+ public void postObject( HttpServletResponse response, HttpServletRequest request, MessageConversation messageConversation )
{
- List<User> users = new ArrayList<>( message.getUsers() );
- message.getUsers().clear();
+ List<User> users = new ArrayList<>( messageConversation.getUsers() );
+ messageConversation.getUsers().clear();
- for ( OrganisationUnit ou : message.getOrganisationUnits() )
+ for ( OrganisationUnit ou : messageConversation.getOrganisationUnits() )
{
OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( ou.getUid() );
@@ -187,7 +186,7 @@
return;
}
- message.getUsers().addAll( organisationUnit.getUsers() );
+ messageConversation.getUsers().addAll( organisationUnit.getUsers() );
}
for ( User u : users )
@@ -200,10 +199,10 @@
return;
}
- message.getUsers().add( user );
+ messageConversation.getUsers().add( user );
}
- for ( UserGroup ug : message.getUserGroups() )
+ for ( UserGroup ug : messageConversation.getUserGroups() )
{
UserGroup userGroup = userGroupService.getUserGroup( ug.getUid() );
@@ -213,10 +212,10 @@
return;
}
- message.getUsers().addAll( userGroup.getMembers() );
+ messageConversation.getUsers().addAll( userGroup.getMembers() );
}
- if ( message.getUsers().isEmpty() )
+ if ( messageConversation.getUsers().isEmpty() )
{
ContextUtils.conflictResponse( response, "No recipients selected." );
return;
@@ -224,9 +223,9 @@
String metaData = MessageService.META_USER_AGENT + request.getHeader( ContextUtils.HEADER_USER_AGENT );
- int id = messageService.sendMessage( message.getSubject(), message.getText(), metaData, message.getUsers() );
+ int id = messageService.sendMessage( messageConversation.getSubject(), messageConversation.getText(), metaData, messageConversation.getUsers() );
- MessageConversation conversation = messageService.getMessageConversation( id );
+ org.hisp.dhis.message.MessageConversation conversation = messageService.getMessageConversation( id );
ContextUtils.createdResponse( response, "Message conversation created", MessageConversationSchemaDescriptor.API_ENDPOINT + "/" + conversation.getUid() );
}
@@ -241,7 +240,7 @@
{
String metaData = MessageService.META_USER_AGENT + request.getHeader( ContextUtils.HEADER_USER_AGENT );
- MessageConversation conversation = messageService.getMessageConversation( uid );
+ org.hisp.dhis.message.MessageConversation conversation = messageService.getMessageConversation( uid );
if ( conversation == null )
{
@@ -295,9 +294,9 @@
throw new UpdateAccessDeniedException( "Not authorized to modify this object." );
}
- Collection<MessageConversation> messageConversations = messageService.getMessageConversations( uids );
+ Collection<org.hisp.dhis.message.MessageConversation> messageConversationConversations = messageService.getMessageConversations( uids );
- if ( messageConversations.isEmpty() )
+ if ( messageConversationConversations.isEmpty() )
{
response.setStatus( HttpServletResponse.SC_NOT_FOUND );
responseNode.addChild( new SimpleNode( "message", "No MessageConversations found for the given UIDs." ) );
@@ -307,7 +306,7 @@
CollectionNode marked = responseNode.addChild( new CollectionNode( "markedRead" ) );
marked.setWrapping( false );
- for( MessageConversation conversation : messageConversations )
+ for( org.hisp.dhis.message.MessageConversation conversation : messageConversationConversations )
{
if( conversation.markRead( user ) )
{
@@ -346,9 +345,9 @@
throw new UpdateAccessDeniedException( "Not authorized to modify this object." );
}
- Collection<MessageConversation> messageConversations = messageService.getMessageConversations( uids );
+ Collection<org.hisp.dhis.message.MessageConversation> messageConversationConversations = messageService.getMessageConversations( uids );
- if ( messageConversations.isEmpty() )
+ if ( messageConversationConversations.isEmpty() )
{
response.setStatus( HttpServletResponse.SC_NOT_FOUND );
responseNode.addChild( new SimpleNode( "message", "No MessageConversations found for the given UIDs." ) );
@@ -358,7 +357,7 @@
CollectionNode marked = responseNode.addChild( new CollectionNode( "markedUnread" ) );
marked.setWrapping( false );
- for( MessageConversation conversation : messageConversations )
+ for( org.hisp.dhis.message.MessageConversation conversation : messageConversationConversations )
{
if( conversation.markUnread( user ) )
{
@@ -418,9 +417,9 @@
throw new DeleteAccessDeniedException( "Not authorized to modify user: " + user.getUid() );
}
- MessageConversation messageConversation = messageService.getMessageConversation( mcUid );
+ org.hisp.dhis.message.MessageConversation messageConversationConversation = messageService.getMessageConversation( mcUid );
- if( messageConversation == null )
+ if( messageConversationConversation == null )
{
responseNode.addChild( new SimpleNode( "message", "No messageConversation with uid: " + mcUid ) );
response.setStatus( HttpServletResponse.SC_NOT_FOUND );
@@ -429,10 +428,10 @@
CollectionNode removed = responseNode.addChild( new CollectionNode( "removed" ) );
- if( messageConversation.remove( user ) )
+ if( messageConversationConversation.remove( user ) )
{
- messageService.updateMessageConversation( messageConversation );
- removed.addChild( new SimpleNode( "uid", messageConversation.getUid() ) );
+ messageService.updateMessageConversation( messageConversationConversation );
+ removed.addChild( new SimpleNode( "uid", messageConversationConversation.getUid() ) );
}
response.setStatus( HttpServletResponse.SC_OK );
@@ -467,9 +466,9 @@
throw new DeleteAccessDeniedException( "Not authorized to modify user: " + user.getUid() );
}
- Collection<MessageConversation> messageConversations = messageService.getMessageConversations( mcUids );
+ Collection<org.hisp.dhis.message.MessageConversation> messageConversationConversations = messageService.getMessageConversations( mcUids );
- if( messageConversations.isEmpty() )
+ if( messageConversationConversations.isEmpty() )
{
response.setStatus( HttpServletResponse.SC_NOT_FOUND );
responseNode.addChild( new SimpleNode( "message", "No MessageConversations found for the given UIDs." ) );
@@ -478,7 +477,7 @@
CollectionNode removed = responseNode.addChild( new CollectionNode( "removed" ) );
- for( MessageConversation mc : messageConversations )
+ for( org.hisp.dhis.message.MessageConversation mc : messageConversationConversations )
{
if( mc.remove( user ) )
{
@@ -517,11 +516,11 @@
* Determines whether the given user has permission to read the MessageConversation.
*
* @param user the user to check permission for.
- * @param messageConversation the MessageConversation to access.
+ * @param messageConversationConversation the MessageConversation to access.
* @return true if the user can read the MessageConversation, false otherwise.
*/
- private boolean canReadMessageConversation( User user, MessageConversation messageConversation )
+ private boolean canReadMessageConversation( User user, org.hisp.dhis.message.MessageConversation messageConversationConversation )
{
- return messageConversation.getUsers().contains( user ) || user.getUserCredentials().hasAnyAuthority( AclService.ACL_OVERRIDE_AUTHORITIES );
+ return messageConversationConversation.getUsers().contains( user ) || user.getUserCredentials().hasAnyAuthority( AclService.ACL_OVERRIDE_AUTHORITIES );
}
}
=== added file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/webdomain/MessageConversation.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/webdomain/MessageConversation.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/webdomain/MessageConversation.java 2014-10-14 03:55:34 +0000
@@ -0,0 +1,153 @@
+package org.hisp.dhis.webapi.webdomain;
+
+/*
+ * Copyright (c) 2004-2014, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonView;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
+import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+import org.hisp.dhis.common.BaseIdentifiableObject;
+import org.hisp.dhis.common.DxfNamespaces;
+import org.hisp.dhis.common.view.DetailedView;
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.user.User;
+import org.hisp.dhis.user.UserGroup;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+@JacksonXmlRootElement( localName = "message", namespace = DxfNamespaces.DXF_2_0 )
+public class MessageConversation
+{
+ private String subject;
+
+ private String text;
+
+ private Set<OrganisationUnit> organisationUnits = new HashSet<>();
+
+ private Set<User> users = new HashSet<>();
+
+ private Set<UserGroup> userGroups = new HashSet<>();
+
+ public MessageConversation()
+ {
+ }
+
+ public MessageConversation( String subject, String text )
+ {
+ this.subject = subject;
+ this.text = text;
+ }
+
+ @JsonProperty
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ public String getSubject()
+ {
+ return subject;
+ }
+
+ public void setSubject( String subject )
+ {
+ this.subject = subject;
+ }
+
+ @JsonProperty
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+ public String getText()
+ {
+ return text;
+ }
+
+ public void setText( String text )
+ {
+ this.text = text;
+ }
+
+ @JsonProperty
+ @JsonSerialize( contentAs = BaseIdentifiableObject.class )
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlElementWrapper( localName = "organisationUnits", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "organisationUnit", namespace = DxfNamespaces.DXF_2_0 )
+ public Set<OrganisationUnit> getOrganisationUnits()
+ {
+ return organisationUnits;
+ }
+
+ public void setOrganisationUnits( Set<OrganisationUnit> organisationUnits )
+ {
+ this.organisationUnits = organisationUnits;
+ }
+
+ @JsonProperty
+ @JsonSerialize( contentAs = BaseIdentifiableObject.class )
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlElementWrapper( localName = "users", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "user", namespace = DxfNamespaces.DXF_2_0 )
+ public Set<User> getUsers()
+ {
+ return users;
+ }
+
+ public void setUsers( Set<User> users )
+ {
+ this.users = users;
+ }
+
+ @JsonProperty
+ @JsonSerialize( contentAs = BaseIdentifiableObject.class )
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlElementWrapper( localName = "userGroups", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "userGroup", namespace = DxfNamespaces.DXF_2_0 )
+ public Set<UserGroup> getUserGroups()
+ {
+ return userGroups;
+ }
+
+ public void setUserGroups( Set<UserGroup> userGroups )
+ {
+ this.userGroups = userGroups;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "Message{" +
+ "subject='" + subject + '\'' +
+ ", text='" + text + '\'' +
+ ", organisationUnits=" + organisationUnits +
+ ", users=" + users +
+ ", userGroups=" + userGroups +
+ '}';
+ }
+}