From: <bsc...@us...> - 2007-08-17 14:36:13
|
Revision: 1519 http://unicore.svn.sourceforge.net/unicore/?rev=1519&view=rev Author: bschuller Date: 2007-08-17 07:36:07 -0700 (Fri, 17 Aug 2007) Log Message: ----------- add exit code stuff; minor others Modified Paths: -------------- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/UAS.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/client/JobClient.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/UASWSResourceImpl.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/job/rp/StatusInfoResourceProperty.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/tss/TargetSystemImpl.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/SecurityManager.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/util/FileBasedAuthoriser.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/util/CreateSMSOnStartup.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/util/DefaultOnStartup.java unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/xnjs/XNJSFacade.java 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-08-17 14:22:37 UTC (rev 1518) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/UAS.java 2007-08-17 14:36:07 UTC (rev 1519) @@ -398,6 +398,7 @@ ((Runnable)o).run(); }catch(Exception e){ logger.log(Level.SEVERE,"Error running "+c,e); + throw e; } } @@ -514,6 +515,8 @@ startSynchronous(); }catch(Exception e){ e.printStackTrace(); + System.err.println("Server startup failed."); + System.exit(1); } } } Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/client/JobClient.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/client/JobClient.java 2007-08-17 14:22:37 UTC (rev 1518) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/client/JobClient.java 2007-08-17 14:36:07 UTC (rev 1519) @@ -33,6 +33,7 @@ package de.fzj.unicore.uas.client; +import java.math.BigInteger; import java.util.Calendar; import java.util.logging.Level; @@ -113,9 +114,11 @@ StorageClient storageClient=new StorageClient(uEpr.getWorkingDirectoryReference(), (IUASSecurityProperties)securityProperties); return storageClient; } - - //job mgmnt functions - + + /** + * start this job<br/> + * This will throw an exception if the job is not in the READY state + */ public void start() throws BaseFault{ logger.fine("Calling service at wsaTo: "+epr.getAddress().getStringValue()); try{ @@ -127,6 +130,11 @@ } } + /** + * abort this job + * + * @throws BaseFault + */ public void abort() throws BaseFault{ logger.fine("Calling service at wsaTo: "+epr.getAddress().getStringValue()); try{ @@ -203,6 +211,9 @@ return status.toString(); } + /** + * return the job status + */ public StatusType.Enum getStatus(){ try{ return StatusInfoDocument.Factory.parse( @@ -213,6 +224,20 @@ } } + /** + * return the exit code of the job + * @return the exit code or null if not available + */ + public Integer getExitCode(){ + try{ + BigInteger exitCode=StatusInfoDocument.Factory.parse(getResourceProperty(JobManagement.RPStatusInfo)).getStatusInfo().getExitCode(); + return exitCode!=null? exitCode.intValue():null; + }catch(Exception e){ + logger.log(Level.SEVERE,"Can't get exit code."); + return null; + } + } + public Calendar getSubmissionTime(){ if(submissionTime==null) { Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/UASWSResourceImpl.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/UASWSResourceImpl.java 2007-08-17 14:22:37 UTC (rev 1518) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/UASWSResourceImpl.java 2007-08-17 14:36:07 UTC (rev 1519) @@ -127,7 +127,7 @@ try{ SecurityTokens tokens=getSecurityTokens(); client=SecurityManager.createAndAuthoriseClient(tokens); - logger.finest("Client is "+client.getDistinguishedName()); + logger.finer("Client is "+client.getDistinguishedName()); return client; }catch(Exception e){ logger.log(Level.SEVERE,"Error creating client info.",e); Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/job/rp/StatusInfoResourceProperty.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/job/rp/StatusInfoResourceProperty.java 2007-08-17 14:22:37 UTC (rev 1518) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/job/rp/StatusInfoResourceProperty.java 2007-08-17 14:36:07 UTC (rev 1519) @@ -33,6 +33,7 @@ package de.fzj.unicore.uas.impl.job.rp; +import java.math.BigInteger; import java.util.logging.Logger; import org.unigrids.services.atomic.types.StatusInfoDocument; @@ -83,6 +84,11 @@ status.getStatusInfo().setStatus( convertStatus( XNJSFacade.getStatus(actionId,client))); + + Integer exitCode=XNJSFacade.getExitCode(actionId,client); + if(exitCode!=null){ + status.getStatusInfo().setExitCode(BigInteger.valueOf(exitCode.longValue())); + } return this; } Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/tss/TargetSystemImpl.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/tss/TargetSystemImpl.java 2007-08-17 14:22:37 UTC (rev 1518) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/impl/tss/TargetSystemImpl.java 2007-08-17 14:36:07 UTC (rev 1519) @@ -359,7 +359,7 @@ c.destroy(); } }catch(Exception e){ - logger.severe("Could not destroy storages."); + logger.log(Level.SEVERE,"Could not destroy storages.",e); } } Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/SecurityManager.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/SecurityManager.java 2007-08-17 14:22:37 UTC (rev 1518) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/SecurityManager.java 2007-08-17 14:36:07 UTC (rev 1519) @@ -47,7 +47,6 @@ import java.util.logging.Logger; import javax.net.ssl.SSLSocket; -import javax.security.auth.x500.X500Principal; import org.w3.x2005.x08.addressing.EndpointReferenceType; @@ -62,7 +61,6 @@ import de.fzj.unicore.uas.UAS; import de.fzj.unicore.uas.security.util.RequestBuilder; import de.fzj.unicore.uas.security.util.ResourceDescriptor; -import de.fzj.unicore.uas.util.AddressingUtil; import de.fzj.unicore.wsrflite.Kernel; import de.fzj.unicore.wsrflite.xfire.http.AuthSSLProtocolSocketFactory; import de.fzj.unicore.wsrflite.xmlbeans.ResourceLifetime; Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/util/FileBasedAuthoriser.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/util/FileBasedAuthoriser.java 2007-08-17 14:22:37 UTC (rev 1518) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/security/util/FileBasedAuthoriser.java 2007-08-17 14:36:07 UTC (rev 1519) @@ -105,6 +105,7 @@ * @throws AuthorisationException */ public Map<String, String> authorise(SecurityTokens tokens) throws AuthorisationException{ + logger.log(Level.FINER,"authorising"); update(); try{ X509Certificate cert=(X509Certificate)tokens.getUserCertificate(); Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/util/CreateSMSOnStartup.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/util/CreateSMSOnStartup.java 2007-08-17 14:22:37 UTC (rev 1518) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/util/CreateSMSOnStartup.java 2007-08-17 14:36:07 UTC (rev 1519) @@ -63,15 +63,11 @@ */ public class CreateSMSOnStartup implements Runnable { protected static Logger logger=Logger.getLogger(CreateSMSOnStartup.class.getName()); - - private EndpointReferenceType registryEpr; - + public static final String CONF_WORKDIR="defaultsms.workdir"; public static final String INSTANCE_ID="default_storage"; public CreateSMSOnStartup(){ - registryEpr=RegistryHandler.getRegistryEpr(); - logger.info("Using registry at "+registryEpr.getAddress().getStringValue()); } public void run() { Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/util/DefaultOnStartup.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/util/DefaultOnStartup.java 2007-08-17 14:22:37 UTC (rev 1518) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/util/DefaultOnStartup.java 2007-08-17 14:36:07 UTC (rev 1519) @@ -97,8 +97,8 @@ * * @param timeout - maximum waiting time in seconds */ - protected void waitForGateway(int timeout){ - if(!UAS.getBooleanProperty(ON_STARTUP_WAIT_KEY))return; + protected boolean waitForGateway(int timeout){ + if(!UAS.getBooleanProperty(ON_STARTUP_WAIT_KEY))return true; Object cert=null; int i=0; do{ @@ -110,7 +110,9 @@ Thread.sleep(1000); }catch(Exception e){} } + else return true; }while(cert==null && i<timeout); + return false; } /** Modified: unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/xnjs/XNJSFacade.java =================================================================== --- unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/xnjs/XNJSFacade.java 2007-08-17 14:22:37 UTC (rev 1518) +++ unicorex/uas-core/trunk/src/main/java/de/fzj/unicore/uas/xnjs/XNJSFacade.java 2007-08-17 14:36:07 UTC (rev 1519) @@ -181,7 +181,23 @@ return null; } } + /** + * Retrieve the exit code of an action + */ + public static Integer getExitCode(String id, Client client){ + if(didInitXNJS==false)doInit(); + try{ + Action a=xnjs.getConfig().getInternalManager().getAction(id); + if(a!=null)return a.getExecutionContext().getExitCode(); + else return null; + }catch(Exception e){ + logger.log(Level.SEVERE,"",e); + return null; + } + } + + /** * Destroy an action on the XNJS, removing its Uspace * * @param id - the ID of the action to destroy This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |