package com.ldbc.driver.workloads.ldbc.snb.interactive;
import com.ldbc.driver.Operation;
import com.ldbc.driver.SerializingMarshallingException;
import org.codehaus.jackson.map.ObjectMapper;
import java.io.IOException;
import java.util.Date;
import static java.lang.String.format;
public class LdbcUpdate5AddForumMembership extends Operation<LdbcNoResult>
{
private static final ObjectMapper objectMapper = new ObjectMapper();
public static final int TYPE = 1005;
private final long forumId;
private final long personId;
private final Date joinDate;
public LdbcUpdate5AddForumMembership( long forumId, long personId, Date joinDate )
{
this.forumId = forumId;
this.personId = personId;
this.joinDate = joinDate;
}
public long forumId()
{
return forumId;
}
public long personId()
{
return personId;
}
public Date joinDate()
{
return joinDate;
}
@Override
public boolean equals( Object o )
{
if ( this == o )
{ return true; }
if ( o == null || getClass() != o.getClass() )
{ return false; }
LdbcUpdate5AddForumMembership that = (LdbcUpdate5AddForumMembership) o;
if ( forumId != that.forumId )
{ return false; }
if ( personId != that.personId )
{ return false; }
if ( joinDate != null ? !joinDate.equals( that.joinDate ) : that.joinDate != null )
{ return false; }
return true;
}
@Override
public int hashCode()
{
int result = (int) (forumId ^ (forumId >>> 32));
result = 31 * result + (int) (personId ^ (personId >>> 32));
result = 31 * result + (joinDate != null ? joinDate.hashCode() : 0);
return result;
}
@Override
public String toString()
{
return "LdbcUpdate5AddForumMembership{" +
"forumId=" + forumId +
", personId=" + personId +
", joinDate=" + joinDate +
'}';
}
@Override
public LdbcNoResult marshalResult( String serializedOperationResult )
{
return LdbcNoResult.INSTANCE;
}
@Override
public String serializeResult( Object operationResultInstance ) throws SerializingMarshallingException
{
try
{
return objectMapper.writeValueAsString(
LdbcSnbInteractiveWorkloadConfiguration.WRITE_OPERATION_NO_RESULT_DEFAULT_RESULT );
}
catch ( IOException e )
{
throw new SerializingMarshallingException( format( "Error while trying to serialize result\n%s",
operationResultInstance ), e );
}
}
@Override
public int type()
{
return TYPE;
}
}