From: <amy...@us...> - 2013-02-08 16:26:37
|
Revision: 2181 http://sourceforge.net/p/ogsa-dai/code/2181 Author: amykrause Date: 2013-02-08 16:26:34 +0000 (Fri, 08 Feb 2013) Log Message: ----------- Serialises unsupported types by calling String.valueOf() Modified Paths: -------------- ogsa-dai/trunk/presentation/jersey/server/src/main/java/uk/org/ogsadai/service/rest/datasource/DataSourceStreamingOutput.java Modified: ogsa-dai/trunk/presentation/jersey/server/src/main/java/uk/org/ogsadai/service/rest/datasource/DataSourceStreamingOutput.java =================================================================== --- ogsa-dai/trunk/presentation/jersey/server/src/main/java/uk/org/ogsadai/service/rest/datasource/DataSourceStreamingOutput.java 2013-02-08 10:08:11 UTC (rev 2180) +++ ogsa-dai/trunk/presentation/jersey/server/src/main/java/uk/org/ogsadai/service/rest/datasource/DataSourceStreamingOutput.java 2013-02-08 16:26:34 UTC (rev 2181) @@ -1,3 +1,19 @@ +// Copyright (c) The University of Edinburgh, 2011-2013. +// +// LICENCE-START +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// LICENCE-END + package uk.org.ogsadai.service.rest.datasource; import java.io.IOException; @@ -25,7 +41,7 @@ { /** Copyright statement. */ private static final String COPYRIGHT_NOTICE = - "Copyright (c) The University of Edinburgh, 2011-2012."; + "Copyright (c) The University of Edinburgh, 2011-2013."; private static final DAILogger LOG = DAILogger.getLogger(DataSourceStreamingOutput.class); @@ -63,7 +79,15 @@ Object block; while ((block = mDataSource.read()) != ControlBlock.NO_MORE_DATA) { - dataOutput.write(block); + try + { + dataOutput.write(block); + } + catch (UnsupportedDataTypeException e) + { + LOG.debug(e.getMessage() + " - writing as String."); + dataOutput.write(String.valueOf(block)); + } output.flush(); } dataOutput.close(); @@ -74,6 +98,9 @@ } catch (UnsupportedDataTypeException e) { + // this shouldn't happen but just to be safe + LOG.debug("Closing data stream: " + e.getMessage()); + LOG.warn(e); dataOutput.closeWithError(); mDataSource.closeForReading(); throw new IOException(e); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |