From: <bsc...@us...> - 2009-08-14 14:37:48
|
Revision: 5192 http://unicore.svn.sourceforge.net/unicore/?rev=5192&view=rev Author: bschuller Date: 2009-08-14 14:37:21 +0000 (Fri, 14 Aug 2009) Log Message: ----------- several fixes Modified Paths: -------------- ucc/trunk/src/main/java/de/fzj/unicore/ucc/actions/WSRF.java ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/Location.java ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/Runner.java ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/StorageLister.java ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/TargetSystemFactoryLister.java ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/TargetSystemLister.java ucc/trunk/src/main/java/de/fzj/unicore/ucc/util/Builder.java ucc/trunk/src/site/apt/jobs.apt Modified: ucc/trunk/src/main/java/de/fzj/unicore/ucc/actions/WSRF.java =================================================================== --- ucc/trunk/src/main/java/de/fzj/unicore/ucc/actions/WSRF.java 2009-08-14 11:11:43 UTC (rev 5191) +++ ucc/trunk/src/main/java/de/fzj/unicore/ucc/actions/WSRF.java 2009-08-14 14:37:21 UTC (rev 5192) @@ -22,8 +22,8 @@ if(getCommandLine().getArgs().length<3){ throw new IllegalArgumentException("You must provide a URL as argument to this command."); } - //URL is last argument - String url=getCommandLine().getArgs()[getCommandLine().getArgs().length-1]; + //URL is third argument + String url=getCommandLine().getArgs()[3]; EndpointReferenceType epr=EndpointReferenceType.Factory.newInstance(); epr.addNewAddress().setStringValue(url); wsrf=new BaseUASClient(url,epr,securityProperties); Modified: ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/Location.java =================================================================== --- ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/Location.java 2009-08-14 11:11:43 UTC (rev 5191) +++ ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/Location.java 2009-08-14 14:37:21 UTC (rev 5192) @@ -81,6 +81,7 @@ * @param registry - the {@link RegistryClient} pointing to the registry * @param sec - security settings * @param msg - a {@link MessageWriter} instance + * @throws IllegalArgumentException in case the location is not valid or can not be resolved */ public Location(String desc, IRegistryQuery registry, IUASSecurityProperties sec, MessageWriter msg){ this(desc,registry,sec,msg,true); @@ -218,7 +219,7 @@ if(tss==null){ //check if it is a shared storage registered in the registry - sms=new StorageLister(registry).getStorage(tssName); + sms=new StorageLister(registry,sec).getStorage(tssName); if(sms!=null){ smsEpr=sms.getEPR().getAddress().getStringValue(); pathSpec=l.split("/",2); @@ -236,7 +237,7 @@ } else{ - sms=new StorageLister(tss).getStorage(location); + sms=new StorageLister(tss,sec).getStorage(location); if(sms!=null){ smsEpr=sms.getEPR().getAddress().getStringValue(); Modified: ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/Runner.java =================================================================== --- ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/Runner.java 2009-08-14 11:11:43 UTC (rev 5191) +++ ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/Runner.java 2009-08-14 14:37:21 UTC (rev 5192) @@ -10,6 +10,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -301,8 +302,14 @@ for(Iterator<Future<Boolean>>iter=results.iterator();iter.hasNext();){ try{ Boolean found=iter.next().get(500, TimeUnit.MILLISECONDS); - if(!found)iter.remove(); - }catch(TimeoutException te){} + if(found!=null && !found)iter.remove(); + }catch(TimeoutException te){ + //will silently retry + } + catch(ExecutionException ee){ + //something went wrong computing the result + msg.error("Error getting target system", ee.getCause()); + } } }while(results.size()>0 && available.size()==0); Modified: ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/StorageLister.java =================================================================== --- ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/StorageLister.java 2009-08-14 11:11:43 UTC (rev 5191) +++ ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/StorageLister.java 2009-08-14 14:37:21 UTC (rev 5192) @@ -9,7 +9,6 @@ import org.w3.x2005.x08.addressing.EndpointReferenceType; import de.fzj.unicore.uas.StorageManagement; -import de.fzj.unicore.uas.client.BaseUASClient; import de.fzj.unicore.uas.client.IRegistryQuery; import de.fzj.unicore.uas.client.StorageClient; import de.fzj.unicore.uas.client.TSSClient; @@ -28,14 +27,18 @@ final IRegistryQuery registry; - public StorageLister(TSSClient tss){ + final IUASSecurityProperties securityProperties; + + public StorageLister(TSSClient tss, IUASSecurityProperties securityProperties){ this.tss=tss; registry=null; + this.securityProperties=securityProperties; } - public StorageLister(IRegistryQuery registry){ + public StorageLister(IRegistryQuery registry,IUASSecurityProperties securityProperties){ this.tss=null; this.registry=registry; + this.securityProperties=securityProperties; } /** @@ -102,8 +105,7 @@ } protected IUASSecurityProperties getSecurityProperties(){ - if(tss!=null)return tss.getSecurityProperties(); - return ((BaseUASClient)registry).getSecurityProperties(); + return securityProperties; } /** Modified: ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/TargetSystemFactoryLister.java =================================================================== --- ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/TargetSystemFactoryLister.java 2009-08-14 11:11:43 UTC (rev 5191) +++ ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/TargetSystemFactoryLister.java 2009-08-14 14:37:21 UTC (rev 5192) @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -68,9 +69,14 @@ TSFClient res=task.get(500, TimeUnit.MILLISECONDS); if(res!=null){ tss.add(res); + tasks.remove(0); } - tasks.remove(0); }catch(TimeoutException te){/*no worries will retry*/} + catch(ExecutionException ee){ + String message="Error accessing target systems."; + logger.error(message,ee.getCause()); + msg.error(message,ee.getCause()); + } } }catch(Exception e){ String message="Can't create list of target systems."; Modified: ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/TargetSystemLister.java =================================================================== --- ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/TargetSystemLister.java 2009-08-14 11:11:43 UTC (rev 5191) +++ ucc/trunk/src/main/java/de/fzj/unicore/ucc/helpers/TargetSystemLister.java 2009-08-14 14:37:21 UTC (rev 5192) @@ -21,18 +21,18 @@ public class TargetSystemLister implements Iterable<TSSClient>{ private static final Logger logger=Logger.getLogger(TargetSystemLister.class.getName()); - + private final IRegistryQuery registry; private final IUASSecurityProperties sec; private final MessageWriter msg; - + public TargetSystemLister(IRegistryQuery registry, IUASSecurityProperties sec, MessageWriter msg){ this.registry=registry; this.sec=sec; this.msg=msg; } - + /** * return a list of all accessible target systems, * providing a pre-initialised TSSClient per instance @@ -46,21 +46,19 @@ List<EndpointReferenceType> eprs=tsf.getAccessibleTargetSystems(); if(eprs!=null){ for(EndpointReferenceType epr: eprs){ - try{ - TSSClient tss=new TSSClient(epr.getAddress().getStringValue(),epr,sec); - tssList.add(tss); - }catch(Exception e){} + TSSClient tss=new TSSClient(epr.getAddress().getStringValue(),epr,sec); + tssList.add(tss); } } - }catch(Exception e){ - String message="Can't create target system list."; - logger.error(message,e); - msg.error(message, e); + }catch(Exception ex){ + String message="Can't access target systems at "+tsf.getEPR().getAddress().getStringValue(); + logger.error(message,ex); + msg.error(message, ex); } } return tssList; } - + /** * return an iterator over the available target systems, providing a * pre-initialised TSSClient per instance @@ -70,7 +68,7 @@ public Iterator<TSSClient> iterator(){ return list().iterator(); } - + /** * get a TSS by name * @@ -83,7 +81,7 @@ } return null; } - - - + + + } Modified: ucc/trunk/src/main/java/de/fzj/unicore/ucc/util/Builder.java =================================================================== --- ucc/trunk/src/main/java/de/fzj/unicore/ucc/util/Builder.java 2009-08-14 11:11:43 UTC (rev 5191) +++ ucc/trunk/src/main/java/de/fzj/unicore/ucc/util/Builder.java 2009-08-14 14:37:21 UTC (rev 5192) @@ -274,13 +274,9 @@ if(l.isLocal())continue; //try to resolve a unicore6:// URI - try{ - if(registry!=null){ - String resolved=l.resolve(); - source=resolved; - } - }catch(Exception e){ - logger.warn("",e); + if(registry!=null){ + String resolved=l.resolve(); + source=resolved; } String target=((JSONObject)o).getString("To"); String creation=((JSONObject)o).optString("Mode", "overwrite"); @@ -293,9 +289,11 @@ else if("nooverwrite".equalsIgnoreCase(creation)){ d.setCreationFlag(CreationFlagEnumeration.DONT_OVERWRITE); } - + } + catch(IllegalArgumentException iae){ + throw iae; }catch(Exception e){ - throw new IllegalArgumentException("Stage-in specification invalid. Syntax: \"From: <location>, To: <uspacefile>, Mode: overwrite|append|nooverwrite\""); + throw new IllegalArgumentException("Stage-in specification invalid. Syntax: \"From: <location>, To: <uspacefile>, Mode: overwrite|append|nooverwrite\"",e); } } } @@ -315,12 +313,11 @@ if(l.isLocal())continue; //try to resolve a unicore6:// URI - try{ - if(registry!=null){ - String resolved=l.resolve(); - target=resolved; - } - }catch(Exception e){} + if(registry!=null){ + String resolved=l.resolve(); + target=resolved; + } + DataStagingType d=jd.addNewDataStaging(); d.setFileName(source); d.addNewTarget().setURI(target); @@ -333,7 +330,7 @@ d.setCreationFlag(CreationFlagEnumeration.DONT_OVERWRITE); } }catch(Exception e){ - throw new IllegalArgumentException("Stage-out specification invalid. Syntax: \"From: <uspacefile>, To: <location>, Mode: overwrite|append|nooverwrite\""); + throw new IllegalArgumentException("Stage-out specification invalid. Syntax: \"From: <uspacefile>, To: <location>, Mode: overwrite|append|nooverwrite\"",e); } } Modified: ucc/trunk/src/site/apt/jobs.apt =================================================================== --- ucc/trunk/src/site/apt/jobs.apt 2009-08-14 11:11:43 UTC (rev 5191) +++ ucc/trunk/src/site/apt/jobs.apt 2009-08-14 14:37:21 UTC (rev 5192) @@ -137,8 +137,8 @@ Executable: "/bin/sh", Arguments: ["helper.sh"], Imports: [ - {File: "helper.sh", To: "helper.sh"}, - {File: "myapp", To: "myapp"}, + {From: "helper.sh", To: "helper.sh"}, + {From: "myapp", To: "myapp"}, ], } +----------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |