From kawas at dev.open-bio.org Thu May 3 11:27:02 2007 From: kawas at dev.open-bio.org (Eddie Kawas) Date: Thu, 3 May 2007 11:27:02 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705031527.l43FR2Pe010085@dev.open-bio.org> kawas Thu May 3 11:27:01 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util In directory dev.open-bio.org:/tmp/cvs-serv10050/Java/src/main/org/biomoby/registry/rdfagent/util Modified Files: Constants.java Log Message: removed an orphaned property moby-live/Java/src/main/org/biomoby/registry/rdfagent/util Constants.java,1.15,1.16 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java 2006/09/05 19:24:06 1.15 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java 2007/05/03 15:27:01 1.16 @@ -73,7 +73,7 @@ */ public static boolean REGISTRY_IGNORE_NULL = false; - public static boolean DUMP_SERVICE_LIST = false; + //public static boolean DUMP_SERVICE_LIST = false; /** * The passphrase that enables the agent to deregister from mobycentral. @@ -233,9 +233,6 @@ REGISTRY_IGNORE_NULL = extractBoolean(prop .getProperty("admin.registry.ignore.null")); - DUMP_SERVICE_LIST = extractBoolean(prop - .getProperty("agent.output.flatfiles")); - REGISTRY_KEYPHRASE = prop .getProperty("admin.registry.removal.keyphrase"); From kawas at dev.open-bio.org Wed May 9 09:09:54 2007 From: kawas at dev.open-bio.org (Eddie Kawas) Date: Wed, 9 May 2007 09:09:54 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705091309.l49D9sK6030026@dev.open-bio.org> kawas Wed May 9 09:09:53 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/scripts In directory dev.open-bio.org:/tmp/cvs-serv29991/Java/src/scripts Modified Files: testing-service.pl Log Message: explicilty cast the soap input as a string. seems like soap-lite doesnt properly guess the datatype ... moby-live/Java/src/scripts testing-service.pl,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/scripts/testing-service.pl,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/Java/src/scripts/testing-service.pl 2006/10/13 22:08:39 1.7 +++ /home/repository/moby/moby-live/Java/src/scripts/testing-service.pl 2007/05/09 13:09:53 1.8 @@ -113,7 +113,7 @@ } print $soap - -> $service ($input) + -> $service (SOAP::Data->type('string' => "$input")) -> result; } else { From mwilkinson at dev.open-bio.org Fri May 18 10:48:25 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 18 May 2007 10:48:25 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705181448.l4IEmPfv011393@dev.open-bio.org> mwilkinson Fri May 18 10:48:24 EDT 2007 Update of /home/repository/moby/moby-live/Docs/MOBY-S_API In directory dev.open-bio.org:/tmp/cvs-serv11374 Modified Files: index_API.html Log Message: fixed a link in the docs moby-live/Docs/MOBY-S_API index_API.html,1.12,1.13 =================================================================== RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/index_API.html,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Docs/MOBY-S_API/index_API.html 2006/11/21 23:04:27 1.12 +++ /home/repository/moby/moby-live/Docs/MOBY-S_API/index_API.html 2007/05/18 14:48:24 1.13 @@ -80,7 +80,7 @@ Central stores the object and services ontologies, and provides discovery services for service consumers. -
  • The service API, which +
  • The service API, which describes how to interact with a service provided under the MOBY framework: it describes what messages you can send to a service, how should they be structured, From senger at dev.open-bio.org Sun May 20 20:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFdm008375@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser In directory dev.open-bio.org:/tmp/cvs-serv8252/src/main/org/biomoby/shared/parser Modified Files: ServiceException.java Log Message: moby-live/Java/src/main/org/biomoby/shared/parser ServiceException.java,1.11,1.12 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java 2006/11/11 23:04:34 1.11 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java 2007/05/21 00:56:15 1.12 @@ -405,7 +405,7 @@ /************************************************************************** * *************************************************************************/ - public Element toDOM() { + public Element toXML() { Element elem = MobyPackage.getXMLElement (MobyTags.MOBYEXCEPTION); MobyPackage.setXMLAttribute (elem, MobyTags.SEVERITY, getSeverityAsString()); if (refQueryID != null) @@ -479,26 +479,26 @@ return ex; } - public String toXML(){ - StringBuffer xml = new StringBuffer(" \n"); - - xml.append(""+code+""); +// public String toXML(){ +// StringBuffer xml = new StringBuffer(" \n"); + +// xml.append(""+code+""); + +// if(getMessage() != null){ +// xml.append(" "+getMessage()+""); +// } - if(getMessage() != null){ - xml.append(" "+getMessage()+""); - } - - xml.append(" "); +// xml.append(" "); - return xml.toString(); - } +// return xml.toString(); +// } } From senger at dev.open-bio.org Sun May 20 20:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFpm008321@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta In directory dev.open-bio.org:/tmp/cvs-serv8252/src/main/org/biomoby/registry/meta Modified Files: RegistriesList.java Log Message: moby-live/Java/src/main/org/biomoby/registry/meta RegistriesList.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/RegistriesList.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/RegistriesList.java 2006/12/05 17:18:16 1.2 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/RegistriesList.java 2007/05/21 00:56:15 1.3 @@ -20,7 +20,8 @@ * Please edit this file if you want to have your BioMoby registry * visible to others (for example, in BioMoby Dashboard).

    * - * Or, you can also replace this implementation by your own, with your own list of registries + * Or, you can also replace this implementation by your own, with your + * own list of registries. * * @author Martin Senger * @version $Id$ @@ -53,6 +54,15 @@ "The MOBY registry at the International Rice Research Institute (IRRI) is intended mostly for Generation Challenge Program (GCP) developers. It allows the registration of experimental moby entities within GCP."), new Registry + ("INAB", + "http://moby-dev.inab.org/cgi-bin/MOBY-Central.pl", + "http://moby-dev.inab.org/MOBY/Central", + "INAB, Spain", + "", + true, + "The MOBY registry at the Instituto Nacional de Bioinform??tica, Spain."), + + new Registry ("testing", "http://bioinfo.icapture.ubc.ca/cgi-bin/mobycentral/MOBY-Central.pl", "http://bioinfo.icapture.ubc.ca/MOBY/Central", From senger at dev.open-bio.org Sun May 20 20:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFZo008339@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/dashboard/chooser In directory dev.open-bio.org:/tmp/cvs-serv8252/src/main/org/biomoby/service/dashboard/chooser Modified Files: DateTimeChooserEditor.java Log Message: moby-live/Java/src/main/org/biomoby/service/dashboard/chooser DateTimeChooserEditor.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/dashboard/chooser/DateTimeChooserEditor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/dashboard/chooser/DateTimeChooserEditor.java 2006/02/08 17:24:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/dashboard/chooser/DateTimeChooserEditor.java 2007/05/21 00:56:15 1.2 @@ -31,8 +31,8 @@ /** * A cell editor that invokes {@link DateTimeChooser} to get a * calendar GUI. The editor is supposed to be used for editing cells - * in JTable, and it complies wiht the Biomoby specification for - * dat-time formats.

    + * in JTable, and it complies with the Biomoby specification for + * date-time formats.

    * * @author Martin Senger * @version $Id$ From senger at dev.open-bio.org Sun May 20 20:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFVC008271@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/docs In directory dev.open-bio.org:/tmp/cvs-serv8252/docs Modified Files: ChangeLog Log Message: moby-live/Java/docs ChangeLog,1.77,1.78 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.77 retrieving revision 1.78 diff -u -r1.77 -r1.78 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/04/18 16:33:45 1.77 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/21 00:56:14 1.78 @@ -1,3 +1,11 @@ +2007-05-20 Martin Senger + + * Fixed: the date format of MobyDateTime is now fully compliant + with the ISO8601. + + * Fixed: method ServiceException.toXML() is back as it was + originally. Method ServiceException.toDOM() removed. + 2007-04-18 Paul Gordon * Added support for binary data file loading, and Web image display in Seahawk & ACDServlet From senger at dev.open-bio.org Sun May 20 20:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFn9008357@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/datatypes In directory dev.open-bio.org:/tmp/cvs-serv8252/src/main/org/biomoby/shared/datatypes Modified Files: MobyDateTime.java Log Message: moby-live/Java/src/main/org/biomoby/shared/datatypes MobyDateTime.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/datatypes/MobyDateTime.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/datatypes/MobyDateTime.java 2006/02/05 12:11:08 1.2 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/datatypes/MobyDateTime.java 2007/05/21 00:56:15 1.3 @@ -40,7 +40,7 @@ * A string defining (in symbols used in Java's SimpleDateFormat) * a full Biomoby DateTime format complying with ISO 8601. */ - public static final String FULL_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'Z"; + public static final String FULL_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZ"; /** * An array defining all allowed formats for Biomoby DateTime @@ -57,7 +57,6 @@ "yyyy-MM-dd'T'HH:mm", "yyyy-MM-dd'T'HH:mm:ss", "yyyy-MM-dd'T'HH:mm:ss", - "yyyy-MM-dd'T'HH:mm:ss'Z'", FULL_FORMAT }; @@ -91,25 +90,45 @@ * Additionally to the same method in the superclass, it checks * for a correct format.

    * + * It also allows values with the time zone in the format "+hhmm" + * and "-hhmm" (instead of correct ones "+hh:mm" and + * "-hh:mm"). Such values are the result of SimpleDateFormat + * constructor when fed with the {@link #FULL_FORMAT}.

    + * * @param value to be stored; if it is null or an empty string it - * creates a date/time of the current moment + * creates a date/time of the current moment

    + * * @throws MobyException if the 'value' does not follow the ISO * 8601 specification *************************************************************************/ public void setValue (String value) throws MobyException { GregorianCalendar calendar; - if ( value == null || "".equals (value.trim()) ) { + if (value == null) { calendar = MobyDataDateTime.parseISO8601 (null); } else { - // validate - try { - calendar = MobyDataDateTime.parseISO8601 (value.trim()); - } catch (IllegalArgumentException e) { - throw new MobyException (MSG_NOT_VALID_DATE (getName(), value.trim())); + String tValue = value.trim(); + if ("".equals (tValue)) { + calendar = MobyDataDateTime.parseISO8601 (null); + } else { + // validate + try { + int len = tValue.length(); + if (len > 5 && + ( tValue.charAt (len - 5) == '+' || + tValue.charAt (len - 5) == '-' )) { + tValue = + tValue.substring (0, len - 2) + + ':' + + tValue.substring (len - 2); + } + calendar = MobyDataDateTime.parseISO8601 (tValue); + } catch (IllegalArgumentException e) { + throw new MobyException (MSG_NOT_VALID_DATE (getName(), tValue)); + } } } - super.setValue (MobyDataDateTime.getString (calendar)); + super.setValue (MobyDataDateTime.getString (calendar)); } } From senger at dev.open-bio.org Sun May 20 20:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFc8008303@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/Clients In directory dev.open-bio.org:/tmp/cvs-serv8252/src/Clients Added Files: TestDate.java Log Message: moby-live/Java/src/Clients TestDate.java,NONE,1.1 From senger at dev.open-bio.org Sun May 20 20:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFN8008289@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/docs/API In directory dev.open-bio.org:/tmp/cvs-serv8252/docs/API Modified Files: .cvsignore.template Log Message: moby-live/Java/docs/API .cvsignore.template,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/API/.cvsignore.template,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Java/docs/API/.cvsignore.template 2005/05/19 20:27:02 1.4 +++ /home/repository/moby/moby-live/Java/docs/API/.cvsignore.template 2007/05/21 00:56:15 1.5 @@ -5,4 +5,5 @@ class-use org embl +ca resources From senger at dev.open-bio.org Sun May 20 20:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFdN008390@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/client In directory dev.open-bio.org:/tmp/cvs-serv8252/src/samples/org/jmoby/tutorial/client Added Files: TestCreateGCP_LocusCollection.java.txt Removed Files: TestCreateGCP_LocusCollection.java Log Message: moby-live/Java/src/samples/org/jmoby/tutorial/client TestCreateGCP_LocusCollection.java.txt,NONE,1.1 TestCreateGCP_LocusCollection.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/client/RCS/TestCreateGCP_LocusCollection.java,v: No such file or directory From senger at dev.open-bio.org Sun May 20 20:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFfk008417@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service In directory dev.open-bio.org:/tmp/cvs-serv8252/src/samples/org/jmoby/tutorial/service Added Files: TestServiceNotesImpl.java Log Message: moby-live/Java/src/samples/org/jmoby/tutorial/service TestServiceNotesImpl.java,NONE,1.1 From senger at dev.open-bio.org Sun May 20 20:56:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uk56008472@dev.open-bio.org> senger Sun May 20 20:56:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/data In directory dev.open-bio.org:/tmp/cvs-serv8457/data Added Files: TestServiceNotes-input.xml Log Message: moby-live/Java/data TestServiceNotes-input.xml,NONE,1.1 From mwilkinson at dev.open-bio.org Thu May 24 13:50:37 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Thu, 24 May 2007 13:50:37 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705241750.l4OHobdk021458@dev.open-bio.org> mwilkinson Thu May 24 13:50:36 EDT 2007 Update of /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl In directory dev.open-bio.org:/tmp/cvs-serv21439/MOBY-S_API/Perl Modified Files: DiscoverService.html Log Message: fixed error in docs moby-live/Docs/MOBY-S_API/Perl DiscoverService.html,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/DiscoverService.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/DiscoverService.html 2007/02/19 22:36:12 1.2 +++ /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/DiscoverService.html 2007/05/24 17:50:36 1.3 @@ -73,7 +73,7 @@ use MOBY::Client::Central; my $m = MOBY::Client::Central->new; -my ($serv_instances, $reg) = $findService->( +my ($serv_instances, $reg) = $m->findService( authURI => "mydomain.mycompany.org", serviceName => "getGoTerm"); From mwilkinson at dev.open-bio.org Thu May 24 15:46:38 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Thu, 24 May 2007 15:46:38 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705241946.l4OJkcYu021627@dev.open-bio.org> mwilkinson Thu May 24 15:46:38 EDT 2007 Update of /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl In directory dev.open-bio.org:/tmp/cvs-serv21608/MOBY-S_API/Perl Modified Files: ExecuteSyncService.html Log Message: fixed error in docs moby-live/Docs/MOBY-S_API/Perl ExecuteSyncService.html,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/02/19 22:36:12 1.2 +++ /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/05/24 19:46:38 1.3 @@ -105,7 +105,7 @@ # we now have the WSDL description of the Service # we use this to create a MOBY::Client::Service object -my $SERV = MOBY::Client::Service->new(service => $SI); +my $SERV = MOBY::Client::Service->new(service => $wsdl); # the $SERV object knows everything it needs to know to interact with # that Moby Service, so all we have to do it provide the correct data From mwilkinson at dev.open-bio.org Thu May 24 15:56:48 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Thu, 24 May 2007 15:56:48 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705241956.l4OJumEY021668@dev.open-bio.org> mwilkinson Thu May 24 15:56:47 EDT 2007 Update of /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl In directory dev.open-bio.org:/tmp/cvs-serv21649/MOBY-S_API/Perl Modified Files: ExecuteSyncService.html Log Message: fixed error in docs moby-live/Docs/MOBY-S_API/Perl ExecuteSyncService.html,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/05/24 19:46:38 1.3 +++ /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/05/24 19:56:47 1.4 @@ -116,8 +116,8 @@ @single_invocation = ([$articleName, $inputdata1]); @multiple_invocation = ([$articleName, $inputdata1], [$articleName, $inputdata2]) -my $result1 = $SERV->execute(XMLInputList => \@single_invocation); -my $result2 = $SERV->execute(XMLInputList => \@multiple_invocation); +my $result1 = $SERV->execute(XMLinputlist => \@single_invocation); +my $result2 = $SERV->execute(XMLinputlist => \@multiple_invocation); # The content of $result is the raw XML of whatever the service provider # gave us. There are a variety of ways to deal with this data, or you From mwilkinson at dev.open-bio.org Fri May 25 09:22:56 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 09:22:56 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251322.l4PDMuWc023386@dev.open-bio.org> mwilkinson Fri May 25 09:22:56 EDT 2007 Update of /home/repository/moby/moby-live/Perl/MOBY In directory dev.open-bio.org:/tmp/cvs-serv23367/MOBY Modified Files: CommonSubs.pm Log Message: fixed documentation error moby-live/Perl/MOBY CommonSubs.pm,1.96,1.97 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm,v retrieving revision 1.96 retrieving revision 1.97 diff -u -r1.96 -r1.97 --- /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm 2007/02/09 00:27:07 1.96 +++ /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm 2007/05/25 13:22:56 1.97 @@ -38,7 +38,7 @@ my $responses = serviceResponseParser($resp); # returns MOBY objects foreach my $queryID(keys %$responses){ - $this_invocation = $inputs->{$queryID}; # this is the block with this queryID + $this_invocation = $responses->{$queryID}; # this is the block with this queryID my $this_output = ""; if (my $data = $this_invocation->{'responseArticleName'}){ From mwilkinson at dev.open-bio.org Fri May 25 09:25:14 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 09:25:14 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251325.l4PDPEAR023426@dev.open-bio.org> mwilkinson Fri May 25 09:25:14 EDT 2007 Update of /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl In directory dev.open-bio.org:/tmp/cvs-serv23407/MOBY-S_API/Perl Modified Files: ExecuteSyncService.html Log Message: fixed doc rendering of XML moby-live/Docs/MOBY-S_API/Perl ExecuteSyncService.html,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/05/24 19:56:47 1.4 +++ /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/05/25 13:25:14 1.5 @@ -110,8 +110,8 @@ # that Moby Service, so all we have to do it provide the correct data my $articleName = -my $inputdata1 = ""; -my $inputdata2 = ""; +my $inputdata1 = ">Object namespace='GO' id='0050789'>"; +my $inputdata2 = ">Object namespace='GO' id='0050789'>"; @single_invocation = ([$articleName, $inputdata1]); @multiple_invocation = ([$articleName, $inputdata1], [$articleName, $inputdata2]) From mwilkinson at dev.open-bio.org Fri May 25 09:48:50 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 09:48:50 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251348.l4PDmoYh023955@dev.open-bio.org> mwilkinson Fri May 25 09:48:50 EDT 2007 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory dev.open-bio.org:/tmp/cvs-serv23936/MOBY/Client Modified Files: SimpleArticle.pm Log Message: namespacing of attributes was not being read properly moby-live/Perl/MOBY/Client SimpleArticle.pm,1.16,1.17 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2006/10/02 23:31:20 1.16 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2007/05/25 13:48:50 1.17 @@ -275,6 +275,7 @@ $self->articleName( "" ); $self->objectType( "" ); my $attr = $dom->getAttributeNode( 'articleName' ); + $attr ||= $dom->getAttributeNode( 'moby:articleName' ); my $articleName = $attr ? $attr->getValue : ""; $attr = $dom->getAttributeNode( 'lsid' ); my $lsid = $attr ? $attr->getValue : ""; From mwilkinson at dev.open-bio.org Fri May 25 09:57:23 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 09:57:23 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251357.l4PDvNNV024337@dev.open-bio.org> mwilkinson Fri May 25 09:57:23 EDT 2007 Update of /home/repository/moby/moby-live/Perl/MOBY In directory dev.open-bio.org:/tmp/cvs-serv24300/MOBY Modified Files: CommonSubs.pm Log Message: documentation errors moby-live/Perl/MOBY CommonSubs.pm,1.97,1.98 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm,v retrieving revision 1.97 retrieving revision 1.98 diff -u -r1.97 -r1.98 --- /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm 2007/05/25 13:22:56 1.97 +++ /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm 2007/05/25 13:57:23 1.98 @@ -41,11 +41,13 @@ $this_invocation = $responses->{$queryID}; # this is the block with this queryID my $this_output = ""; - if (my $data = $this_invocation->{'responseArticleName'}){ + if (my $data = $this_invocation->{'responseArticleName'}){ # whatever your articleName is... # $data is a MOBY::Client::Simple|Collection|ParameterArticle my ($namespace) = @{$data->namespaces}; my $id = $data->id; - my $XML_LibXML = $input->XML_DOM; # get access to the DOM + my $XML_LibXML = $data->XML_DOM; # get access to the DOM + # assuming that you have an element of type "String" + # with articleName "Description" my $desc = getNodeContentWithArticle($XML_LibXML, "String", "Description"); ################### # DO SOMETHING TO RESPOSE DATA HERE From mwilkinson at dev.open-bio.org Fri May 25 09:58:51 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 09:58:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251358.l4PDwpVd024437@dev.open-bio.org> mwilkinson Fri May 25 09:58:51 EDT 2007 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory dev.open-bio.org:/tmp/cvs-serv24414/MOBY/Client Modified Files: CollectionArticle.pm SecondaryArticle.pm Log Message: more namespace parsing errors moby-live/Perl/MOBY/Client CollectionArticle.pm,1.16,1.17 SecondaryArticle.pm,1.13,1.14 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm 2006/05/30 18:56:16 1.16 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm 2007/05/25 13:58:51 1.17 @@ -263,6 +263,7 @@ $self->articleName( "" ); $self->Simples( [] ); my $attr = $dom->getAttributeNode( 'articleName' ); + $attr ||= $dom->getAttributeNode( 'moby:articleName' ); my $articleName = ""; $articleName = $attr->getValue if $attr; $self->articleName( $articleName ); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm 2007/02/07 01:21:24 1.13 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm 2007/05/25 13:58:51 1.14 @@ -255,6 +255,7 @@ $self->articleName( "" ); $self->objectType( "" ); my $attr = $dom->getAttributeNode( 'articleName' ); + $attr ||= $dom->getAttributeNode( 'moby:articleName' ); $self->articleName( $attr ? $attr->getValue : "" ); if ( @{ $dom->getElementsByLocalName( 'Value' ) }[0] ) { return $self->_createInstantiatedArticle( $dom ); From mwilkinson at dev.open-bio.org Fri May 25 10:23:47 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 10:23:47 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251423.l4PENlwo024516@dev.open-bio.org> mwilkinson Fri May 25 10:23:47 EDT 2007 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory dev.open-bio.org:/tmp/cvs-serv24497/MOBY/Client Modified Files: SimpleArticle.pm Log Message: more namespace parsing errors moby-live/Perl/MOBY/Client SimpleArticle.pm,1.17,1.18 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2007/05/25 13:48:50 1.17 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2007/05/25 14:23:47 1.18 @@ -325,8 +325,10 @@ next unless $child->nodeType == ELEMENT_NODE; $self->objectType( $child->localname ); my $attr = $child->getAttributeNode( 'namespace' ); + $attr ||= $child->getAttributeNode( 'moby:namespace' ); $self->addNamespace( $attr->getValue ) if $attr; my $id = $child->getAttributeNode( 'id' ); + $id ||= $child->getAttributeNode( 'moby:id' ); $self->id( $id->getValue ) if $id; } return $self; From senger at dev.open-bio.org Sun May 27 15:18:17 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 27 May 2007 15:18:17 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705271918.l4RJIHG3026911@dev.open-bio.org> senger Sun May 27 15:18:17 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service In directory dev.open-bio.org:/tmp/cvs-serv26856/src/samples/org/jmoby/tutorial/service Modified Files: TestServiceNotesImpl.java Log Message: moby-live/Java/src/samples/org/jmoby/tutorial/service TestServiceNotesImpl.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java 2007/05/21 00:56:15 1.1 +++ /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java 2007/05/27 19:18:17 1.2 @@ -37,13 +37,31 @@ throws MobyException { MobyDateTime input = get_input_date (request); String date = input.getValue(); - outputContext.setServiceNotes ("This is a general service note."); outputContext.addException (ServiceException.info ("Input date was " + date), request); + + StringBuilder buf = new StringBuilder(); + buf.append ("This is a general service note.\n"); + buf.append ("HTTP Headers:\n"); + buf.append ("-------------\n"); + buf.append (getHTTPHeaders().toString()); + buf.append ("\n"); + buf.append ("Length: "); + buf.append (getRequestLength() + "\n"); + try { + buf.append ("Request URL: "); + buf.append (getServletRequest().getRequestURL().toString()); + buf.append ("\n"); + } catch (NullPointerException e) { + // can happen if the servlet request is not available + } + outputContext.setServiceNotes (buf.toString()); + SimpleDateFormat sdf = new SimpleDateFormat (MobyDateTime.FULL_FORMAT); MobyDateTime output = new MobyDateTime (); output.setValue (sdf.format (new Date())); set_output_date (response, output); + } } From senger at dev.open-bio.org Sun May 27 15:18:17 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 27 May 2007 15:18:17 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705271918.l4RJIHVp026893@dev.open-bio.org> senger Sun May 27 15:18:17 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/service In directory dev.open-bio.org:/tmp/cvs-serv26856/src/main/org/biomoby/service Modified Files: BaseService.java Log Message: moby-live/Java/src/main/org/biomoby/service BaseService.java,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/BaseService.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/BaseService.java 2006/04/29 21:22:30 1.7 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/BaseService.java 2007/05/27 19:18:17 1.8 @@ -21,9 +21,11 @@ import org.apache.axis.MessageContext; import javax.servlet.http.HttpServletRequest; -import java.util.Vector; +import java.util.ArrayList; +import java.util.List; import java.util.Properties; import java.util.Enumeration; +import java.util.Properties; /** * A base class for all Biomoby services (if their providers choose to @@ -160,13 +162,11 @@ // but I want to keep the constructor of this class without // any throwing exception, so I simulate here what toolkit can do if (toolkit == null) { - Vector v = new Vector(); + List v = new ArrayList(); Properties props = System.getProperties(); for (Enumeration en = props.propertyNames(); en.hasMoreElements(); ) - v.addElement (en.nextElement()); - String[] results = new String [v.size()]; - v.copyInto (results); - return results; + v.add ((String)en.nextElement()); + return v.toArray (new String[] {}); } return toolkit.getAttributeNames(); } @@ -204,6 +204,22 @@ } /************************************************************************** + * Returns a servlet request instance - the one that delivered a + * request to this service.

    + * + * @return a servlet request, or null if the request is not + * available + *************************************************************************/ + public HttpServletRequest getServletRequest() { + MessageContext ctx = MessageContext.getCurrentContext(); + if (ctx == null) + return null; + HttpServletRequest req = + (HttpServletRequest)ctx.getProperty (HTTPConstants.MC_HTTP_SERVLETREQUEST); + return req; + } + + /************************************************************************** * Returns the Internet Protocol (IP) address of the client or * last proxy that sent the request.

    * @@ -219,6 +235,57 @@ } /************************************************************************** + * Returns HTTP headers that were used when delivering a request + * to this services.

    + * + * @return a set of name-value pairs representinh HTTP headers; if + * the headers are not accessible, an empty set is returned (never + * null) + *************************************************************************/ + public Properties getHTTPHeaders() { + Properties headers = new Properties(); + MessageContext ctx = MessageContext.getCurrentContext(); + if (ctx == null) + return headers; + HttpServletRequest req = + (HttpServletRequest)ctx.getProperty (HTTPConstants.MC_HTTP_SERVLETREQUEST); + if (req == null) + return headers; + for (Enumeration en = req.getHeaderNames(); en.hasMoreElements(); ) { + String headerName = (String)en.nextElement(); + String headerValue = req.getHeader (headerName); + if (headerValue != null) + headers.put (headerName, headerValue); + } + return headers; + } + + /************************************************************************** + * Returns length (in bytes) of the request coming to this service.

    + * + * The length is taken from the HTTP headers. This is only a + * convenient method extracting one header from those available by + * the {@link #getHTTPHeaders getHTTPHeaders}. >p> + * + * @return a length of the request, or zero if the request length + * is not available + *************************************************************************/ + public int getRequestLength() { + MessageContext ctx = MessageContext.getCurrentContext(); + if (ctx == null) + return 0; + HttpServletRequest req = + (HttpServletRequest)ctx.getProperty (HTTPConstants.MC_HTTP_SERVLETREQUEST); + if (req == null) + return 0; + try { + return new Integer (req.getHeader ("content-length")).intValue(); + } catch (Exception e) { + return 0; + } + } + + /************************************************************************** * A utility method returning true if 'value' is neither null nor * a string consisting only from whitespaces. *************************************************************************/ From senger at dev.open-bio.org Sun May 27 15:18:17 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 27 May 2007 15:18:17 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705271918.l4RJIHGA026875@dev.open-bio.org> senger Sun May 27 15:18:17 EDT 2007 Update of /home/repository/moby/moby-live/Java/docs In directory dev.open-bio.org:/tmp/cvs-serv26856/docs Modified Files: ChangeLog Log Message: moby-live/Java/docs ChangeLog,1.78,1.79 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.78 retrieving revision 1.79 diff -u -r1.78 -r1.79 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/21 00:56:14 1.78 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/27 19:18:17 1.79 @@ -1,3 +1,9 @@ +2007-05-27 Martin Senger + + * Added: BaseService got new methods to access HTTP headers and + servlet environment of the request (getRequestLength(), + getHTTPHeaders(), getServletRequest()). + 2007-05-20 Martin Senger * Fixed: the date format of MobyDateTime is now fully compliant From senger at dev.open-bio.org Mon May 28 23:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pkPx029134@dev.open-bio.org> senger Mon May 28 23:51:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory dev.open-bio.org:/tmp/cvs-serv29045/src/main/org/biomoby/client Modified Files: BaseClient.java CentralDigestCachedImpl.java CentralDigestImpl.java CentralImpl.java Log Message: moby-live/Java/src/main/org/biomoby/client BaseClient.java,1.11,1.12 CentralDigestCachedImpl.java,1.18,1.19 CentralDigestImpl.java,1.12,1.13 CentralImpl.java,1.47,1.48 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/BaseClient.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/BaseClient.java 2006/07/07 04:12:39 1.11 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/BaseClient.java 2007/05/29 03:51:46 1.12 @@ -21,6 +21,8 @@ import org.tulsoft.tools.soap.axis.AxisCall; import org.tulsoft.shared.GException; +import org.apache.commons.lang.StringUtils; + import org.jdom.input.SAXBuilder; import org.jdom.Document; import org.jdom.Element; @@ -59,10 +61,10 @@ * *************************************************************************/ static protected boolean notEmpty (String value) { - return ( value != null && ! "".equals (value.trim()) ); + return StringUtils.isNotBlank (value); } static protected boolean isEmpty (String value) { - return ! notEmpty (value); + return StringUtils.isBlank (value); } /************************************************************************** =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java 2006/04/28 00:13:40 1.18 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java 2007/05/29 03:51:46 1.19 @@ -556,7 +556,9 @@ if (! currentFiles.contains (authority)) { // missing file: fetch it from a registry fireEvent (AUTHORITY_LOADING, authority); - String xml = getServicesAsXML (new MobyService (MobyService.DUMMY_NAME, authority), null, true, true); + MobyService pattern = new MobyService (MobyService.DUMMY_NAME, authority); + pattern.setCategory (""); + String xml = getServicesAsXML (pattern, null, true, true); store (servicesCache, authority, xml); fireEvent (AUTHORITY_LOADED, authority); if (stopS) { =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestImpl.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestImpl.java 2006/07/07 04:12:39 1.12 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestImpl.java 2007/05/29 03:51:46 1.13 @@ -174,7 +174,9 @@ fireEvent (AUTHORITY_LOADING, authority); String[] names = (String[])entry.getValue(); for (int i = 0; i < names.length; i++) { - MobyService[] servs = findService (new MobyService (names[i], authority)); + MobyService pattern = new MobyService (names[i], authority); + pattern.setCategory (""); + MobyService[] servs = findService (pattern); for (int j = 0; j < servs.length; j++) v.addElement (servs[j]); } =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2006/11/21 13:04:15 1.47 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2007/05/29 03:51:46 1.48 @@ -385,8 +385,10 @@ boolean expandObjects, boolean expandServices, boolean authoritative) { - if (service == null) + if (service == null) { service = new MobyService ("dummy"); + service.setCategory (""); + } StringBuffer buf = new StringBuffer(); buf.append ("\n\n"); @@ -1430,6 +1432,7 @@ if (serviceType == null) return new MobyService[] {}; MobyService pattern = new MobyService ("dummy"); + pattern.setCategory (""); pattern.setType (serviceType); return findService (pattern, null); } @@ -1469,8 +1472,10 @@ boolean includeChildrenServiceTypes, boolean includeParentDataTypes) throws MobyException { - if (pattern == null) + if (pattern == null) { pattern = new MobyService ("dummy"); + pattern.setCategory (""); + } String result = getServicesAsXML (pattern, keywords, includeChildrenServiceTypes, includeParentDataTypes); From senger at dev.open-bio.org Mon May 28 23:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pkG6029086@dev.open-bio.org> senger Mon May 28 23:51:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/Clients In directory dev.open-bio.org:/tmp/cvs-serv29045/src/Clients Modified Files: CreateMobyInput.java MobyCmdLineClient.java Log Message: moby-live/Java/src/Clients CreateMobyInput.java,1.8,1.9 MobyCmdLineClient.java,1.13,1.14 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/CreateMobyInput.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- /home/repository/moby/moby-live/Java/src/Clients/CreateMobyInput.java 2006/02/12 18:47:38 1.8 +++ /home/repository/moby/moby-live/Java/src/Clients/CreateMobyInput.java 2007/05/29 03:51:46 1.9 @@ -206,8 +206,9 @@ if (service != null) { MobyService mobyService = null; if (cachedir == null) { - MobyService[] services = - worker.findService (new MobyService (service)); + MobyService pattern = new MobyService (service); + pattern.setCategory (""); + MobyService[] services = worker.findService (pattern); if (services.length > 0) mobyService = services[0]; } else { =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2005/10/27 04:15:23 1.13 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2007/05/29 03:51:46 1.14 @@ -519,13 +519,19 @@ decorationLn ("--------------------"); int pos = param.indexOf (","); MobyService[] services; - if (pos == -1) - services = worker.findService (new MobyService (param)); - else if (pos == param.length() - 1) - services = worker.findService (new MobyService (param.substring (0, pos))); - else { - MobyService pattern = new MobyService (param.substring (0, pos)); + MobyService pattern = null; + if (pos == -1) { + pattern = new MobyService (param); + pattern.setCategory (""); + services = worker.findService (pattern); + } else if (pos == param.length() - 1) { + pattern = new MobyService (param.substring (0, pos)); + pattern.setCategory (""); + services = worker.findService (pattern); + } else { + pattern = new MobyService (param.substring (0, pos)); pattern.setAuthority (param.substring (pos+1)); + pattern.setCategory (""); services = worker.findService (pattern); } printServices (services, cmd.hasOption ("-on")); @@ -541,15 +547,26 @@ decorationLn ("Looking for services of type '" + param + "':"); decorationLn ("----------------------------"); MobyService pattern = new MobyService ("dummy"); + pattern.setCategory (""); pattern.setType (param); printServices (worker.findService (pattern, null, !cmd.hasOption ("-nc"), true), cmd.hasOption ("-on")); } + if ((param = cmd.getParam ("-fc")) != null ) { + decorationLn ("Looking for services of category '" + param + "':"); + decorationLn ("--------------------------------"); + MobyService pattern = new MobyService ("dummy"); + pattern.setCategory (param); + printServices (worker.findService (pattern, null, !cmd.hasOption ("-nc"), true), + cmd.hasOption ("-on")); + } + if (cmd.hasParam ("-fs-type") || cmd.hasParam ("-fs-auth") || cmd.hasParam ("-fs-in") || cmd.hasParam ("-fs-out")) { decorationLn ("Looking for services with the following pattern:"); MobyService pattern = new MobyService ("dummy"); + pattern.setCategory (""); pattern.setType (cmd.getParam ("-fs-type")); pattern.setAuthority (cmd.getParam ("-fs-auth")); if ((param = cmd.getParam ("-fs-in")) != null ) { @@ -613,16 +630,23 @@ String serviceName = null; int pos = params[0].indexOf (","); MobyService[] services; + MobyService pattern = null; if (pos == -1) { serviceName = params[0]; - services = worker.findService (new MobyService (params[0])); + pattern = new MobyService (serviceName); + pattern.setCategory (""); + services = worker.findService (pattern); + } else if (pos == params[0].length() - 1) { serviceName = params[0].substring (0, pos); - services = worker.findService (new MobyService (serviceName)); + pattern = new MobyService (serviceName); + pattern.setCategory (""); + services = worker.findService (pattern); } else { serviceName = params[0].substring (0, pos); - MobyService pattern = new MobyService (serviceName); + pattern = new MobyService (serviceName); pattern.setAuthority (params[0].substring (pos+1)); + pattern.setCategory (""); services = worker.findService (pattern); } if (services != null && services.length > 0) { @@ -693,7 +717,7 @@ if (services != null) { for (int i = 0; i < services.length; i++) { if (onlyNames) - System.out.println (services[i].getName()); + System.out.println (services[i].getUniqueName()); else System.out.println (services[i]); } From senger at dev.open-bio.org Mon May 28 23:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pkNh029064@dev.open-bio.org> senger Mon May 28 23:51:45 EDT 2007 Update of /home/repository/moby/moby-live/Java/docs In directory dev.open-bio.org:/tmp/cvs-serv29045/docs Modified Files: ChangeLog Log Message: moby-live/Java/docs ChangeLog,1.79,1.80 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/27 19:18:17 1.79 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/29 03:51:45 1.80 @@ -1,3 +1,15 @@ +2007-05-29 Martin Senger + + * Fixed: on various place where a service was looking for, the + used service pattern has now category empty (so not only services + with the default 'moby' category are found). + + * Changed: the output list with names of found services (created + by MobyCmdLineClient) contains now also service authority. + + * Added: MobyCmdLineClient has a new option -fc for finding + services by category. + 2007-05-27 Martin Senger * Added: BaseService got new methods to access HTTP headers and From senger at dev.open-bio.org Mon May 28 23:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pk3b029184@dev.open-bio.org> senger Mon May 28 23:51:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service In directory dev.open-bio.org:/tmp/cvs-serv29045/src/samples/org/jmoby/tutorial/service Modified Files: TestServiceNotesImpl.java Log Message: moby-live/Java/src/samples/org/jmoby/tutorial/service TestServiceNotesImpl.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java 2007/05/27 19:18:17 1.2 +++ /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java 2007/05/29 03:51:46 1.3 @@ -61,7 +61,6 @@ MobyDateTime output = new MobyDateTime (); output.setValue (sdf.format (new Date())); set_output_date (response, output); - } } From senger at dev.open-bio.org Mon May 28 23:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pkgM029104@dev.open-bio.org> senger Mon May 28 23:51:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory dev.open-bio.org:/tmp/cvs-serv29045/src/Clients/help Modified Files: MobyCmdLineClient_usage.txt Log Message: moby-live/Java/src/Clients/help MobyCmdLineClient_usage.txt,1.10,1.11 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2005/09/04 13:45:37 1.10 +++ /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2007/05/29 03:51:46 1.11 @@ -66,6 +66,9 @@ -ft find services of the given service type + -fc + find services of the given category + -f find services by keywords (apply logical OR if more keywords); is a comma-delimited lists of keywords From senger at dev.open-bio.org Mon May 28 23:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pkkr029160@dev.open-bio.org> senger Mon May 28 23:51:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/generator In directory dev.open-bio.org:/tmp/cvs-serv29045/src/main/org/biomoby/service/generator Modified Files: ServicesGenerator.java Log Message: moby-live/Java/src/main/org/biomoby/service/generator ServicesGenerator.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/generator/ServicesGenerator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/generator/ServicesGenerator.java 2005/11/07 07:03:50 1.3 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/generator/ServicesGenerator.java 2007/05/29 03:51:46 1.4 @@ -235,6 +235,7 @@ if (filteredIn (names[i], wantedService)) { MobyService patternService = new MobyService (names[i]); patternService.setAuthority (authority); + patternService.setCategory (""); MobyService[] services = findService (patternService, worker, allServices); for (int s = 0; s < services.length; s++) generateService (services[s], props, allServices, allDataTypes, serviceCount); From gordonp at dev.open-bio.org Tue May 29 19:49:32 2007 From: gordonp at dev.open-bio.org (Paul Gordon) Date: Tue, 29 May 2007 19:49:32 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705292349.l4TNnWQN031209@dev.open-bio.org> gordonp Tue May 29 19:49:32 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data In directory dev.open-bio.org:/tmp/cvs-serv31174/src/main/org/biomoby/shared/data Modified Files: MobyDataDateTime.java Log Message: Updates to fix timezone offsets from Zulu, which are now maintained. Ditched SimpleDateFormat and replaced with homegrown formatter. moby-live/Java/src/main/org/biomoby/shared/data MobyDataDateTime.java,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyDataDateTime.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyDataDateTime.java 2007/04/03 02:27:33 1.7 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyDataDateTime.java 2007/05/29 23:49:32 1.8 @@ -46,7 +46,7 @@ * @param stringISO8601 if null, the current local date and time is used */ public MobyDataDateTime(String articleName, String stringISO8601) throws IllegalArgumentException{ - super(articleName, stringISO8601); + super(articleName); setDataType(MobyDataType.getDataType("DateTime")); value = parseISO8601(stringISO8601); } @@ -59,7 +59,6 @@ super(articleName, ""); setDataType(MobyDataType.getDataType("DateTime")); value = cal; - ((StringBuffer) super.getObject()).append(toString()); // set string representation in case super.toXML() is called explicitly } public MobyDataDateTime(GregorianCalendar cal){ @@ -171,21 +170,25 @@ } boolean plus = tok.equals("+"); if (! st.hasMoreTokens()) { - throw new IllegalArgumentException("Missing hour field"); + throw new IllegalArgumentException("Missing hour field in timezone offset"); } - int tzhour = Integer.parseInt(st.nextToken()); - int tzmin = 0; + String tzhour = st.nextToken(); + String tzmin = "00"; if (check(st, ":") && (st.hasMoreTokens())) { - tzmin = Integer.parseInt(st.nextToken()); + tzmin = st.nextToken(); } else { - throw new IllegalArgumentException("Missing minute field"); + throw new IllegalArgumentException("Missing minute field in timezone offset"); } if (plus) { - calendar.add(Calendar.HOUR, tzhour); - calendar.add(Calendar.MINUTE, tzmin); + calendar.setTimeZone(TimeZone.getTimeZone("GMT+"+tzhour+":"+tzmin)); + calendar.add(Calendar.HOUR, Integer.parseInt(tzhour)); + calendar.add(Calendar.MINUTE, Integer.parseInt(tzmin)); + calendar.set(Calendar.DST_OFFSET, 0); //ISO8601 does not deal with DST } else { - calendar.add(Calendar.HOUR, -tzhour); - calendar.add(Calendar.MINUTE, -tzmin); + calendar.setTimeZone(TimeZone.getTimeZone("GMT-"+tzhour+":"+tzmin)); + calendar.add(Calendar.HOUR, Integer.parseInt("-"+tzhour)); + calendar.add(Calendar.MINUTE, Integer.parseInt("-"+tzmin)); + calendar.set(Calendar.DST_OFFSET, 0); } } } catch (NumberFormatException ex) { @@ -228,39 +231,39 @@ * <simon at jasmine.org.uk>. Does not yet deal with fractions * of seconds. *************************************************************************/ - public static String getString (GregorianCalendar value) { + public static String getString (GregorianCalendar cvalue) { - String timef = "'T'hh:mm:ss"; + String timef = "'T'HH:mm:ss"; String datef = "yyyy-MM-dd"; - String bothf = "yyyy-MM-dd'T'hh:mm:ss"; + String bothf = "yyyy-MM-dd'T'HH:mm:ss"; boolean doTimeZone = true; String format = bothf; // initially assume this is a date/time - if((value.isSet(Calendar.DAY_OF_MONTH) == false || value.get(Calendar.DAY_OF_MONTH) == 1) && - (value.isSet(Calendar.MONTH) == false || value.get(Calendar.MONTH) == 0) && - (value.isSet(Calendar.YEAR) == false || value.get(Calendar.YEAR) == 1970)){ + if((cvalue.isSet(Calendar.DAY_OF_MONTH) == false || cvalue.get(Calendar.DAY_OF_MONTH) == 1) && + (cvalue.isSet(Calendar.MONTH) == false || cvalue.get(Calendar.MONTH) == 0) && + (cvalue.isSet(Calendar.YEAR) == false || cvalue.get(Calendar.YEAR) == 1970)){ // it's highly probable that we're // looking at a time-of-day. format = timef; } else{ - if((value.isSet(Calendar.HOUR) == false || value.get(Calendar.HOUR) == 0) && - (value.isSet(Calendar.MINUTE) == false || value.get(Calendar.MINUTE) == 0) && - (value.isSet(Calendar.SECOND) == false || value.get(Calendar.SECOND) == 0)){ + if((cvalue.isSet(Calendar.HOUR) == false || cvalue.get(Calendar.HOUR) == 0) && + (cvalue.isSet(Calendar.MINUTE) == false || cvalue.get(Calendar.MINUTE) == 0) && + (cvalue.isSet(Calendar.SECOND) == false || cvalue.get(Calendar.SECOND) == 0)){ // It's highly probable that we're looking at a date format = datef; doTimeZone = false; } } - StringBuffer result = new StringBuffer((new SimpleDateFormat(format)).format(value.getTime())); + StringBuffer result = new StringBuffer((new SimpleDateFormat(format)).format(cvalue.getTime())); // We don't need to worry about timezone in date only strings but otherwise we do... if (doTimeZone){ - int offsetTotalMillis = value.get(java.util.Calendar.ZONE_OFFSET); + int offsetTotalMillis = cvalue.getTimeZone().getOffset(cvalue.getTime().getTime()); - // UTC + // UTC, a.k.a. Zulu time if (offsetTotalMillis == 0){ result.append("Z"); } @@ -269,24 +272,39 @@ DecimalFormat decf = new DecimalFormat("00"); int offsetTotalMinutes = offsetTotalMillis/60000; - int offsetMinutes = Math.abs( offsetTotalMinutes % 60); - int offsetHours = Math.abs( offsetTotalMinutes / 60); - String offsetString = "+"; - - if (offsetTotalMinutes < 0){ - offsetString = "-"; - } - result.append(offsetString).append(decf.format(offsetHours)); - - if (offsetMinutes > 0){ - result.append(decf.format(offsetMinutes)); - } + int offsetMinutes = offsetTotalMinutes % 60; + int offsetHours = offsetTotalMinutes / 60; + String offsetString = offsetTotalMinutes < 0 ? "-":"+"; + + // We will maintain the time zone data, so roll back/forward the clock to GMT, and append + // the offset data to the representation + cvalue.add(Calendar.MINUTE, -offsetMinutes); + cvalue.add(Calendar.HOUR_OF_DAY, -offsetHours); + result = new StringBuffer(formatDateTime(cvalue)); + // Reset, so we don't mess things up permanently for the given calendar + cvalue.add(Calendar.MINUTE, offsetMinutes); + cvalue.add(Calendar.HOUR_OF_DAY, offsetHours); + + result.append(offsetString).append(decf.format(Math.abs(offsetHours))); + result.append(":"+decf.format(Math.abs(offsetMinutes))); } } return result.toString(); } + protected static String formatDateTime(Calendar ctime){ + DecimalFormat decf = new DecimalFormat("00"); + return + ctime.get(Calendar.YEAR)+"-"+ + decf.format(ctime.get(Calendar.MONTH)+1)+"-"+ + decf.format(ctime.get(Calendar.DAY_OF_MONTH))+"T"+ + decf.format(ctime.get(Calendar.HOUR_OF_DAY))+":"+ + decf.format(ctime.get(Calendar.MINUTE))+":"+ + decf.format(ctime.get(Calendar.SECOND)); + } + + public Object clone(){ MobyDataDateTime copy = new MobyDataDateTime(getName(), getValue()); copy.setDataType(getDataType()); From gordonp at dev.open-bio.org Tue May 29 19:49:51 2007 From: gordonp at dev.open-bio.org (Paul Gordon) Date: Tue, 29 May 2007 19:49:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705292349.l4TNnpgm031251@dev.open-bio.org> gordonp Tue May 29 19:49:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test In directory dev.open-bio.org:/tmp/cvs-serv31217/src/main/org/biomoby/shared/data/test Log Message: Directory /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test added to the repository moby-live/Java/src/main/org/biomoby/shared/data/test - New directory rcsdiff: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test/RCS/directory,v: No such file or directory From gordonp at dev.open-bio.org Tue May 29 19:52:14 2007 From: gordonp at dev.open-bio.org (Paul Gordon) Date: Tue, 29 May 2007 19:52:14 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705292352.l4TNqEQD031311@dev.open-bio.org> gordonp Tue May 29 19:52:14 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test In directory dev.open-bio.org:/tmp/cvs-serv31280/src/main/org/biomoby/shared/data/test Added Files: MobyDataDateTimeTestCase.java Log Message: Test cases for MobyDataDateTime, built after timezone issues discovered by Ivan Parraga Garcia. Checks Central European and Newfoundland times, standard and daylight savings. moby-live/Java/src/main/org/biomoby/shared/data/test MobyDataDateTimeTestCase.java,NONE,1.1 From gordonp at dev.open-bio.org Wed May 30 13:44:19 2007 From: gordonp at dev.open-bio.org (Paul Gordon) Date: Wed, 30 May 2007 13:44:19 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705301744.l4UHiJQG000345@dev.open-bio.org> gordonp Wed May 30 13:44:19 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser In directory dev.open-bio.org:/tmp/cvs-serv309/src/main/org/biomoby/shared/parser Modified Files: ServiceException.java Log Message: Changed exception printing to toXMLString() so as not to collide with Martin's toXML(), which returns a DOM object moby-live/Java/src/main/org/biomoby/shared/parser ServiceException.java,1.12,1.13 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java 2007/05/21 00:56:15 1.12 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java 2007/05/30 17:44:19 1.13 @@ -479,26 +479,26 @@ return ex; } -// public String toXML(){ -// StringBuffer xml = new StringBuffer(" \n"); - -// xml.append(""+code+""); - -// if(getMessage() != null){ -// xml.append(" "+getMessage()+""); -// } + public String toXMLString(){ + StringBuffer xml = new StringBuffer(" \n"); + + xml.append(""+code+""); + + if(getMessage() != null){ + xml.append(" "+getMessage()+""); + } -// xml.append(" "); + xml.append(" "); -// return xml.toString(); -// } + return xml.toString(); + } } From gordonp at dev.open-bio.org Wed May 30 13:44:19 2007 From: gordonp at dev.open-bio.org (Paul Gordon) Date: Wed, 30 May 2007 13:44:19 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705301744.l4UHiJIl000363@dev.open-bio.org> gordonp Wed May 30 13:44:19 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data In directory dev.open-bio.org:/tmp/cvs-serv309/src/main/org/biomoby/shared/data Modified Files: MobyContentInstance.java Log Message: Changed exception printing to toXMLString() so as not to collide with Martin's toXML(), which returns a DOM object moby-live/Java/src/main/org/biomoby/shared/data MobyContentInstance.java,1.10,1.11 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyContentInstance.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyContentInstance.java 2007/03/30 19:48:37 1.10 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyContentInstance.java 2007/05/30 17:44:19 1.11 @@ -412,7 +412,7 @@ xml.append(""+serviceNotes +""); } for(int i = 0; i < exs.length; i++){ - xml.append(exs[i].toXML()); + xml.append(exs[i].toXMLString()); } xml.append(""); } From senger at dev.open-bio.org Thu May 31 09:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgphl001912@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory dev.open-bio.org:/tmp/cvs-serv1857/src/Clients/help Modified Files: MobyCmdLineClient_usage.txt Log Message: starting addign support for async services moby-live/Java/src/Clients/help MobyCmdLineClient_usage.txt,1.11,1.12 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2007/05/29 03:51:46 1.11 +++ /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2007/05/31 13:42:51 1.12 @@ -18,6 +18,10 @@ -uri is a URI defining Moby registry's namespace (default: http://mobycentral.icapture.ubc.ca/MOBY/Central) + or + -registry + is a convenient way to specify a known registry; + the list of known registries can be obtained by the -lr option where specify what to ask a Moby registry to do: @@ -30,6 +34,8 @@ -ln ... list names and descriptions of all namespaces -ld ... list names and descriptions of all data types -lu ... list URLs of RDF documents describing this registry + -lr ... list of known BioMoby registries + (with -on prints only names/synonyms of the registries) To get entities by their names: @@ -214,5 +220,7 @@ format of : service-name[,service-authority] +[Undocumented and 'in-the-progress' options: -async, -url .] + [Note: You can also use -argsfile to read arguments from a file. See details in src/Client/help/argsfile.example.] From senger at dev.open-bio.org Thu May 31 09:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgpj9001973@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared In directory dev.open-bio.org:/tmp/cvs-serv1857/src/main/org/biomoby/shared Modified Files: MobyService.java Log Message: starting addign support for async services moby-live/Java/src/main/org/biomoby/shared MobyService.java,1.17,1.18 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/MobyService.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/MobyService.java 2007/03/29 19:41:37 1.17 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/MobyService.java 2007/05/31 13:42:51 1.18 @@ -40,7 +40,7 @@ static public final String BIOMOBY_SERVICE_URI = "http://biomoby.org/"; protected String name; - protected String category = "moby"; + protected String category = CATEGORY_MOBY; protected String authority = ""; protected String emailContact = ""; protected String type = ""; @@ -61,6 +61,17 @@ public static final int TESTED = 8; // Gives a valid answer to a valid test input provided by the service protected int serviceStatus = UNCHECKED; protected int statusChecks = UNCHECKED; + + /** Name of a default category for BioMoby services. */ + public static final String CATEGORY_MOBY = "moby"; + + /** Name of a category for asynchornous BioMoby services. */ + public static final String CATEGORY_MOBY_ASYNC = "moby-async"; + + /** A suffix added to a service name in order to make a method + * name that submits input to an asynchronous service. + */ + public static final String SUBMIT_ACTION_SUFFIX = "_submit"; // We need both, because you can't synchrinize on a null array protected static MobyService[] uninitializedServices = new MobyService[0]; @@ -196,7 +207,7 @@ return category; } public void setCategory (String value) { - category = (value == null ? "moby" : value); + category = (value == null ? CATEGORY_MOBY : value); } public String getDescription() { @@ -529,6 +540,6 @@ } public boolean isAsynchronous(){ - return category.equals("moby-async"); + return category.equals (CATEGORY_MOBY_ASYNC); } } From senger at dev.open-bio.org Thu May 31 09:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgpgD001955@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta In directory dev.open-bio.org:/tmp/cvs-serv1857/src/main/org/biomoby/registry/meta Modified Files: Registry.java Log Message: starting addign support for async services moby-live/Java/src/main/org/biomoby/registry/meta Registry.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/Registry.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/Registry.java 2006/10/02 17:57:49 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/Registry.java 2007/05/31 13:42:51 1.2 @@ -68,7 +68,7 @@ * ********************************************************************/ public String toString() { - StringBuffer buf = new StringBuffer (200); + StringBuilder buf = new StringBuilder (200); String title = "Information about '" + getSynonym() + "' registry:"; buf.append (title); buf.append ("\n"); @@ -80,7 +80,7 @@ buf.append ("Contact: " + getContact() + "\n"); buf.append ("Public: " + new Boolean (isPublic()).toString() + "\n\n"); buf.append ("Description:\n" + getDescription() + "\n"); - return new String (buf); + return buf.toString(); } /********************************************************************* From senger at dev.open-bio.org Thu May 31 09:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgpMF001876@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/docs In directory dev.open-bio.org:/tmp/cvs-serv1857/docs Modified Files: ChangeLog Log Message: starting addign support for async services moby-live/Java/docs ChangeLog,1.80,1.81 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/29 03:51:45 1.80 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/31 13:42:51 1.81 @@ -1,5 +1,16 @@ +2007-05-31 Martin Senger + + * Added: few new constants into MobyService for async services + support + + * Added: starting to add support for the async services into + MobyCmdLineClient + 2007-05-29 Martin Senger + * Added: new options -lt and -registry to the MobyCmdLineClient + for easier selection which registry to use. + * Fixed: on various place where a service was looking for, the used service pattern has now category empty (so not only services with the default 'moby' category are found). From senger at dev.open-bio.org Thu May 31 09:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgpim001936@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory dev.open-bio.org:/tmp/cvs-serv1857/src/main/org/biomoby/client Modified Files: AsyncClient.java CentralImpl.java Log Message: starting addign support for async services moby-live/Java/src/main/org/biomoby/client AsyncClient.java,1.1,1.2 CentralImpl.java,1.48,1.49 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/AsyncClient.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/AsyncClient.java 2007/03/30 21:17:27 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/AsyncClient.java 2007/05/31 13:42:51 1.2 @@ -35,7 +35,6 @@ public static final String WSRP_PROPERTY_TAG_NAME = "ResourceProperty"; public static final String MOBY_SERVICE_INVOC_ID_TAG_NAME = "ServiceInvocationId"; - public static final String MOBY_SUBMIT_ACTION_CMD_SUFFIX = "_submit"; public static final String MOBY_RESULT_PROPERTY_PREFIX = "result_"; public static EndpointReference sendRequest(MobyService service, MobyContentInstance contents) throws Exception{ @@ -72,7 +71,7 @@ // Populate the body // Create the main element and namespace SOAPElement bodyElement = body.addChildElement(envelope.createName( - servicename + MOBY_SUBMIT_ACTION_CMD_SUFFIX, + servicename + MobyService.SUBMIT_ACTION_SUFFIX, MobyPrefixResolver.MOBY_TRANSPORT_PREFIX, MobyPrefixResolver.MOBY_TRANSPORT_NAMESPACE)); // Add content @@ -97,7 +96,7 @@ httpConn.setRequestProperty("Content-Type", CONTENT_TYPE); httpConn.setRequestProperty("User-agent", USER_AGENT); httpConn.setRequestProperty("SOAPAction", MobyPrefixResolver.MOBY_TRANSPORT_NAMESPACE+"#" - + servicename + MOBY_SUBMIT_ACTION_CMD_SUFFIX); + + servicename + MobyService.SUBMIT_ACTION_SUFFIX); httpConn.setRequestMethod("POST"); httpConn.setDoOutput(true); httpConn.setDoInput(true); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2007/05/29 03:51:46 1.48 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2007/05/31 13:42:51 1.49 @@ -24,6 +24,7 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; +import javax.xml.namespace.QName; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; @@ -35,6 +36,7 @@ import org.apache.axis.client.Service; import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -219,7 +221,12 @@ } catch (AxisFault e) { throw new MobyException - (endpoint.toString()+(call == null ? "" : call.getOperationName()), e); + (formatFault (e, + endpoint.toString(), + (call == null ? null : call.getOperationName())), + e); +// (endpoint.toString()+(call == null ? "" : call.getOperationName()), e); + } catch (Exception e) { throw new MobyException (e.toString(), e); // e.printStackTrace(); @@ -1873,5 +1880,46 @@ return (buffer == null) ? str : buffer.toString(); } + /************************************************************************* + * Format an exception. + *************************************************************************/ + public static String formatFault (AxisFault e, String endpoint, QName method) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + formatFault (e, new PrintStream (baos), endpoint, method); + return baos.toString(); + } + + /************************************************************************* + * Format an exception. + *************************************************************************/ + public static void formatFault (AxisFault e, PrintStream out, + String endpoint, QName method) { + + out.println ("===ERROR==="); + out.println ("Fault details:"); + // for some obvious errors I do not print all details (with a lenghty trace stack) + String faultString = e.getFaultString(); + if ( (! faultString.startsWith ("java.net.ConnectException")) && + (faultString.indexOf ("Could not find class for the service named:") == -1) + ) { + org.w3c.dom.Element[] details = e.getFaultDetails(); + for (int i = 0; i < details.length; i++) { + String s = details[i].toString().replaceAll ("<", "<"); + s = s.replaceAll (">", ">"); + out.println (s); + } + } + out.println ("Fault string: " + faultString); + out.println ("Fault code: " + e.getFaultCode()); + out.println ("Fault actor: " + e.getFaultActor()); + if (endpoint != null || method != null) + out.println ("When calling:"); + if (endpoint != null) + out.println ("\t" + endpoint); + if (method != null) + out.println ("\t" + method); + out.println ("==========="); + } + } From senger at dev.open-bio.org Thu May 31 09:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgplS001894@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/Clients In directory dev.open-bio.org:/tmp/cvs-serv1857/src/Clients Modified Files: MobyCmdLineClient.java Log Message: starting addign support for async services moby-live/Java/src/Clients MobyCmdLineClient.java,1.14,1.15 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2007/05/29 03:51:46 1.14 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2007/05/31 13:42:51 1.15 @@ -13,6 +13,10 @@ import org.tulsoft.shared.StringUtils; import org.tulsoft.shared.GException; +import org.biomoby.registry.meta.RegistriesList; +import org.biomoby.registry.meta.Registries; +import org.biomoby.registry.meta.Registry; + import java.util.*; import java.io.*; @@ -80,11 +84,23 @@ } verbose = !cmd.hasOption ("-q"); + String param; // where is a Moby registry - Central worker = new CentralImpl (cmd.getParam ("-e"), - cmd.getParam ("-uri")); - String param; + Central worker = null; + if ((param = cmd.getParam ("-registry")) == null) { + worker = new CentralImpl (cmd.getParam ("-e"), + cmd.getParam ("-uri")); + } else { + final Registries regList = RegistriesList.getInstance(); + Registry reg = regList.get (param); + if (reg == null) { + System.err.println ("ERROR: Failed to find registry " + param); + System.exit (1); + } + worker = new CentralImpl (reg.getEndpoint(), + reg.getNamespace()); + } if (cmd.hasOption ("-debug")) { worker.setDebug (true); @@ -185,6 +201,16 @@ } } + if (cmd.hasOption ("-lr")) { + boolean onlyNames = cmd.hasOption ("-on"); + decorationLn ("Known BioMoby Registries:"); + decorationLn ("-------------------------"); + final Registries regList = RegistriesList.getInstance(); + for (Registry reg: regList.getAll()) { + System.out.println (onlyNames ? reg.getSynonym() : reg.toString()); + } + } + // // retrieval of more complex entities // @@ -625,43 +651,51 @@ if ((params = cmd.getParam ("-scall", 2)) != null ) { if (params[0] != null && params[1] != null) { - // find URL of the wanted service - decorationLn ("Looking for service '" + params[0] + "':"); + // find name and URL of the wanted service String serviceName = null; + String authority = null; int pos = params[0].indexOf (","); - MobyService[] services; - MobyService pattern = null; if (pos == -1) { serviceName = params[0]; - pattern = new MobyService (serviceName); - pattern.setCategory (""); - services = worker.findService (pattern); - } else if (pos == params[0].length() - 1) { serviceName = params[0].substring (0, pos); - pattern = new MobyService (serviceName); - pattern.setCategory (""); - services = worker.findService (pattern); } else { serviceName = params[0].substring (0, pos); - pattern = new MobyService (serviceName); - pattern.setAuthority (params[0].substring (pos+1)); + authority = params[0].substring (pos+1); + } + String serviceURL = null; + String category = MobyService.CATEGORY_MOBY; + if ((serviceURL = cmd.getParam ("-url")) == null) { + // look in the registry + decorationLn ("Looking for service '" + params[0] + "':"); + MobyService pattern = new MobyService (serviceName, authority); pattern.setCategory (""); - services = worker.findService (pattern); + MobyService[] services = worker.findService (pattern); + if (services != null && services.length > 0) { + serviceURL = services[0].getURL(); + category = services[0].getCategory(); + } } - if (services != null && services.length > 0) { - String serviceURL = services[0].getURL(); - if (! serviceURL.equals ("")) { - - // call the service - decorationLn ("Calling service '" + serviceName + "' with the input from '" + params[1] + "':"); - if (new File (params[1]).exists()) - params[1] = FileUtils.getFile (params[1]); - decorationLn (params[1]); - decorationLn ("---------------"); - Central serviceWorker = new CentralImpl (serviceURL, "http://biomoby.org/"); - System.out.println (serviceWorker.call (serviceName, params[1])); + + if (! "".equals (serviceURL)) { + String methodName = null; + + if (MobyService.CATEGORY_MOBY_ASYNC.equals (category) || + cmd.hasOption ("-async")) { + methodName = serviceName + MobyService.SUBMIT_ACTION_SUFFIX; + } else { + methodName = serviceName; } + + // call the service + decorationLn ("Calling '" + methodName + + "' with the input from '" + params[1] + "':"); + if (new File (params[1]).exists()) + params[1] = FileUtils.getFile (params[1]); + decorationLn (params[1]); + decorationLn ("---------------"); + Central serviceWorker = new CentralImpl (serviceURL, "http://biomoby.org/"); + System.out.println (serviceWorker.call (methodName, params[1])); } } } From kawas at dev.open-bio.org Thu May 3 15:27:02 2007 From: kawas at dev.open-bio.org (Eddie Kawas) Date: Thu, 3 May 2007 11:27:02 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705031527.l43FR2Pe010085@dev.open-bio.org> kawas Thu May 3 11:27:01 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util In directory dev.open-bio.org:/tmp/cvs-serv10050/Java/src/main/org/biomoby/registry/rdfagent/util Modified Files: Constants.java Log Message: removed an orphaned property moby-live/Java/src/main/org/biomoby/registry/rdfagent/util Constants.java,1.15,1.16 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java 2006/09/05 19:24:06 1.15 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/rdfagent/util/Constants.java 2007/05/03 15:27:01 1.16 @@ -73,7 +73,7 @@ */ public static boolean REGISTRY_IGNORE_NULL = false; - public static boolean DUMP_SERVICE_LIST = false; + //public static boolean DUMP_SERVICE_LIST = false; /** * The passphrase that enables the agent to deregister from mobycentral. @@ -233,9 +233,6 @@ REGISTRY_IGNORE_NULL = extractBoolean(prop .getProperty("admin.registry.ignore.null")); - DUMP_SERVICE_LIST = extractBoolean(prop - .getProperty("agent.output.flatfiles")); - REGISTRY_KEYPHRASE = prop .getProperty("admin.registry.removal.keyphrase"); From kawas at dev.open-bio.org Wed May 9 13:09:54 2007 From: kawas at dev.open-bio.org (Eddie Kawas) Date: Wed, 9 May 2007 09:09:54 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705091309.l49D9sK6030026@dev.open-bio.org> kawas Wed May 9 09:09:53 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/scripts In directory dev.open-bio.org:/tmp/cvs-serv29991/Java/src/scripts Modified Files: testing-service.pl Log Message: explicilty cast the soap input as a string. seems like soap-lite doesnt properly guess the datatype ... moby-live/Java/src/scripts testing-service.pl,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/scripts/testing-service.pl,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/Java/src/scripts/testing-service.pl 2006/10/13 22:08:39 1.7 +++ /home/repository/moby/moby-live/Java/src/scripts/testing-service.pl 2007/05/09 13:09:53 1.8 @@ -113,7 +113,7 @@ } print $soap - -> $service ($input) + -> $service (SOAP::Data->type('string' => "$input")) -> result; } else { From mwilkinson at dev.open-bio.org Fri May 18 14:48:25 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 18 May 2007 10:48:25 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705181448.l4IEmPfv011393@dev.open-bio.org> mwilkinson Fri May 18 10:48:24 EDT 2007 Update of /home/repository/moby/moby-live/Docs/MOBY-S_API In directory dev.open-bio.org:/tmp/cvs-serv11374 Modified Files: index_API.html Log Message: fixed a link in the docs moby-live/Docs/MOBY-S_API index_API.html,1.12,1.13 =================================================================== RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/index_API.html,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Docs/MOBY-S_API/index_API.html 2006/11/21 23:04:27 1.12 +++ /home/repository/moby/moby-live/Docs/MOBY-S_API/index_API.html 2007/05/18 14:48:24 1.13 @@ -80,7 +80,7 @@ Central stores the object and services ontologies, and provides discovery services for service consumers. -

  • The service API, which +
  • The service API, which describes how to interact with a service provided under the MOBY framework: it describes what messages you can send to a service, how should they be structured, From senger at dev.open-bio.org Mon May 21 00:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFdm008375@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser In directory dev.open-bio.org:/tmp/cvs-serv8252/src/main/org/biomoby/shared/parser Modified Files: ServiceException.java Log Message: moby-live/Java/src/main/org/biomoby/shared/parser ServiceException.java,1.11,1.12 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java 2006/11/11 23:04:34 1.11 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java 2007/05/21 00:56:15 1.12 @@ -405,7 +405,7 @@ /************************************************************************** * *************************************************************************/ - public Element toDOM() { + public Element toXML() { Element elem = MobyPackage.getXMLElement (MobyTags.MOBYEXCEPTION); MobyPackage.setXMLAttribute (elem, MobyTags.SEVERITY, getSeverityAsString()); if (refQueryID != null) @@ -479,26 +479,26 @@ return ex; } - public String toXML(){ - StringBuffer xml = new StringBuffer(" \n"); - - xml.append(""+code+""); +// public String toXML(){ +// StringBuffer xml = new StringBuffer(" \n"); + +// xml.append(""+code+""); + +// if(getMessage() != null){ +// xml.append(" "+getMessage()+""); +// } - if(getMessage() != null){ - xml.append(" "+getMessage()+""); - } - - xml.append(" "); +// xml.append(" "); - return xml.toString(); - } +// return xml.toString(); +// } } From senger at dev.open-bio.org Mon May 21 00:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFpm008321@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta In directory dev.open-bio.org:/tmp/cvs-serv8252/src/main/org/biomoby/registry/meta Modified Files: RegistriesList.java Log Message: moby-live/Java/src/main/org/biomoby/registry/meta RegistriesList.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/RegistriesList.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/RegistriesList.java 2006/12/05 17:18:16 1.2 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/RegistriesList.java 2007/05/21 00:56:15 1.3 @@ -20,7 +20,8 @@ * Please edit this file if you want to have your BioMoby registry * visible to others (for example, in BioMoby Dashboard).

    * - * Or, you can also replace this implementation by your own, with your own list of registries + * Or, you can also replace this implementation by your own, with your + * own list of registries. * * @author Martin Senger * @version $Id$ @@ -53,6 +54,15 @@ "The MOBY registry at the International Rice Research Institute (IRRI) is intended mostly for Generation Challenge Program (GCP) developers. It allows the registration of experimental moby entities within GCP."), new Registry + ("INAB", + "http://moby-dev.inab.org/cgi-bin/MOBY-Central.pl", + "http://moby-dev.inab.org/MOBY/Central", + "INAB, Spain", + "", + true, + "The MOBY registry at the Instituto Nacional de Bioinform??tica, Spain."), + + new Registry ("testing", "http://bioinfo.icapture.ubc.ca/cgi-bin/mobycentral/MOBY-Central.pl", "http://bioinfo.icapture.ubc.ca/MOBY/Central", From senger at dev.open-bio.org Mon May 21 00:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFZo008339@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/dashboard/chooser In directory dev.open-bio.org:/tmp/cvs-serv8252/src/main/org/biomoby/service/dashboard/chooser Modified Files: DateTimeChooserEditor.java Log Message: moby-live/Java/src/main/org/biomoby/service/dashboard/chooser DateTimeChooserEditor.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/dashboard/chooser/DateTimeChooserEditor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/dashboard/chooser/DateTimeChooserEditor.java 2006/02/08 17:24:13 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/dashboard/chooser/DateTimeChooserEditor.java 2007/05/21 00:56:15 1.2 @@ -31,8 +31,8 @@ /** * A cell editor that invokes {@link DateTimeChooser} to get a * calendar GUI. The editor is supposed to be used for editing cells - * in JTable, and it complies wiht the Biomoby specification for - * dat-time formats.

    + * in JTable, and it complies with the Biomoby specification for + * date-time formats.

    * * @author Martin Senger * @version $Id$ From senger at dev.open-bio.org Mon May 21 00:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFVC008271@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/docs In directory dev.open-bio.org:/tmp/cvs-serv8252/docs Modified Files: ChangeLog Log Message: moby-live/Java/docs ChangeLog,1.77,1.78 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.77 retrieving revision 1.78 diff -u -r1.77 -r1.78 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/04/18 16:33:45 1.77 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/21 00:56:14 1.78 @@ -1,3 +1,11 @@ +2007-05-20 Martin Senger + + * Fixed: the date format of MobyDateTime is now fully compliant + with the ISO8601. + + * Fixed: method ServiceException.toXML() is back as it was + originally. Method ServiceException.toDOM() removed. + 2007-04-18 Paul Gordon * Added support for binary data file loading, and Web image display in Seahawk & ACDServlet From senger at dev.open-bio.org Mon May 21 00:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFn9008357@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/datatypes In directory dev.open-bio.org:/tmp/cvs-serv8252/src/main/org/biomoby/shared/datatypes Modified Files: MobyDateTime.java Log Message: moby-live/Java/src/main/org/biomoby/shared/datatypes MobyDateTime.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/datatypes/MobyDateTime.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/datatypes/MobyDateTime.java 2006/02/05 12:11:08 1.2 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/datatypes/MobyDateTime.java 2007/05/21 00:56:15 1.3 @@ -40,7 +40,7 @@ * A string defining (in symbols used in Java's SimpleDateFormat) * a full Biomoby DateTime format complying with ISO 8601. */ - public static final String FULL_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'Z"; + public static final String FULL_FORMAT = "yyyy-MM-dd'T'HH:mm:ssZ"; /** * An array defining all allowed formats for Biomoby DateTime @@ -57,7 +57,6 @@ "yyyy-MM-dd'T'HH:mm", "yyyy-MM-dd'T'HH:mm:ss", "yyyy-MM-dd'T'HH:mm:ss", - "yyyy-MM-dd'T'HH:mm:ss'Z'", FULL_FORMAT }; @@ -91,25 +90,45 @@ * Additionally to the same method in the superclass, it checks * for a correct format.

    * + * It also allows values with the time zone in the format "+hhmm" + * and "-hhmm" (instead of correct ones "+hh:mm" and + * "-hh:mm"). Such values are the result of SimpleDateFormat + * constructor when fed with the {@link #FULL_FORMAT}.

    + * * @param value to be stored; if it is null or an empty string it - * creates a date/time of the current moment + * creates a date/time of the current moment

    + * * @throws MobyException if the 'value' does not follow the ISO * 8601 specification *************************************************************************/ public void setValue (String value) throws MobyException { GregorianCalendar calendar; - if ( value == null || "".equals (value.trim()) ) { + if (value == null) { calendar = MobyDataDateTime.parseISO8601 (null); } else { - // validate - try { - calendar = MobyDataDateTime.parseISO8601 (value.trim()); - } catch (IllegalArgumentException e) { - throw new MobyException (MSG_NOT_VALID_DATE (getName(), value.trim())); + String tValue = value.trim(); + if ("".equals (tValue)) { + calendar = MobyDataDateTime.parseISO8601 (null); + } else { + // validate + try { + int len = tValue.length(); + if (len > 5 && + ( tValue.charAt (len - 5) == '+' || + tValue.charAt (len - 5) == '-' )) { + tValue = + tValue.substring (0, len - 2) + + ':' + + tValue.substring (len - 2); + } + calendar = MobyDataDateTime.parseISO8601 (tValue); + } catch (IllegalArgumentException e) { + throw new MobyException (MSG_NOT_VALID_DATE (getName(), tValue)); + } } } - super.setValue (MobyDataDateTime.getString (calendar)); + super.setValue (MobyDataDateTime.getString (calendar)); } } From senger at dev.open-bio.org Mon May 21 00:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFc8008303@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/Clients In directory dev.open-bio.org:/tmp/cvs-serv8252/src/Clients Added Files: TestDate.java Log Message: moby-live/Java/src/Clients TestDate.java,NONE,1.1 From senger at dev.open-bio.org Mon May 21 00:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFN8008289@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/docs/API In directory dev.open-bio.org:/tmp/cvs-serv8252/docs/API Modified Files: .cvsignore.template Log Message: moby-live/Java/docs/API .cvsignore.template,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/API/.cvsignore.template,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Java/docs/API/.cvsignore.template 2005/05/19 20:27:02 1.4 +++ /home/repository/moby/moby-live/Java/docs/API/.cvsignore.template 2007/05/21 00:56:15 1.5 @@ -5,4 +5,5 @@ class-use org embl +ca resources From senger at dev.open-bio.org Mon May 21 00:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFdN008390@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/client In directory dev.open-bio.org:/tmp/cvs-serv8252/src/samples/org/jmoby/tutorial/client Added Files: TestCreateGCP_LocusCollection.java.txt Removed Files: TestCreateGCP_LocusCollection.java Log Message: moby-live/Java/src/samples/org/jmoby/tutorial/client TestCreateGCP_LocusCollection.java.txt,NONE,1.1 TestCreateGCP_LocusCollection.java,1.1,NONE rcsdiff: /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/client/RCS/TestCreateGCP_LocusCollection.java,v: No such file or directory From senger at dev.open-bio.org Mon May 21 00:56:15 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:15 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uFfk008417@dev.open-bio.org> senger Sun May 20 20:56:15 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service In directory dev.open-bio.org:/tmp/cvs-serv8252/src/samples/org/jmoby/tutorial/service Added Files: TestServiceNotesImpl.java Log Message: moby-live/Java/src/samples/org/jmoby/tutorial/service TestServiceNotesImpl.java,NONE,1.1 From senger at dev.open-bio.org Mon May 21 00:56:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 20 May 2007 20:56:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705210056.l4L0uk56008472@dev.open-bio.org> senger Sun May 20 20:56:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/data In directory dev.open-bio.org:/tmp/cvs-serv8457/data Added Files: TestServiceNotes-input.xml Log Message: moby-live/Java/data TestServiceNotes-input.xml,NONE,1.1 From mwilkinson at dev.open-bio.org Thu May 24 17:50:37 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Thu, 24 May 2007 13:50:37 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705241750.l4OHobdk021458@dev.open-bio.org> mwilkinson Thu May 24 13:50:36 EDT 2007 Update of /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl In directory dev.open-bio.org:/tmp/cvs-serv21439/MOBY-S_API/Perl Modified Files: DiscoverService.html Log Message: fixed error in docs moby-live/Docs/MOBY-S_API/Perl DiscoverService.html,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/DiscoverService.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/DiscoverService.html 2007/02/19 22:36:12 1.2 +++ /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/DiscoverService.html 2007/05/24 17:50:36 1.3 @@ -73,7 +73,7 @@ use MOBY::Client::Central; my $m = MOBY::Client::Central->new; -my ($serv_instances, $reg) = $findService->( +my ($serv_instances, $reg) = $m->findService( authURI => "mydomain.mycompany.org", serviceName => "getGoTerm"); From mwilkinson at dev.open-bio.org Thu May 24 19:46:38 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Thu, 24 May 2007 15:46:38 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705241946.l4OJkcYu021627@dev.open-bio.org> mwilkinson Thu May 24 15:46:38 EDT 2007 Update of /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl In directory dev.open-bio.org:/tmp/cvs-serv21608/MOBY-S_API/Perl Modified Files: ExecuteSyncService.html Log Message: fixed error in docs moby-live/Docs/MOBY-S_API/Perl ExecuteSyncService.html,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/02/19 22:36:12 1.2 +++ /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/05/24 19:46:38 1.3 @@ -105,7 +105,7 @@ # we now have the WSDL description of the Service # we use this to create a MOBY::Client::Service object -my $SERV = MOBY::Client::Service->new(service => $SI); +my $SERV = MOBY::Client::Service->new(service => $wsdl); # the $SERV object knows everything it needs to know to interact with # that Moby Service, so all we have to do it provide the correct data From mwilkinson at dev.open-bio.org Thu May 24 19:56:48 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Thu, 24 May 2007 15:56:48 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705241956.l4OJumEY021668@dev.open-bio.org> mwilkinson Thu May 24 15:56:47 EDT 2007 Update of /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl In directory dev.open-bio.org:/tmp/cvs-serv21649/MOBY-S_API/Perl Modified Files: ExecuteSyncService.html Log Message: fixed error in docs moby-live/Docs/MOBY-S_API/Perl ExecuteSyncService.html,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/05/24 19:46:38 1.3 +++ /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/05/24 19:56:47 1.4 @@ -116,8 +116,8 @@ @single_invocation = ([$articleName, $inputdata1]); @multiple_invocation = ([$articleName, $inputdata1], [$articleName, $inputdata2]) -my $result1 = $SERV->execute(XMLInputList => \@single_invocation); -my $result2 = $SERV->execute(XMLInputList => \@multiple_invocation); +my $result1 = $SERV->execute(XMLinputlist => \@single_invocation); +my $result2 = $SERV->execute(XMLinputlist => \@multiple_invocation); # The content of $result is the raw XML of whatever the service provider # gave us. There are a variety of ways to deal with this data, or you From mwilkinson at dev.open-bio.org Fri May 25 13:22:56 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 09:22:56 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251322.l4PDMuWc023386@dev.open-bio.org> mwilkinson Fri May 25 09:22:56 EDT 2007 Update of /home/repository/moby/moby-live/Perl/MOBY In directory dev.open-bio.org:/tmp/cvs-serv23367/MOBY Modified Files: CommonSubs.pm Log Message: fixed documentation error moby-live/Perl/MOBY CommonSubs.pm,1.96,1.97 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm,v retrieving revision 1.96 retrieving revision 1.97 diff -u -r1.96 -r1.97 --- /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm 2007/02/09 00:27:07 1.96 +++ /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm 2007/05/25 13:22:56 1.97 @@ -38,7 +38,7 @@ my $responses = serviceResponseParser($resp); # returns MOBY objects foreach my $queryID(keys %$responses){ - $this_invocation = $inputs->{$queryID}; # this is the block with this queryID + $this_invocation = $responses->{$queryID}; # this is the block with this queryID my $this_output = ""; if (my $data = $this_invocation->{'responseArticleName'}){ From mwilkinson at dev.open-bio.org Fri May 25 13:25:14 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 09:25:14 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251325.l4PDPEAR023426@dev.open-bio.org> mwilkinson Fri May 25 09:25:14 EDT 2007 Update of /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl In directory dev.open-bio.org:/tmp/cvs-serv23407/MOBY-S_API/Perl Modified Files: ExecuteSyncService.html Log Message: fixed doc rendering of XML moby-live/Docs/MOBY-S_API/Perl ExecuteSyncService.html,1.4,1.5 =================================================================== RCS file: /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/05/24 19:56:47 1.4 +++ /home/repository/moby/moby-live/Docs/MOBY-S_API/Perl/ExecuteSyncService.html 2007/05/25 13:25:14 1.5 @@ -110,8 +110,8 @@ # that Moby Service, so all we have to do it provide the correct data my $articleName = -my $inputdata1 = ""; -my $inputdata2 = ""; +my $inputdata1 = ">Object namespace='GO' id='0050789'>"; +my $inputdata2 = ">Object namespace='GO' id='0050789'>"; @single_invocation = ([$articleName, $inputdata1]); @multiple_invocation = ([$articleName, $inputdata1], [$articleName, $inputdata2]) From mwilkinson at dev.open-bio.org Fri May 25 13:48:50 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 09:48:50 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251348.l4PDmoYh023955@dev.open-bio.org> mwilkinson Fri May 25 09:48:50 EDT 2007 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory dev.open-bio.org:/tmp/cvs-serv23936/MOBY/Client Modified Files: SimpleArticle.pm Log Message: namespacing of attributes was not being read properly moby-live/Perl/MOBY/Client SimpleArticle.pm,1.16,1.17 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2006/10/02 23:31:20 1.16 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2007/05/25 13:48:50 1.17 @@ -275,6 +275,7 @@ $self->articleName( "" ); $self->objectType( "" ); my $attr = $dom->getAttributeNode( 'articleName' ); + $attr ||= $dom->getAttributeNode( 'moby:articleName' ); my $articleName = $attr ? $attr->getValue : ""; $attr = $dom->getAttributeNode( 'lsid' ); my $lsid = $attr ? $attr->getValue : ""; From mwilkinson at dev.open-bio.org Fri May 25 13:57:23 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 09:57:23 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251357.l4PDvNNV024337@dev.open-bio.org> mwilkinson Fri May 25 09:57:23 EDT 2007 Update of /home/repository/moby/moby-live/Perl/MOBY In directory dev.open-bio.org:/tmp/cvs-serv24300/MOBY Modified Files: CommonSubs.pm Log Message: documentation errors moby-live/Perl/MOBY CommonSubs.pm,1.97,1.98 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm,v retrieving revision 1.97 retrieving revision 1.98 diff -u -r1.97 -r1.98 --- /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm 2007/05/25 13:22:56 1.97 +++ /home/repository/moby/moby-live/Perl/MOBY/CommonSubs.pm 2007/05/25 13:57:23 1.98 @@ -41,11 +41,13 @@ $this_invocation = $responses->{$queryID}; # this is the block with this queryID my $this_output = ""; - if (my $data = $this_invocation->{'responseArticleName'}){ + if (my $data = $this_invocation->{'responseArticleName'}){ # whatever your articleName is... # $data is a MOBY::Client::Simple|Collection|ParameterArticle my ($namespace) = @{$data->namespaces}; my $id = $data->id; - my $XML_LibXML = $input->XML_DOM; # get access to the DOM + my $XML_LibXML = $data->XML_DOM; # get access to the DOM + # assuming that you have an element of type "String" + # with articleName "Description" my $desc = getNodeContentWithArticle($XML_LibXML, "String", "Description"); ################### # DO SOMETHING TO RESPOSE DATA HERE From mwilkinson at dev.open-bio.org Fri May 25 13:58:51 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 09:58:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251358.l4PDwpVd024437@dev.open-bio.org> mwilkinson Fri May 25 09:58:51 EDT 2007 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory dev.open-bio.org:/tmp/cvs-serv24414/MOBY/Client Modified Files: CollectionArticle.pm SecondaryArticle.pm Log Message: more namespace parsing errors moby-live/Perl/MOBY/Client CollectionArticle.pm,1.16,1.17 SecondaryArticle.pm,1.13,1.14 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm 2006/05/30 18:56:16 1.16 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/CollectionArticle.pm 2007/05/25 13:58:51 1.17 @@ -263,6 +263,7 @@ $self->articleName( "" ); $self->Simples( [] ); my $attr = $dom->getAttributeNode( 'articleName' ); + $attr ||= $dom->getAttributeNode( 'moby:articleName' ); my $articleName = ""; $articleName = $attr->getValue if $attr; $self->articleName( $articleName ); =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm 2007/02/07 01:21:24 1.13 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SecondaryArticle.pm 2007/05/25 13:58:51 1.14 @@ -255,6 +255,7 @@ $self->articleName( "" ); $self->objectType( "" ); my $attr = $dom->getAttributeNode( 'articleName' ); + $attr ||= $dom->getAttributeNode( 'moby:articleName' ); $self->articleName( $attr ? $attr->getValue : "" ); if ( @{ $dom->getElementsByLocalName( 'Value' ) }[0] ) { return $self->_createInstantiatedArticle( $dom ); From mwilkinson at dev.open-bio.org Fri May 25 14:23:47 2007 From: mwilkinson at dev.open-bio.org (Mark Wilkinson) Date: Fri, 25 May 2007 10:23:47 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705251423.l4PENlwo024516@dev.open-bio.org> mwilkinson Fri May 25 10:23:47 EDT 2007 Update of /home/repository/moby/moby-live/Perl/MOBY/Client In directory dev.open-bio.org:/tmp/cvs-serv24497/MOBY/Client Modified Files: SimpleArticle.pm Log Message: more namespace parsing errors moby-live/Perl/MOBY/Client SimpleArticle.pm,1.17,1.18 =================================================================== RCS file: /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2007/05/25 13:48:50 1.17 +++ /home/repository/moby/moby-live/Perl/MOBY/Client/SimpleArticle.pm 2007/05/25 14:23:47 1.18 @@ -325,8 +325,10 @@ next unless $child->nodeType == ELEMENT_NODE; $self->objectType( $child->localname ); my $attr = $child->getAttributeNode( 'namespace' ); + $attr ||= $child->getAttributeNode( 'moby:namespace' ); $self->addNamespace( $attr->getValue ) if $attr; my $id = $child->getAttributeNode( 'id' ); + $id ||= $child->getAttributeNode( 'moby:id' ); $self->id( $id->getValue ) if $id; } return $self; From senger at dev.open-bio.org Sun May 27 19:18:17 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 27 May 2007 15:18:17 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705271918.l4RJIHG3026911@dev.open-bio.org> senger Sun May 27 15:18:17 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service In directory dev.open-bio.org:/tmp/cvs-serv26856/src/samples/org/jmoby/tutorial/service Modified Files: TestServiceNotesImpl.java Log Message: moby-live/Java/src/samples/org/jmoby/tutorial/service TestServiceNotesImpl.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java 2007/05/21 00:56:15 1.1 +++ /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java 2007/05/27 19:18:17 1.2 @@ -37,13 +37,31 @@ throws MobyException { MobyDateTime input = get_input_date (request); String date = input.getValue(); - outputContext.setServiceNotes ("This is a general service note."); outputContext.addException (ServiceException.info ("Input date was " + date), request); + + StringBuilder buf = new StringBuilder(); + buf.append ("This is a general service note.\n"); + buf.append ("HTTP Headers:\n"); + buf.append ("-------------\n"); + buf.append (getHTTPHeaders().toString()); + buf.append ("\n"); + buf.append ("Length: "); + buf.append (getRequestLength() + "\n"); + try { + buf.append ("Request URL: "); + buf.append (getServletRequest().getRequestURL().toString()); + buf.append ("\n"); + } catch (NullPointerException e) { + // can happen if the servlet request is not available + } + outputContext.setServiceNotes (buf.toString()); + SimpleDateFormat sdf = new SimpleDateFormat (MobyDateTime.FULL_FORMAT); MobyDateTime output = new MobyDateTime (); output.setValue (sdf.format (new Date())); set_output_date (response, output); + } } From senger at dev.open-bio.org Sun May 27 19:18:17 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 27 May 2007 15:18:17 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705271918.l4RJIHVp026893@dev.open-bio.org> senger Sun May 27 15:18:17 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/service In directory dev.open-bio.org:/tmp/cvs-serv26856/src/main/org/biomoby/service Modified Files: BaseService.java Log Message: moby-live/Java/src/main/org/biomoby/service BaseService.java,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/BaseService.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/BaseService.java 2006/04/29 21:22:30 1.7 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/BaseService.java 2007/05/27 19:18:17 1.8 @@ -21,9 +21,11 @@ import org.apache.axis.MessageContext; import javax.servlet.http.HttpServletRequest; -import java.util.Vector; +import java.util.ArrayList; +import java.util.List; import java.util.Properties; import java.util.Enumeration; +import java.util.Properties; /** * A base class for all Biomoby services (if their providers choose to @@ -160,13 +162,11 @@ // but I want to keep the constructor of this class without // any throwing exception, so I simulate here what toolkit can do if (toolkit == null) { - Vector v = new Vector(); + List v = new ArrayList(); Properties props = System.getProperties(); for (Enumeration en = props.propertyNames(); en.hasMoreElements(); ) - v.addElement (en.nextElement()); - String[] results = new String [v.size()]; - v.copyInto (results); - return results; + v.add ((String)en.nextElement()); + return v.toArray (new String[] {}); } return toolkit.getAttributeNames(); } @@ -204,6 +204,22 @@ } /************************************************************************** + * Returns a servlet request instance - the one that delivered a + * request to this service.

    + * + * @return a servlet request, or null if the request is not + * available + *************************************************************************/ + public HttpServletRequest getServletRequest() { + MessageContext ctx = MessageContext.getCurrentContext(); + if (ctx == null) + return null; + HttpServletRequest req = + (HttpServletRequest)ctx.getProperty (HTTPConstants.MC_HTTP_SERVLETREQUEST); + return req; + } + + /************************************************************************** * Returns the Internet Protocol (IP) address of the client or * last proxy that sent the request.

    * @@ -219,6 +235,57 @@ } /************************************************************************** + * Returns HTTP headers that were used when delivering a request + * to this services.

    + * + * @return a set of name-value pairs representinh HTTP headers; if + * the headers are not accessible, an empty set is returned (never + * null) + *************************************************************************/ + public Properties getHTTPHeaders() { + Properties headers = new Properties(); + MessageContext ctx = MessageContext.getCurrentContext(); + if (ctx == null) + return headers; + HttpServletRequest req = + (HttpServletRequest)ctx.getProperty (HTTPConstants.MC_HTTP_SERVLETREQUEST); + if (req == null) + return headers; + for (Enumeration en = req.getHeaderNames(); en.hasMoreElements(); ) { + String headerName = (String)en.nextElement(); + String headerValue = req.getHeader (headerName); + if (headerValue != null) + headers.put (headerName, headerValue); + } + return headers; + } + + /************************************************************************** + * Returns length (in bytes) of the request coming to this service.

    + * + * The length is taken from the HTTP headers. This is only a + * convenient method extracting one header from those available by + * the {@link #getHTTPHeaders getHTTPHeaders}. >p> + * + * @return a length of the request, or zero if the request length + * is not available + *************************************************************************/ + public int getRequestLength() { + MessageContext ctx = MessageContext.getCurrentContext(); + if (ctx == null) + return 0; + HttpServletRequest req = + (HttpServletRequest)ctx.getProperty (HTTPConstants.MC_HTTP_SERVLETREQUEST); + if (req == null) + return 0; + try { + return new Integer (req.getHeader ("content-length")).intValue(); + } catch (Exception e) { + return 0; + } + } + + /************************************************************************** * A utility method returning true if 'value' is neither null nor * a string consisting only from whitespaces. *************************************************************************/ From senger at dev.open-bio.org Sun May 27 19:18:17 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Sun, 27 May 2007 15:18:17 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705271918.l4RJIHGA026875@dev.open-bio.org> senger Sun May 27 15:18:17 EDT 2007 Update of /home/repository/moby/moby-live/Java/docs In directory dev.open-bio.org:/tmp/cvs-serv26856/docs Modified Files: ChangeLog Log Message: moby-live/Java/docs ChangeLog,1.78,1.79 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.78 retrieving revision 1.79 diff -u -r1.78 -r1.79 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/21 00:56:14 1.78 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/27 19:18:17 1.79 @@ -1,3 +1,9 @@ +2007-05-27 Martin Senger + + * Added: BaseService got new methods to access HTTP headers and + servlet environment of the request (getRequestLength(), + getHTTPHeaders(), getServletRequest()). + 2007-05-20 Martin Senger * Fixed: the date format of MobyDateTime is now fully compliant From senger at dev.open-bio.org Tue May 29 03:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pkPx029134@dev.open-bio.org> senger Mon May 28 23:51:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory dev.open-bio.org:/tmp/cvs-serv29045/src/main/org/biomoby/client Modified Files: BaseClient.java CentralDigestCachedImpl.java CentralDigestImpl.java CentralImpl.java Log Message: moby-live/Java/src/main/org/biomoby/client BaseClient.java,1.11,1.12 CentralDigestCachedImpl.java,1.18,1.19 CentralDigestImpl.java,1.12,1.13 CentralImpl.java,1.47,1.48 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/BaseClient.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/BaseClient.java 2006/07/07 04:12:39 1.11 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/BaseClient.java 2007/05/29 03:51:46 1.12 @@ -21,6 +21,8 @@ import org.tulsoft.tools.soap.axis.AxisCall; import org.tulsoft.shared.GException; +import org.apache.commons.lang.StringUtils; + import org.jdom.input.SAXBuilder; import org.jdom.Document; import org.jdom.Element; @@ -59,10 +61,10 @@ * *************************************************************************/ static protected boolean notEmpty (String value) { - return ( value != null && ! "".equals (value.trim()) ); + return StringUtils.isNotBlank (value); } static protected boolean isEmpty (String value) { - return ! notEmpty (value); + return StringUtils.isBlank (value); } /************************************************************************** =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java 2006/04/28 00:13:40 1.18 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestCachedImpl.java 2007/05/29 03:51:46 1.19 @@ -556,7 +556,9 @@ if (! currentFiles.contains (authority)) { // missing file: fetch it from a registry fireEvent (AUTHORITY_LOADING, authority); - String xml = getServicesAsXML (new MobyService (MobyService.DUMMY_NAME, authority), null, true, true); + MobyService pattern = new MobyService (MobyService.DUMMY_NAME, authority); + pattern.setCategory (""); + String xml = getServicesAsXML (pattern, null, true, true); store (servicesCache, authority, xml); fireEvent (AUTHORITY_LOADED, authority); if (stopS) { =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestImpl.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestImpl.java 2006/07/07 04:12:39 1.12 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralDigestImpl.java 2007/05/29 03:51:46 1.13 @@ -174,7 +174,9 @@ fireEvent (AUTHORITY_LOADING, authority); String[] names = (String[])entry.getValue(); for (int i = 0; i < names.length; i++) { - MobyService[] servs = findService (new MobyService (names[i], authority)); + MobyService pattern = new MobyService (names[i], authority); + pattern.setCategory (""); + MobyService[] servs = findService (pattern); for (int j = 0; j < servs.length; j++) v.addElement (servs[j]); } =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2006/11/21 13:04:15 1.47 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2007/05/29 03:51:46 1.48 @@ -385,8 +385,10 @@ boolean expandObjects, boolean expandServices, boolean authoritative) { - if (service == null) + if (service == null) { service = new MobyService ("dummy"); + service.setCategory (""); + } StringBuffer buf = new StringBuffer(); buf.append ("\n\n"); @@ -1430,6 +1432,7 @@ if (serviceType == null) return new MobyService[] {}; MobyService pattern = new MobyService ("dummy"); + pattern.setCategory (""); pattern.setType (serviceType); return findService (pattern, null); } @@ -1469,8 +1472,10 @@ boolean includeChildrenServiceTypes, boolean includeParentDataTypes) throws MobyException { - if (pattern == null) + if (pattern == null) { pattern = new MobyService ("dummy"); + pattern.setCategory (""); + } String result = getServicesAsXML (pattern, keywords, includeChildrenServiceTypes, includeParentDataTypes); From senger at dev.open-bio.org Tue May 29 03:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pkG6029086@dev.open-bio.org> senger Mon May 28 23:51:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/Clients In directory dev.open-bio.org:/tmp/cvs-serv29045/src/Clients Modified Files: CreateMobyInput.java MobyCmdLineClient.java Log Message: moby-live/Java/src/Clients CreateMobyInput.java,1.8,1.9 MobyCmdLineClient.java,1.13,1.14 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/CreateMobyInput.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- /home/repository/moby/moby-live/Java/src/Clients/CreateMobyInput.java 2006/02/12 18:47:38 1.8 +++ /home/repository/moby/moby-live/Java/src/Clients/CreateMobyInput.java 2007/05/29 03:51:46 1.9 @@ -206,8 +206,9 @@ if (service != null) { MobyService mobyService = null; if (cachedir == null) { - MobyService[] services = - worker.findService (new MobyService (service)); + MobyService pattern = new MobyService (service); + pattern.setCategory (""); + MobyService[] services = worker.findService (pattern); if (services.length > 0) mobyService = services[0]; } else { =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2005/10/27 04:15:23 1.13 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2007/05/29 03:51:46 1.14 @@ -519,13 +519,19 @@ decorationLn ("--------------------"); int pos = param.indexOf (","); MobyService[] services; - if (pos == -1) - services = worker.findService (new MobyService (param)); - else if (pos == param.length() - 1) - services = worker.findService (new MobyService (param.substring (0, pos))); - else { - MobyService pattern = new MobyService (param.substring (0, pos)); + MobyService pattern = null; + if (pos == -1) { + pattern = new MobyService (param); + pattern.setCategory (""); + services = worker.findService (pattern); + } else if (pos == param.length() - 1) { + pattern = new MobyService (param.substring (0, pos)); + pattern.setCategory (""); + services = worker.findService (pattern); + } else { + pattern = new MobyService (param.substring (0, pos)); pattern.setAuthority (param.substring (pos+1)); + pattern.setCategory (""); services = worker.findService (pattern); } printServices (services, cmd.hasOption ("-on")); @@ -541,15 +547,26 @@ decorationLn ("Looking for services of type '" + param + "':"); decorationLn ("----------------------------"); MobyService pattern = new MobyService ("dummy"); + pattern.setCategory (""); pattern.setType (param); printServices (worker.findService (pattern, null, !cmd.hasOption ("-nc"), true), cmd.hasOption ("-on")); } + if ((param = cmd.getParam ("-fc")) != null ) { + decorationLn ("Looking for services of category '" + param + "':"); + decorationLn ("--------------------------------"); + MobyService pattern = new MobyService ("dummy"); + pattern.setCategory (param); + printServices (worker.findService (pattern, null, !cmd.hasOption ("-nc"), true), + cmd.hasOption ("-on")); + } + if (cmd.hasParam ("-fs-type") || cmd.hasParam ("-fs-auth") || cmd.hasParam ("-fs-in") || cmd.hasParam ("-fs-out")) { decorationLn ("Looking for services with the following pattern:"); MobyService pattern = new MobyService ("dummy"); + pattern.setCategory (""); pattern.setType (cmd.getParam ("-fs-type")); pattern.setAuthority (cmd.getParam ("-fs-auth")); if ((param = cmd.getParam ("-fs-in")) != null ) { @@ -613,16 +630,23 @@ String serviceName = null; int pos = params[0].indexOf (","); MobyService[] services; + MobyService pattern = null; if (pos == -1) { serviceName = params[0]; - services = worker.findService (new MobyService (params[0])); + pattern = new MobyService (serviceName); + pattern.setCategory (""); + services = worker.findService (pattern); + } else if (pos == params[0].length() - 1) { serviceName = params[0].substring (0, pos); - services = worker.findService (new MobyService (serviceName)); + pattern = new MobyService (serviceName); + pattern.setCategory (""); + services = worker.findService (pattern); } else { serviceName = params[0].substring (0, pos); - MobyService pattern = new MobyService (serviceName); + pattern = new MobyService (serviceName); pattern.setAuthority (params[0].substring (pos+1)); + pattern.setCategory (""); services = worker.findService (pattern); } if (services != null && services.length > 0) { @@ -693,7 +717,7 @@ if (services != null) { for (int i = 0; i < services.length; i++) { if (onlyNames) - System.out.println (services[i].getName()); + System.out.println (services[i].getUniqueName()); else System.out.println (services[i]); } From senger at dev.open-bio.org Tue May 29 03:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pkNh029064@dev.open-bio.org> senger Mon May 28 23:51:45 EDT 2007 Update of /home/repository/moby/moby-live/Java/docs In directory dev.open-bio.org:/tmp/cvs-serv29045/docs Modified Files: ChangeLog Log Message: moby-live/Java/docs ChangeLog,1.79,1.80 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.79 retrieving revision 1.80 diff -u -r1.79 -r1.80 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/27 19:18:17 1.79 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/29 03:51:45 1.80 @@ -1,3 +1,15 @@ +2007-05-29 Martin Senger + + * Fixed: on various place where a service was looking for, the + used service pattern has now category empty (so not only services + with the default 'moby' category are found). + + * Changed: the output list with names of found services (created + by MobyCmdLineClient) contains now also service authority. + + * Added: MobyCmdLineClient has a new option -fc for finding + services by category. + 2007-05-27 Martin Senger * Added: BaseService got new methods to access HTTP headers and From senger at dev.open-bio.org Tue May 29 03:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pk3b029184@dev.open-bio.org> senger Mon May 28 23:51:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service In directory dev.open-bio.org:/tmp/cvs-serv29045/src/samples/org/jmoby/tutorial/service Modified Files: TestServiceNotesImpl.java Log Message: moby-live/Java/src/samples/org/jmoby/tutorial/service TestServiceNotesImpl.java,1.2,1.3 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java 2007/05/27 19:18:17 1.2 +++ /home/repository/moby/moby-live/Java/src/samples/org/jmoby/tutorial/service/TestServiceNotesImpl.java 2007/05/29 03:51:46 1.3 @@ -61,7 +61,6 @@ MobyDateTime output = new MobyDateTime (); output.setValue (sdf.format (new Date())); set_output_date (response, output); - } } From senger at dev.open-bio.org Tue May 29 03:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pkgM029104@dev.open-bio.org> senger Mon May 28 23:51:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory dev.open-bio.org:/tmp/cvs-serv29045/src/Clients/help Modified Files: MobyCmdLineClient_usage.txt Log Message: moby-live/Java/src/Clients/help MobyCmdLineClient_usage.txt,1.10,1.11 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2005/09/04 13:45:37 1.10 +++ /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2007/05/29 03:51:46 1.11 @@ -66,6 +66,9 @@ -ft find services of the given service type + -fc + find services of the given category + -f find services by keywords (apply logical OR if more keywords); is a comma-delimited lists of keywords From senger at dev.open-bio.org Tue May 29 03:51:46 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Mon, 28 May 2007 23:51:46 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705290351.l4T3pkkr029160@dev.open-bio.org> senger Mon May 28 23:51:46 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/generator In directory dev.open-bio.org:/tmp/cvs-serv29045/src/main/org/biomoby/service/generator Modified Files: ServicesGenerator.java Log Message: moby-live/Java/src/main/org/biomoby/service/generator ServicesGenerator.java,1.3,1.4 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/generator/ServicesGenerator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/generator/ServicesGenerator.java 2005/11/07 07:03:50 1.3 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/service/generator/ServicesGenerator.java 2007/05/29 03:51:46 1.4 @@ -235,6 +235,7 @@ if (filteredIn (names[i], wantedService)) { MobyService patternService = new MobyService (names[i]); patternService.setAuthority (authority); + patternService.setCategory (""); MobyService[] services = findService (patternService, worker, allServices); for (int s = 0; s < services.length; s++) generateService (services[s], props, allServices, allDataTypes, serviceCount); From gordonp at dev.open-bio.org Tue May 29 23:49:32 2007 From: gordonp at dev.open-bio.org (Paul Gordon) Date: Tue, 29 May 2007 19:49:32 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705292349.l4TNnWQN031209@dev.open-bio.org> gordonp Tue May 29 19:49:32 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data In directory dev.open-bio.org:/tmp/cvs-serv31174/src/main/org/biomoby/shared/data Modified Files: MobyDataDateTime.java Log Message: Updates to fix timezone offsets from Zulu, which are now maintained. Ditched SimpleDateFormat and replaced with homegrown formatter. moby-live/Java/src/main/org/biomoby/shared/data MobyDataDateTime.java,1.7,1.8 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyDataDateTime.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyDataDateTime.java 2007/04/03 02:27:33 1.7 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyDataDateTime.java 2007/05/29 23:49:32 1.8 @@ -46,7 +46,7 @@ * @param stringISO8601 if null, the current local date and time is used */ public MobyDataDateTime(String articleName, String stringISO8601) throws IllegalArgumentException{ - super(articleName, stringISO8601); + super(articleName); setDataType(MobyDataType.getDataType("DateTime")); value = parseISO8601(stringISO8601); } @@ -59,7 +59,6 @@ super(articleName, ""); setDataType(MobyDataType.getDataType("DateTime")); value = cal; - ((StringBuffer) super.getObject()).append(toString()); // set string representation in case super.toXML() is called explicitly } public MobyDataDateTime(GregorianCalendar cal){ @@ -171,21 +170,25 @@ } boolean plus = tok.equals("+"); if (! st.hasMoreTokens()) { - throw new IllegalArgumentException("Missing hour field"); + throw new IllegalArgumentException("Missing hour field in timezone offset"); } - int tzhour = Integer.parseInt(st.nextToken()); - int tzmin = 0; + String tzhour = st.nextToken(); + String tzmin = "00"; if (check(st, ":") && (st.hasMoreTokens())) { - tzmin = Integer.parseInt(st.nextToken()); + tzmin = st.nextToken(); } else { - throw new IllegalArgumentException("Missing minute field"); + throw new IllegalArgumentException("Missing minute field in timezone offset"); } if (plus) { - calendar.add(Calendar.HOUR, tzhour); - calendar.add(Calendar.MINUTE, tzmin); + calendar.setTimeZone(TimeZone.getTimeZone("GMT+"+tzhour+":"+tzmin)); + calendar.add(Calendar.HOUR, Integer.parseInt(tzhour)); + calendar.add(Calendar.MINUTE, Integer.parseInt(tzmin)); + calendar.set(Calendar.DST_OFFSET, 0); //ISO8601 does not deal with DST } else { - calendar.add(Calendar.HOUR, -tzhour); - calendar.add(Calendar.MINUTE, -tzmin); + calendar.setTimeZone(TimeZone.getTimeZone("GMT-"+tzhour+":"+tzmin)); + calendar.add(Calendar.HOUR, Integer.parseInt("-"+tzhour)); + calendar.add(Calendar.MINUTE, Integer.parseInt("-"+tzmin)); + calendar.set(Calendar.DST_OFFSET, 0); } } } catch (NumberFormatException ex) { @@ -228,39 +231,39 @@ * <simon at jasmine.org.uk>. Does not yet deal with fractions * of seconds. *************************************************************************/ - public static String getString (GregorianCalendar value) { + public static String getString (GregorianCalendar cvalue) { - String timef = "'T'hh:mm:ss"; + String timef = "'T'HH:mm:ss"; String datef = "yyyy-MM-dd"; - String bothf = "yyyy-MM-dd'T'hh:mm:ss"; + String bothf = "yyyy-MM-dd'T'HH:mm:ss"; boolean doTimeZone = true; String format = bothf; // initially assume this is a date/time - if((value.isSet(Calendar.DAY_OF_MONTH) == false || value.get(Calendar.DAY_OF_MONTH) == 1) && - (value.isSet(Calendar.MONTH) == false || value.get(Calendar.MONTH) == 0) && - (value.isSet(Calendar.YEAR) == false || value.get(Calendar.YEAR) == 1970)){ + if((cvalue.isSet(Calendar.DAY_OF_MONTH) == false || cvalue.get(Calendar.DAY_OF_MONTH) == 1) && + (cvalue.isSet(Calendar.MONTH) == false || cvalue.get(Calendar.MONTH) == 0) && + (cvalue.isSet(Calendar.YEAR) == false || cvalue.get(Calendar.YEAR) == 1970)){ // it's highly probable that we're // looking at a time-of-day. format = timef; } else{ - if((value.isSet(Calendar.HOUR) == false || value.get(Calendar.HOUR) == 0) && - (value.isSet(Calendar.MINUTE) == false || value.get(Calendar.MINUTE) == 0) && - (value.isSet(Calendar.SECOND) == false || value.get(Calendar.SECOND) == 0)){ + if((cvalue.isSet(Calendar.HOUR) == false || cvalue.get(Calendar.HOUR) == 0) && + (cvalue.isSet(Calendar.MINUTE) == false || cvalue.get(Calendar.MINUTE) == 0) && + (cvalue.isSet(Calendar.SECOND) == false || cvalue.get(Calendar.SECOND) == 0)){ // It's highly probable that we're looking at a date format = datef; doTimeZone = false; } } - StringBuffer result = new StringBuffer((new SimpleDateFormat(format)).format(value.getTime())); + StringBuffer result = new StringBuffer((new SimpleDateFormat(format)).format(cvalue.getTime())); // We don't need to worry about timezone in date only strings but otherwise we do... if (doTimeZone){ - int offsetTotalMillis = value.get(java.util.Calendar.ZONE_OFFSET); + int offsetTotalMillis = cvalue.getTimeZone().getOffset(cvalue.getTime().getTime()); - // UTC + // UTC, a.k.a. Zulu time if (offsetTotalMillis == 0){ result.append("Z"); } @@ -269,24 +272,39 @@ DecimalFormat decf = new DecimalFormat("00"); int offsetTotalMinutes = offsetTotalMillis/60000; - int offsetMinutes = Math.abs( offsetTotalMinutes % 60); - int offsetHours = Math.abs( offsetTotalMinutes / 60); - String offsetString = "+"; - - if (offsetTotalMinutes < 0){ - offsetString = "-"; - } - result.append(offsetString).append(decf.format(offsetHours)); - - if (offsetMinutes > 0){ - result.append(decf.format(offsetMinutes)); - } + int offsetMinutes = offsetTotalMinutes % 60; + int offsetHours = offsetTotalMinutes / 60; + String offsetString = offsetTotalMinutes < 0 ? "-":"+"; + + // We will maintain the time zone data, so roll back/forward the clock to GMT, and append + // the offset data to the representation + cvalue.add(Calendar.MINUTE, -offsetMinutes); + cvalue.add(Calendar.HOUR_OF_DAY, -offsetHours); + result = new StringBuffer(formatDateTime(cvalue)); + // Reset, so we don't mess things up permanently for the given calendar + cvalue.add(Calendar.MINUTE, offsetMinutes); + cvalue.add(Calendar.HOUR_OF_DAY, offsetHours); + + result.append(offsetString).append(decf.format(Math.abs(offsetHours))); + result.append(":"+decf.format(Math.abs(offsetMinutes))); } } return result.toString(); } + protected static String formatDateTime(Calendar ctime){ + DecimalFormat decf = new DecimalFormat("00"); + return + ctime.get(Calendar.YEAR)+"-"+ + decf.format(ctime.get(Calendar.MONTH)+1)+"-"+ + decf.format(ctime.get(Calendar.DAY_OF_MONTH))+"T"+ + decf.format(ctime.get(Calendar.HOUR_OF_DAY))+":"+ + decf.format(ctime.get(Calendar.MINUTE))+":"+ + decf.format(ctime.get(Calendar.SECOND)); + } + + public Object clone(){ MobyDataDateTime copy = new MobyDataDateTime(getName(), getValue()); copy.setDataType(getDataType()); From gordonp at dev.open-bio.org Tue May 29 23:49:51 2007 From: gordonp at dev.open-bio.org (Paul Gordon) Date: Tue, 29 May 2007 19:49:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705292349.l4TNnpgm031251@dev.open-bio.org> gordonp Tue May 29 19:49:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test In directory dev.open-bio.org:/tmp/cvs-serv31217/src/main/org/biomoby/shared/data/test Log Message: Directory /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test added to the repository moby-live/Java/src/main/org/biomoby/shared/data/test - New directory rcsdiff: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test/RCS/-,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test/RCS/New,v: No such file or directory rcsdiff: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test/RCS/directory,v: No such file or directory From gordonp at dev.open-bio.org Tue May 29 23:52:14 2007 From: gordonp at dev.open-bio.org (Paul Gordon) Date: Tue, 29 May 2007 19:52:14 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705292352.l4TNqEQD031311@dev.open-bio.org> gordonp Tue May 29 19:52:14 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/test In directory dev.open-bio.org:/tmp/cvs-serv31280/src/main/org/biomoby/shared/data/test Added Files: MobyDataDateTimeTestCase.java Log Message: Test cases for MobyDataDateTime, built after timezone issues discovered by Ivan Parraga Garcia. Checks Central European and Newfoundland times, standard and daylight savings. moby-live/Java/src/main/org/biomoby/shared/data/test MobyDataDateTimeTestCase.java,NONE,1.1 From gordonp at dev.open-bio.org Wed May 30 17:44:19 2007 From: gordonp at dev.open-bio.org (Paul Gordon) Date: Wed, 30 May 2007 13:44:19 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705301744.l4UHiJQG000345@dev.open-bio.org> gordonp Wed May 30 13:44:19 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser In directory dev.open-bio.org:/tmp/cvs-serv309/src/main/org/biomoby/shared/parser Modified Files: ServiceException.java Log Message: Changed exception printing to toXMLString() so as not to collide with Martin's toXML(), which returns a DOM object moby-live/Java/src/main/org/biomoby/shared/parser ServiceException.java,1.12,1.13 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java 2007/05/21 00:56:15 1.12 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/parser/ServiceException.java 2007/05/30 17:44:19 1.13 @@ -479,26 +479,26 @@ return ex; } -// public String toXML(){ -// StringBuffer xml = new StringBuffer(" \n"); - -// xml.append(""+code+""); - -// if(getMessage() != null){ -// xml.append(" "+getMessage()+""); -// } + public String toXMLString(){ + StringBuffer xml = new StringBuffer(" \n"); + + xml.append(""+code+""); + + if(getMessage() != null){ + xml.append(" "+getMessage()+""); + } -// xml.append(" "); + xml.append(" "); -// return xml.toString(); -// } + return xml.toString(); + } } From gordonp at dev.open-bio.org Wed May 30 17:44:19 2007 From: gordonp at dev.open-bio.org (Paul Gordon) Date: Wed, 30 May 2007 13:44:19 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705301744.l4UHiJIl000363@dev.open-bio.org> gordonp Wed May 30 13:44:19 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data In directory dev.open-bio.org:/tmp/cvs-serv309/src/main/org/biomoby/shared/data Modified Files: MobyContentInstance.java Log Message: Changed exception printing to toXMLString() so as not to collide with Martin's toXML(), which returns a DOM object moby-live/Java/src/main/org/biomoby/shared/data MobyContentInstance.java,1.10,1.11 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyContentInstance.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyContentInstance.java 2007/03/30 19:48:37 1.10 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/data/MobyContentInstance.java 2007/05/30 17:44:19 1.11 @@ -412,7 +412,7 @@ xml.append(""+serviceNotes +""); } for(int i = 0; i < exs.length; i++){ - xml.append(exs[i].toXML()); + xml.append(exs[i].toXMLString()); } xml.append(""); } From senger at dev.open-bio.org Thu May 31 13:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgphl001912@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/Clients/help In directory dev.open-bio.org:/tmp/cvs-serv1857/src/Clients/help Modified Files: MobyCmdLineClient_usage.txt Log Message: starting addign support for async services moby-live/Java/src/Clients/help MobyCmdLineClient_usage.txt,1.11,1.12 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2007/05/29 03:51:46 1.11 +++ /home/repository/moby/moby-live/Java/src/Clients/help/MobyCmdLineClient_usage.txt 2007/05/31 13:42:51 1.12 @@ -18,6 +18,10 @@ -uri is a URI defining Moby registry's namespace (default: http://mobycentral.icapture.ubc.ca/MOBY/Central) + or + -registry + is a convenient way to specify a known registry; + the list of known registries can be obtained by the -lr option where specify what to ask a Moby registry to do: @@ -30,6 +34,8 @@ -ln ... list names and descriptions of all namespaces -ld ... list names and descriptions of all data types -lu ... list URLs of RDF documents describing this registry + -lr ... list of known BioMoby registries + (with -on prints only names/synonyms of the registries) To get entities by their names: @@ -214,5 +220,7 @@ format of : service-name[,service-authority] +[Undocumented and 'in-the-progress' options: -async, -url .] + [Note: You can also use -argsfile to read arguments from a file. See details in src/Client/help/argsfile.example.] From senger at dev.open-bio.org Thu May 31 13:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgpj9001973@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared In directory dev.open-bio.org:/tmp/cvs-serv1857/src/main/org/biomoby/shared Modified Files: MobyService.java Log Message: starting addign support for async services moby-live/Java/src/main/org/biomoby/shared MobyService.java,1.17,1.18 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/MobyService.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/MobyService.java 2007/03/29 19:41:37 1.17 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/shared/MobyService.java 2007/05/31 13:42:51 1.18 @@ -40,7 +40,7 @@ static public final String BIOMOBY_SERVICE_URI = "http://biomoby.org/"; protected String name; - protected String category = "moby"; + protected String category = CATEGORY_MOBY; protected String authority = ""; protected String emailContact = ""; protected String type = ""; @@ -61,6 +61,17 @@ public static final int TESTED = 8; // Gives a valid answer to a valid test input provided by the service protected int serviceStatus = UNCHECKED; protected int statusChecks = UNCHECKED; + + /** Name of a default category for BioMoby services. */ + public static final String CATEGORY_MOBY = "moby"; + + /** Name of a category for asynchornous BioMoby services. */ + public static final String CATEGORY_MOBY_ASYNC = "moby-async"; + + /** A suffix added to a service name in order to make a method + * name that submits input to an asynchronous service. + */ + public static final String SUBMIT_ACTION_SUFFIX = "_submit"; // We need both, because you can't synchrinize on a null array protected static MobyService[] uninitializedServices = new MobyService[0]; @@ -196,7 +207,7 @@ return category; } public void setCategory (String value) { - category = (value == null ? "moby" : value); + category = (value == null ? CATEGORY_MOBY : value); } public String getDescription() { @@ -529,6 +540,6 @@ } public boolean isAsynchronous(){ - return category.equals("moby-async"); + return category.equals (CATEGORY_MOBY_ASYNC); } } From senger at dev.open-bio.org Thu May 31 13:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgpgD001955@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta In directory dev.open-bio.org:/tmp/cvs-serv1857/src/main/org/biomoby/registry/meta Modified Files: Registry.java Log Message: starting addign support for async services moby-live/Java/src/main/org/biomoby/registry/meta Registry.java,1.1,1.2 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/Registry.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/Registry.java 2006/10/02 17:57:49 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/registry/meta/Registry.java 2007/05/31 13:42:51 1.2 @@ -68,7 +68,7 @@ * ********************************************************************/ public String toString() { - StringBuffer buf = new StringBuffer (200); + StringBuilder buf = new StringBuilder (200); String title = "Information about '" + getSynonym() + "' registry:"; buf.append (title); buf.append ("\n"); @@ -80,7 +80,7 @@ buf.append ("Contact: " + getContact() + "\n"); buf.append ("Public: " + new Boolean (isPublic()).toString() + "\n\n"); buf.append ("Description:\n" + getDescription() + "\n"); - return new String (buf); + return buf.toString(); } /********************************************************************* From senger at dev.open-bio.org Thu May 31 13:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgpMF001876@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/docs In directory dev.open-bio.org:/tmp/cvs-serv1857/docs Modified Files: ChangeLog Log Message: starting addign support for async services moby-live/Java/docs ChangeLog,1.80,1.81 =================================================================== RCS file: /home/repository/moby/moby-live/Java/docs/ChangeLog,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/29 03:51:45 1.80 +++ /home/repository/moby/moby-live/Java/docs/ChangeLog 2007/05/31 13:42:51 1.81 @@ -1,5 +1,16 @@ +2007-05-31 Martin Senger + + * Added: few new constants into MobyService for async services + support + + * Added: starting to add support for the async services into + MobyCmdLineClient + 2007-05-29 Martin Senger + * Added: new options -lt and -registry to the MobyCmdLineClient + for easier selection which registry to use. + * Fixed: on various place where a service was looking for, the used service pattern has now category empty (so not only services with the default 'moby' category are found). From senger at dev.open-bio.org Thu May 31 13:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgpim001936@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/main/org/biomoby/client In directory dev.open-bio.org:/tmp/cvs-serv1857/src/main/org/biomoby/client Modified Files: AsyncClient.java CentralImpl.java Log Message: starting addign support for async services moby-live/Java/src/main/org/biomoby/client AsyncClient.java,1.1,1.2 CentralImpl.java,1.48,1.49 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/AsyncClient.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/AsyncClient.java 2007/03/30 21:17:27 1.1 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/AsyncClient.java 2007/05/31 13:42:51 1.2 @@ -35,7 +35,6 @@ public static final String WSRP_PROPERTY_TAG_NAME = "ResourceProperty"; public static final String MOBY_SERVICE_INVOC_ID_TAG_NAME = "ServiceInvocationId"; - public static final String MOBY_SUBMIT_ACTION_CMD_SUFFIX = "_submit"; public static final String MOBY_RESULT_PROPERTY_PREFIX = "result_"; public static EndpointReference sendRequest(MobyService service, MobyContentInstance contents) throws Exception{ @@ -72,7 +71,7 @@ // Populate the body // Create the main element and namespace SOAPElement bodyElement = body.addChildElement(envelope.createName( - servicename + MOBY_SUBMIT_ACTION_CMD_SUFFIX, + servicename + MobyService.SUBMIT_ACTION_SUFFIX, MobyPrefixResolver.MOBY_TRANSPORT_PREFIX, MobyPrefixResolver.MOBY_TRANSPORT_NAMESPACE)); // Add content @@ -97,7 +96,7 @@ httpConn.setRequestProperty("Content-Type", CONTENT_TYPE); httpConn.setRequestProperty("User-agent", USER_AGENT); httpConn.setRequestProperty("SOAPAction", MobyPrefixResolver.MOBY_TRANSPORT_NAMESPACE+"#" - + servicename + MOBY_SUBMIT_ACTION_CMD_SUFFIX); + + servicename + MobyService.SUBMIT_ACTION_SUFFIX); httpConn.setRequestMethod("POST"); httpConn.setDoOutput(true); httpConn.setDoInput(true); =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2007/05/29 03:51:46 1.48 +++ /home/repository/moby/moby-live/Java/src/main/org/biomoby/client/CentralImpl.java 2007/05/31 13:42:51 1.49 @@ -24,6 +24,7 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; +import javax.xml.namespace.QName; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; @@ -35,6 +36,7 @@ import org.apache.axis.client.Service; import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -219,7 +221,12 @@ } catch (AxisFault e) { throw new MobyException - (endpoint.toString()+(call == null ? "" : call.getOperationName()), e); + (formatFault (e, + endpoint.toString(), + (call == null ? null : call.getOperationName())), + e); +// (endpoint.toString()+(call == null ? "" : call.getOperationName()), e); + } catch (Exception e) { throw new MobyException (e.toString(), e); // e.printStackTrace(); @@ -1873,5 +1880,46 @@ return (buffer == null) ? str : buffer.toString(); } + /************************************************************************* + * Format an exception. + *************************************************************************/ + public static String formatFault (AxisFault e, String endpoint, QName method) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + formatFault (e, new PrintStream (baos), endpoint, method); + return baos.toString(); + } + + /************************************************************************* + * Format an exception. + *************************************************************************/ + public static void formatFault (AxisFault e, PrintStream out, + String endpoint, QName method) { + + out.println ("===ERROR==="); + out.println ("Fault details:"); + // for some obvious errors I do not print all details (with a lenghty trace stack) + String faultString = e.getFaultString(); + if ( (! faultString.startsWith ("java.net.ConnectException")) && + (faultString.indexOf ("Could not find class for the service named:") == -1) + ) { + org.w3c.dom.Element[] details = e.getFaultDetails(); + for (int i = 0; i < details.length; i++) { + String s = details[i].toString().replaceAll ("<", "<"); + s = s.replaceAll (">", ">"); + out.println (s); + } + } + out.println ("Fault string: " + faultString); + out.println ("Fault code: " + e.getFaultCode()); + out.println ("Fault actor: " + e.getFaultActor()); + if (endpoint != null || method != null) + out.println ("When calling:"); + if (endpoint != null) + out.println ("\t" + endpoint); + if (method != null) + out.println ("\t" + method); + out.println ("==========="); + } + } From senger at dev.open-bio.org Thu May 31 13:42:51 2007 From: senger at dev.open-bio.org (Martin Senger) Date: Thu, 31 May 2007 09:42:51 -0400 Subject: [MOBY-guts] biomoby commit Message-ID: <200705311342.l4VDgplS001894@dev.open-bio.org> senger Thu May 31 09:42:51 EDT 2007 Update of /home/repository/moby/moby-live/Java/src/Clients In directory dev.open-bio.org:/tmp/cvs-serv1857/src/Clients Modified Files: MobyCmdLineClient.java Log Message: starting addign support for async services moby-live/Java/src/Clients MobyCmdLineClient.java,1.14,1.15 =================================================================== RCS file: /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2007/05/29 03:51:46 1.14 +++ /home/repository/moby/moby-live/Java/src/Clients/MobyCmdLineClient.java 2007/05/31 13:42:51 1.15 @@ -13,6 +13,10 @@ import org.tulsoft.shared.StringUtils; import org.tulsoft.shared.GException; +import org.biomoby.registry.meta.RegistriesList; +import org.biomoby.registry.meta.Registries; +import org.biomoby.registry.meta.Registry; + import java.util.*; import java.io.*; @@ -80,11 +84,23 @@ } verbose = !cmd.hasOption ("-q"); + String param; // where is a Moby registry - Central worker = new CentralImpl (cmd.getParam ("-e"), - cmd.getParam ("-uri")); - String param; + Central worker = null; + if ((param = cmd.getParam ("-registry")) == null) { + worker = new CentralImpl (cmd.getParam ("-e"), + cmd.getParam ("-uri")); + } else { + final Registries regList = RegistriesList.getInstance(); + Registry reg = regList.get (param); + if (reg == null) { + System.err.println ("ERROR: Failed to find registry " + param); + System.exit (1); + } + worker = new CentralImpl (reg.getEndpoint(), + reg.getNamespace()); + } if (cmd.hasOption ("-debug")) { worker.setDebug (true); @@ -185,6 +201,16 @@ } } + if (cmd.hasOption ("-lr")) { + boolean onlyNames = cmd.hasOption ("-on"); + decorationLn ("Known BioMoby Registries:"); + decorationLn ("-------------------------"); + final Registries regList = RegistriesList.getInstance(); + for (Registry reg: regList.getAll()) { + System.out.println (onlyNames ? reg.getSynonym() : reg.toString()); + } + } + // // retrieval of more complex entities // @@ -625,43 +651,51 @@ if ((params = cmd.getParam ("-scall", 2)) != null ) { if (params[0] != null && params[1] != null) { - // find URL of the wanted service - decorationLn ("Looking for service '" + params[0] + "':"); + // find name and URL of the wanted service String serviceName = null; + String authority = null; int pos = params[0].indexOf (","); - MobyService[] services; - MobyService pattern = null; if (pos == -1) { serviceName = params[0]; - pattern = new MobyService (serviceName); - pattern.setCategory (""); - services = worker.findService (pattern); - } else if (pos == params[0].length() - 1) { serviceName = params[0].substring (0, pos); - pattern = new MobyService (serviceName); - pattern.setCategory (""); - services = worker.findService (pattern); } else { serviceName = params[0].substring (0, pos); - pattern = new MobyService (serviceName); - pattern.setAuthority (params[0].substring (pos+1)); + authority = params[0].substring (pos+1); + } + String serviceURL = null; + String category = MobyService.CATEGORY_MOBY; + if ((serviceURL = cmd.getParam ("-url")) == null) { + // look in the registry + decorationLn ("Looking for service '" + params[0] + "':"); + MobyService pattern = new MobyService (serviceName, authority); pattern.setCategory (""); - services = worker.findService (pattern); + MobyService[] services = worker.findService (pattern); + if (services != null && services.length > 0) { + serviceURL = services[0].getURL(); + category = services[0].getCategory(); + } } - if (services != null && services.length > 0) { - String serviceURL = services[0].getURL(); - if (! serviceURL.equals ("")) { - - // call the service - decorationLn ("Calling service '" + serviceName + "' with the input from '" + params[1] + "':"); - if (new File (params[1]).exists()) - params[1] = FileUtils.getFile (params[1]); - decorationLn (params[1]); - decorationLn ("---------------"); - Central serviceWorker = new CentralImpl (serviceURL, "http://biomoby.org/"); - System.out.println (serviceWorker.call (serviceName, params[1])); + + if (! "".equals (serviceURL)) { + String methodName = null; + + if (MobyService.CATEGORY_MOBY_ASYNC.equals (category) || + cmd.hasOption ("-async")) { + methodName = serviceName + MobyService.SUBMIT_ACTION_SUFFIX; + } else { + methodName = serviceName; } + + // call the service + decorationLn ("Calling '" + methodName + + "' with the input from '" + params[1] + "':"); + if (new File (params[1]).exists()) + params[1] = FileUtils.getFile (params[1]); + decorationLn (params[1]); + decorationLn ("---------------"); + Central serviceWorker = new CentralImpl (serviceURL, "http://biomoby.org/"); + System.out.println (serviceWorker.call (methodName, params[1])); } } }