[Seek-dev] updated ecogrid query client

Jing Tao tao at nceas.ucsb.edu
Thu Mar 24 10:19:14 PST 2005


Thanks, Bing! 

By the way, the digir serivce seems having some problem. would you mind 
taking a look?

Thanks.

Jing
On Wed, 23 Mar 2005, Bing Zhu wrote:

> Date: Wed, 23 Mar 2005 17:07:19 -0800
> From: Bing Zhu <bzhu at sdsc.edu>
> To: Jing Tao <tao at nceas.ucsb.edu>
> Cc: Arcot Rajasekar <sekar at sdsc.edu>, Matt Jones <jones at nceas.ucsb.edu>,
>      Seek-Dev <seek-dev at ecoinformatics.org>
> Subject: updated ecogrid query client
> 
> Jing,
> 
> The Ecogrid query client was modified so that it can talk to both
> factory Ecogrid service or a non-factory Ecogrid service (our previous
> approach) for backward compatibility.
> 
> The default mode is for a factory Ecogrid query service.
>   $ java EcogridQueryClient query query_doc_file $GSH
> 
> 
> To talk to a non-factory Ecogrid service, a Java property is used for
> Ecogrid client switching to non-factory mode. i.e.
>   $ java -DFACTORY=no EcogridQueryClient query query_doc_file $GSH
> 
> 
> Bing
> 
> 
> 
> 
> -----Original Message-----
> From: seek-cvs-admin at ecoinformatics.org
> [mailto:seek-cvs-admin at ecoinformatics.org]On Behalf Of Bing Zhu
> Sent: Wednesday, March 23, 2005 4:29 PM
> To: seek-cvs at ecoinformatics.org
> Subject: [seek-cvs]
> seek/projects/ecogrid/src/org/ecoinformatics/ecogrid/client
> EcogridQueryClient.java
> 
> 
> zhu         05/03/23 16:29:13
> 
>   Modified:    projects/ecogrid/src/org/ecoinformatics/ecogrid/client
>                         EcogridQueryClient.java
>   Log:
>   The client is modified for both a fcatory ecogrid query service and a
> non-factory ecogrid query service.
> 
>   Revision  Changes    Path
>   1.27      +49 -12
> seek/projects/ecogrid/src/org/ecoinformatics/ecogrid/client/EcogridQueryClie
> nt.java
> 
>   Index: EcogridQueryClient.java
>   ===================================================================
>   RCS file:
> /cvs/seek/projects/ecogrid/src/org/ecoinformatics/ecogrid/client/EcogridQuer
> yClient.java,v
>   retrieving revision 1.26
>   retrieving revision 1.27
>   diff -u -r1.26 -r1.27
>   --- EcogridQueryClient.java	3 Dec 2004 02:38:46 -0000	1.26
>   +++ EcogridQueryClient.java	24 Mar 2005 00:29:13 -0000	1.27
>   @@ -8,8 +8,8 @@
>     *    Release: @release@
>     *
>     *   '$Author: zhu $'
>   - *     '$Date: 2004/12/03 02:38:46 $'
>   - * '$Revision: 1.26 $'
>   + *     '$Date: 2005/03/24 00:29:13 $'
>   + * '$Revision: 1.27 $'
>     *
>     * This program is free software; you can redistribute it and/or modify
>     * it under the terms of the GNU General Public License as published by
>   @@ -24,6 +24,12 @@
>     * You should have received a copy of the GNU General Public License
>     * along with this program; if not, write to the Free Software
>     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
> USA
>   + * Modified on March 17, 2005.
>   + *    -- users can have a choice to run a client for a factorized service
> or
>   + *       a non-factorized service. The defaul is for a factorized
> service.
>   + *       To run a client for a non-facctory service, use -DFACTORY=no
>   + *       e.g.
>   + *           $ java -DFACTORY=no  EcogridQueryClient ...
>     */
> 
>    //package org.ecoinformatics.ecogrid.client;
>   @@ -80,17 +86,20 @@
>    {
>      private URL serviceURL = null;;
>      private EcoGridQueryInterfaceLevelOnePortType ecogrid = null;
>   +  private boolean fcatory_service = true;      // default is a factory
> service.
> 
>      public static void main(String[] args)
>      {
>         if(args.length <  1)
>         {
>   -        System.out.println("Usage: java
> org.ecoinformatics.ecogrid.client.EcogridQueryClient query local_filename
> GSH");
>   -        System.out.println("Usage: java
> org.ecoinformatics.ecogrid.client.EcogridQueryClient get ecogri_filename
> local_filename GSH");
>   +        System.out.println("Usage: java [-DFACTORY=no] EcogridQueryClient
> query local_filename GSH");
>   +        System.out.println("Usage: java [-DFACTORY=no] EcogridQueryClient
> get ecogri_filename local_filename GSH");
>            System.exit(0);
>         }
> 
>         String myOperation = args[0];
>   +     EcogridQueryClient client = new EcogridQueryClient();
>   +     client.checkEnvs();      // check if there is env to define a
> factory or non-factory service
> 
>         try
>         {
>   @@ -107,7 +116,7 @@
>                  }
> 
>                  GSH = new URL(args[2]);
>   -              EcogridQueryClient client = new EcogridQueryClient(GSH);
>   +              client.setGSH(GSH);
>                  client.createEcoGridQueryLevelOnePortType();
> 
>                  localFileName = args[1];
>   @@ -128,7 +137,7 @@
>                  }
> 
>                  GSH = new URL(args[3]);
>   -              EcogridQueryClient client = new EcogridQueryClient(GSH);
>   +              client.setGSH(GSH);
>                  client.createEcoGridQueryLevelOnePortType();
> 
>                  localFileName = args[2];
>   @@ -150,6 +159,7 @@
>         catch (Exception e)
>         {
>              System.out.println("Exception in main : "+ e.getMessage());
>   +          e.printStackTrace();
>         }
> 
>      }//main
>   @@ -158,11 +168,23 @@
>       * client constructor
>       * @param  serviceURL the url of service
>       */
>   -  public EcogridQueryClient(URL serviceURL)
>   +  void setGSH(URL gsh)
>      {
>   -    this.serviceURL = serviceURL;
>   +     this.serviceURL = gsh;
>      }//EcogridQueryClient
> 
>   +  void checkEnvs()
>   +  {
>   +      String str = System.getProperty("FACTORY");
>   +      if(str == null)
>   +        return;
>   +
>   +      if(str.compareToIgnoreCase("no") == 0)
>   +      {
>   +         fcatory_service = false;
>   +      }
>   +  }
>   +
>      /**
>       * Method to create in service instance
>       */
>   @@ -172,7 +194,7 @@
>        Factory factory = factoryService.getFactoryPort(serviceURL);
>        GridServiceFactory gridFactory = new GridServiceFactory(factory);
>        LocatorType locator = gridFactory.createService();
>   -    System.out.println("Created an instance of metacat ecogrid");
>   +    // System.out.println("Created an instance of metacat ecogrid");
>        return locator;
>      }//createServiceInstance
> 
>   @@ -210,6 +232,7 @@
>                                                     String tcpMonURL)
>                                                     throws Exception
>      {
>   +/*
>         String handle = getHandlerString(locator);
>         System.out.println("Handler for this instance is " + handle);
>         String hash = getHashFromHandle(handle);
>   @@ -222,6 +245,7 @@
> 
>         org.apache.axis.client.Stub stub =
> (org.apache.axis.client.Stub)ecogrid;
>         stub.setTimeout(1000000);
>   +*/
>      }//createEcoGridQueryPortLeveType
> 
>      /**
>   @@ -229,11 +253,24 @@
>       */
>      public void createEcoGridQueryLevelOnePortType() throws Exception
>      {
>   +     if(fcatory_service)
>   +     {
>   +        LocatorType locator = createServiceInstance();
> 
>   -     EcoGridQueryLevelOneServiceGridLocator loc =
>   +        EcoGridQueryLevelOneServiceGridLocator queryLocator =
>   +                                new
> EcoGridQueryLevelOneServiceGridLocator();
>   +        ecogrid
> =queryLocator.getEcoGridQueryLevelOneServicePort(locator);
>   +     }
>   +     else     // a non-fcatory service. no need to create an instance.
>   +     {
>   +        EcoGridQueryLevelOneServiceGridLocator loc =
>                                    new
> EcoGridQueryLevelOneServiceGridLocator();
>   -     ecogrid =loc.getEcoGridQueryLevelOneServicePort(serviceURL);
>   +        ecogrid =loc.getEcoGridQueryLevelOneServicePort(serviceURL);
>   +     }
>   +
>         org.apache.axis.client.Stub stub =
> (org.apache.axis.client.Stub)ecogrid;
>   +     stub.setTimeout(10000000);
>   +
>      }//createEcoGridQuery
> 
> 
> 
> 
> 
> _______________________________________________
> seek-cvs mailing list
> seek-cvs at ecoinformatics.org
> http://www.ecoinformatics.org/mailman/listinfo/seek-cvs
> 

-- 
Jing Tao
National Center for Ecological
Analysis and Synthesis (NCEAS)
735 State St. Suite 204
Santa Barbara, CA 93101



More information about the Seek-dev mailing list