blob: 4e40f006d6cbb78f04aabada9b6fa103a46b22a3 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
package org.apache.tuscany.sca.itest.databindings.jaxb.impl;
import java.awt.Image;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.net.URI;
import java.util.Calendar;
import java.util.Date;
import java.util.UUID;
import javax.activation.DataHandler;
import javax.xml.datatype.Duration;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.namespace.QName;
import javax.xml.transform.Source;
import org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesLocalService;
import org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesService;
import org.oasisopen.sca.annotation.Service;
/**
* An implementation of StandardTypesService.
* This implementation provides both a local and a remotable service.
*/
@Service(value={StandardTypesService.class, StandardTypesLocalService.class})
public class StandardTypesServiceImpl implements StandardTypesService, StandardTypesLocalService {
public BigInteger getNewBigInteger(BigInteger bi) {
return bi.negate();
}
public BigInteger[] getNewBigIntegerArray(BigInteger[] bia) {
BigInteger[] resp = new BigInteger[bia.length];
for(int i = 0; i < bia.length; ++i) {
resp[i] = bia[i].negate();
}
return resp;
}
public BigDecimal getNewBigDecimal(BigDecimal bd) {
return bd.negate();
}
public BigDecimal[] getNewBigDecimalArray(BigDecimal[] bda) {
BigDecimal[] resp = new BigDecimal[bda.length];
for(int i = 0; i < bda.length; ++i) {
resp[i] = bda[i].negate();
}
return resp;
}
public Calendar getNewCalendar(Calendar c) {
Calendar resp = (Calendar)c.clone();
resp.add(Calendar.DAY_OF_MONTH, 5);
return resp;
}
public Calendar[] getNewCalendarArray(Calendar[] ca) {
Calendar[] resp = new Calendar[ca.length];
for(int i = 0; i < ca.length; ++i) {
resp[i] = getNewCalendar(ca[i]);
}
return resp;
}
public Date getNewDate(Date d) {
return new Date(d.getTime() + 5*24*60*60*1000);
}
public Date[] getNewDateArray(Date[] da) {
Date[] resp = new Date[da.length];
for(int i = 0; i < da.length; ++i) {
resp[i] = getNewDate(da[i]);
}
return resp;
}
public QName getNewQName(QName qname) {
return new QName(qname.getNamespaceURI()+"q", qname.getLocalPart()+"q", qname.getPrefix()+"q");
}
public QName[] getNewQNameArray(QName[] qnames) {
QName[] resp = new QName[qnames.length];
for(int i = 0; i < qnames.length; ++i) {
resp[i] = getNewQName(qnames[i]);
}
return resp;
}
public URI getNewURI(URI uri) {
return uri.resolve("uri");
}
public URI[] getNewURIArray(URI[] uris) {
URI[] resp = new URI[uris.length];
for(int i = 0; i < uris.length; ++i) {
resp[i] = getNewURI(uris[i]);
}
return resp;
}
public XMLGregorianCalendar getNewXMLGregorianCalendar(XMLGregorianCalendar xgcal) {
xgcal = (XMLGregorianCalendar)xgcal.clone();
xgcal.setDay(xgcal.getDay()+5);
return xgcal;
}
public XMLGregorianCalendar[] getNewXMLGregorianCalendarArray(XMLGregorianCalendar[] xgcals) {
XMLGregorianCalendar[] resp = new XMLGregorianCalendar[xgcals.length];
for(int i = 0; i < xgcals.length; ++i) {
resp[i] = getNewXMLGregorianCalendar(xgcals[i]);
}
return resp;
}
public Duration getNewDuration(Duration d) {
return d.negate();
}
public Duration[] getNewDurationArray(Duration[] da) {
Duration[] resp = new Duration[da.length];
for(int i = 0; i < da.length; ++i) {
resp[i] = da[i].negate();
}
return resp;
}
public Object getNewObject(Object obj) {
return StandardTypesTransformer.getNewObject(obj);
}
public Object[] getNewObjectArray(Object[] objs) {
Object[] resp = new Object[objs.length];
for(int i = 0; i < objs.length; ++i) {
resp[i] = getNewObject(objs[i]);
}
return resp;
}
public Image getNewImage(Image img) {
return StandardTypesTransformer.getNewImage(img);
}
public Image[] getNewImageArray(Image[] imgs) {
Image[] resp = new Image[imgs.length];
for(int i = 0; i < imgs.length; ++i) {
resp[i] = getNewImage(imgs[i]);
}
return resp;
}
public DataHandler getNewDataHandler(DataHandler dh) {
// FIXME: transform the input
return dh;
}
public DataHandler[] getNewDataHandlerArray(DataHandler[] dha) {
DataHandler[] resp = new DataHandler[dha.length];
for(int i = 0; i < dha.length; ++i) {
resp[i] = dha[i];
}
return resp;
}
public Source getNewSource(Source src) {
return StandardTypesTransformer.getNewSource(src);
}
public Source[] getNewSourceArray(Source[] srcs) {
Source[] resp = new Source[srcs.length];
for(int i = 0; i < srcs.length; ++i) {
resp[i] = getNewSource(srcs[i]);
}
return resp;
}
public UUID getNewUUID(UUID uuid) {
return UUID.fromString(uuid.toString()+"AAA");
}
public UUID[] getNewUUIDArray(UUID[] uuids) {
UUID[] resp = new UUID[uuids.length];
for(int i = 0; i < uuids.length; ++i) {
resp[i] = getNewUUID(uuids[i]);
}
return resp;
}
}