11/*
2- * Copyright 2002-2014 the original author or authors.
2+ * Copyright 2002-2015 the original author or authors.
33 *
44 * Licensed under the Apache License, Version 2.0 (the "License");
55 * you may not use this file except in compliance with the License.
@@ -418,11 +418,31 @@ protected boolean isReadOnly(String headerName) {
418418 // Specific header accessors
419419
420420 public UUID getId () {
421- return (UUID ) getHeader (MessageHeaders .ID );
421+ Object value = getHeader (MessageHeaders .ID );
422+ if (value == null ) {
423+ return null ;
424+ }
425+ return (value instanceof UUID ? (UUID ) value : UUID .fromString (value .toString ()));
422426 }
423427
424428 public Long getTimestamp () {
425- return (Long ) getHeader (MessageHeaders .TIMESTAMP );
429+ Object value = getHeader (MessageHeaders .TIMESTAMP );
430+ if (value == null ) {
431+ return null ;
432+ }
433+ return (value instanceof Long ? (Long ) value : Long .parseLong (value .toString ()));
434+ }
435+
436+ public void setContentType (MimeType contentType ) {
437+ setHeader (MessageHeaders .CONTENT_TYPE , contentType );
438+ }
439+
440+ public MimeType getContentType () {
441+ Object value = getHeader (MessageHeaders .CONTENT_TYPE );
442+ if (value == null ) {
443+ return null ;
444+ }
445+ return (value instanceof MimeType ? (MimeType ) value : MimeType .valueOf (value .toString ()));
426446 }
427447
428448 public void setReplyChannelName (String replyChannelName ) {
@@ -449,14 +469,6 @@ public Object getErrorChannel() {
449469 return getHeader (MessageHeaders .ERROR_CHANNEL );
450470 }
451471
452- public void setContentType (MimeType contentType ) {
453- setHeader (MessageHeaders .CONTENT_TYPE , contentType );
454- }
455-
456- public MimeType getContentType () {
457- return (MimeType ) getHeader (MessageHeaders .CONTENT_TYPE );
458- }
459-
460472
461473 // Log message stuff
462474
@@ -508,7 +520,7 @@ else if (payload instanceof byte[]) {
508520
509521 protected String getDetailedPayloadLogMessage (Object payload ) {
510522 if (payload instanceof String ) {
511- return " payload=" + (( String ) payload ) ;
523+ return " payload=" + payload ;
512524 }
513525 else if (payload instanceof byte []) {
514526 byte [] bytes = (byte []) payload ;
0 commit comments