1 // Copyright 2011 Google Inc. All Rights Reserved.
3 package com
.google
.appengine
.api
.conversion
;
5 import com
.google
.appengine
.api
.conversion
.ConversionServicePb
.ConversionOutput
;
6 import com
.google
.appengine
.api
.conversion
.ConversionServicePb
.ConversionServiceError
.ErrorCode
;
7 import com
.google
.common
.base
.Converter
;
10 * A reversible converter between {@link ConversionResult} and its
11 * corresponding protocol buffer.
14 class ConversionResultProtoConverter
extends Converter
<ConversionResult
, ConversionOutput
> {
16 private final DocumentProtoConverter documentProtoConverter
= new DocumentProtoConverter();
19 public ConversionOutput
doForward(ConversionResult result
) {
20 if (result
.success()) {
21 return ConversionOutput
.newBuilder()
22 .setErrorCode(ErrorCode
.OK
)
23 .setOutput(documentProtoConverter
.convert(result
.getOutputDoc()))
26 return ConversionOutput
.newBuilder()
27 .setErrorCode(ConversionErrorCode
.enumToProto(result
.getErrorCode()))
33 public ConversionResult
doBackward(ConversionOutput resultPb
) {
34 if (resultPb
.getErrorCode() == ErrorCode
.OK
) {
35 return new ConversionResult(documentProtoConverter
.reverse().convert(resultPb
.getOutput()));
37 return new ConversionResult(
38 ConversionErrorCode
.intToEnum(resultPb
.getErrorCode().getNumber()));