From: <bsc...@us...> - 2007-07-20 12:48:06
|
Revision: 1372 http://svn.sourceforge.net/unicore/?rev=1372&view=rev Author: bschuller Date: 2007-07-20 05:47:53 -0700 (Fri, 20 Jul 2007) Log Message: ----------- add position to sbyteio stream Modified Paths: -------------- unicorex/uas-core/trunk/pom.xml unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/UAS.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/fts/byteio/StreamableByteIO.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/fts/byteio/StreamableByteIOImpl.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/AccessControl.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/ETDTrustDelegationInHandler.java unicorex/uas-core/trunk/src/test/java/de/fzj/unicore/uas/ByteIOTest.java Modified: unicorex/uas-core/trunk/pom.xml =================================================================== --- unicorex/uas-core/trunk/pom.xml 2007-07-20 10:26:45 UTC (rev 1371) +++ unicorex/uas-core/trunk/pom.xml 2007-07-20 12:47:53 UTC (rev 1372) @@ -46,7 +46,7 @@ <dependency> <groupId>de.fzj.unicore</groupId> <artifactId>xnjs-module-core</artifactId> - <version>${version}</version> + <version>1.0-rc2</version> </dependency> <dependency> <groupId>de.fzj.unicore</groupId> @@ -56,7 +56,7 @@ <dependency> <groupId>de.fzj.unicore.xuudb</groupId> <artifactId>xuudb-common</artifactId> - <version>1.0-SNAPSHOT</version> + <version>1.0-rc2</version> </dependency> <dependency> <groupId>net.sourceforge.sunxacml</groupId> @@ -168,7 +168,7 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> - <skip>true</skip> + <skip>true</skip> <excludes> <exclude>**/functional/**</exclude> <exclude>**/*$*</exclude> Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/UAS.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/UAS.java 2007-07-20 10:26:45 UTC (rev 1371) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/UAS.java 2007-07-20 12:47:53 UTC (rev 1372) @@ -94,7 +94,7 @@ public class UAS { protected static Logger logger=Logger.getLogger(UAS.class.getName()); - public static final String VERSION="1.0-RC1"; + public static final String VERSION="1.0-RC2"; /** * for unit testing, should the security and access control be disabled Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/fts/byteio/StreamableByteIO.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/fts/byteio/StreamableByteIO.java 2007-07-20 10:26:45 UTC (rev 1371) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/fts/byteio/StreamableByteIO.java 2007-07-20 12:47:53 UTC (rev 1372) @@ -37,7 +37,9 @@ import javax.xml.namespace.QName; import org.ggf.schemas.byteio.x2005.x10.randomAccess.SizeDocument; +import org.ggf.schemas.byteio.x2005.x10.streamableAccess.DataResourceDocument; import org.ggf.schemas.byteio.x2005.x10.streamableAccess.EndOfStreamDocument; +import org.ggf.schemas.byteio.x2005.x10.streamableAccess.PositionDocument; import org.ggf.schemas.byteio.x2005.x10.streamableAccess.ReadableDocument; import org.ggf.schemas.byteio.x2005.x10.streamableAccess.SeekReadDocument; import org.ggf.schemas.byteio.x2005.x10.streamableAccess.SeekReadResponseDocument; @@ -118,6 +120,11 @@ /** + * position in the stream + */ + public static final QName RPPosition= PositionDocument.type.getDocumentElementName(); + + /** * seek read */ @WebMethod(action=SBYTIO_NS+"/seek-read") Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/fts/byteio/StreamableByteIOImpl.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/fts/byteio/StreamableByteIOImpl.java 2007-07-20 10:26:45 UTC (rev 1371) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/fts/byteio/StreamableByteIOImpl.java 2007-07-20 12:47:53 UTC (rev 1372) @@ -47,6 +47,7 @@ import org.ggf.schemas.byteio.x2005.x10.byteIo.TransferInformationType; import org.ggf.schemas.byteio.x2005.x10.randomAccess.TransferMechanismDocument; import org.ggf.schemas.byteio.x2005.x10.streamableAccess.EndOfStreamDocument; +import org.ggf.schemas.byteio.x2005.x10.streamableAccess.PositionDocument; import org.ggf.schemas.byteio.x2005.x10.streamableAccess.ReadableDocument; import org.ggf.schemas.byteio.x2005.x10.streamableAccess.SeekReadDocument; import org.ggf.schemas.byteio.x2005.x10.streamableAccess.SeekReadResponseDocument; @@ -56,8 +57,10 @@ import org.ggf.schemas.byteio.x2005.x10.streamableAccess.SizeDocument; import org.ggf.schemas.byteio.x2005.x10.streamableAccess.WriteableDocument; import org.ggf.schemas.byteio.x2005.x10.streamableAccess.SeekReadDocument.SeekRead; +import org.w3.x2005.x08.addressing.EndpointReferenceType; import de.fzj.unicore.uas.fts.FileTransferImpl; +import de.fzj.unicore.uas.util.AddressingUtil; import de.fzj.unicore.wsrflite.utils.Utilities; import de.fzj.unicore.wsrflite.xmlbeans.BaseFault; import de.fzj.unicore.wsrflite.xmlbeans.ResourceProperty; @@ -126,11 +129,13 @@ InputStream is=getInputStream(); is.skip(offset); + currentPosition+=offset; byte[] data = new byte[(int)numBytes]; ByteArrayOutputStream os=new ByteArrayOutputStream(); int read=is.read(data); if (read > 0) { os.write(data,0,read); + currentPosition+=read; } return os.toByteArray(); } @@ -240,6 +245,8 @@ properties.put(RPEndOfStream, new EndOfStreamRP()); + properties.put(RPPosition, new PositionRP()); + Boolean wrap=(Boolean)map.get(INIT_BYTEIO_WRAP_DATA); if(wrap!=null)wrappedData=wrap; } @@ -259,6 +266,8 @@ sd.setSize(BigInteger.valueOf(doGetSize())); Utilities.append(sd,ftRPdoc); } + Utilities.append(properties.get(RPPosition).getXml(),ftRPdoc); + Utilities.append(properties.get(RPReadable).getXml(),ftRPdoc); Utilities.append(properties.get(RPWriteable).getXml(),ftRPdoc); Utilities.append(properties.get(RPSeekable).getXml(),ftRPdoc); @@ -333,4 +342,14 @@ return new EndOfStreamDocument[]{sd}; } } + private class PositionRP extends ResourceProperty<Object>{ + private static final long serialVersionUID =123L; + @Override + public PositionDocument[] getXml() { + PositionDocument sd=PositionDocument.Factory.newInstance(); + BigInteger pos=BigInteger.valueOf(StreamableByteIOImpl.this.currentPosition); + sd.setPosition(pos); + return new PositionDocument[]{sd}; + } + } } Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/AccessControl.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/AccessControl.java 2007-07-20 10:26:45 UTC (rev 1371) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/AccessControl.java 2007-07-20 12:47:53 UTC (rev 1372) @@ -145,7 +145,8 @@ //check signature status SecurityManager.checkAuthentication(authNTokens,action,d); - //finally check resource access + //finally check resource access: this will throw an + //AuthorisationException if access is not permitted SecurityManager.checkAuthorisation(c,action,d); } Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/ETDTrustDelegationInHandler.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/ETDTrustDelegationInHandler.java 2007-07-20 10:26:45 UTC (rev 1371) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/ETDTrustDelegationInHandler.java 2007-07-20 12:47:53 UTC (rev 1372) @@ -134,6 +134,7 @@ List<TrustDelegation> tdTokens = getTrustAssertionsFromHeader(ctx.getInMessage().getHeader()); securityCtx.put(TRUST_DELEGATION_CHAIN, tdTokens); securityTokens.setTrustDelegationTokens(tdTokens); + if(tdTokens!=null)logger.finer("TD chain length "+tdTokens.size()); String userName=getIssuerName(tdTokens); Modified: unicorex/uas-core/trunk/src/test/java/de/fzj/unicore/uas/ByteIOTest.java =================================================================== --- unicorex/uas-core/trunk/src/test/java/de/fzj/unicore/uas/ByteIOTest.java 2007-07-20 10:26:45 UTC (rev 1371) +++ unicorex/uas-core/trunk/src/test/java/de/fzj/unicore/uas/ByteIOTest.java 2007-07-20 12:47:53 UTC (rev 1372) @@ -8,6 +8,7 @@ import de.fzj.unicore.uas.client.JobClient; import de.fzj.unicore.uas.client.RByteIOClient; +import de.fzj.unicore.uas.client.SByteIOClient; import de.fzj.unicore.uas.client.StorageClient; import de.fzj.unicore.uas.client.TSSClient; import de.fzj.unicore.uas.fts.byteio.StreamableByteIO; @@ -73,6 +74,7 @@ try{ sms.getImport("testfile").write(sampleStr.getBytes()); String res=new String(sms.getExport("testfile").read(0,1,60,0)); + assertTrue(sampleStr.equals(res)); }catch(Exception e){ success=false; @@ -97,6 +99,10 @@ String res=new String(sms.getExport("testfile").read(2,5,2,4)); String verify="0204060810"; assertTrue(verify.equals(res)); + SByteIOClient c=sms.getReadStream("testfile"); + System.out.println(c.getResourcePropertyDocument()); + c.seekRead(0,3); + System.out.println(c.getResourcePropertyDocument()); }catch(Exception e){ success=false; errors++; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |