Changeset 6465


Ignore:
Timestamp:
Jun 4, 2014, 2:41:12 PM (9 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #1798: Remove web services support

Location:
trunk
Files:
5 deleted
36 edited

Legend:

Unmodified
Added
Removed
  • trunk/.classpath

    r6464 r6465  
    44  <classpathentry kind="src" path="src/clients/jobagent"/>
    55  <classpathentry kind="src" path="src/clients/web"/>
    6   <classpathentry kind="src" path="src/info"/>
    76  <classpathentry kind="src" path="src/plugins/core"/>
    87  <classpathentry kind="src" path="src/test"/>
    9   <classpathentry kind="src" path="src/webservices/client/java"/>
    10   <classpathentry kind="src" path="src/webservices/server"/>
    118  <classpathentry kind="src" path="src/install"/>
    129  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
     
    2421  <classpathentry kind="lib" path="lib/dist/tar.jar"/>
    2522  <classpathentry kind="lib" path="lib/dist/commons-io-1.4.jar"/>
    26   <classpathentry kind="lib" path="lib/webservices/axiom-api-1.2.13.jar"/>
    27   <classpathentry kind="lib" path="lib/webservices/axis2-adb-1.6.2.jar"/>
    28   <classpathentry kind="lib" path="lib/webservices/axis2-kernel-1.6.2.jar"/>
    2923  <classpathentry kind="lib" path="lib/dist/commons-email-1.3.jar"/>
    3024  <classpathentry kind="lib" path="lib/dist/httpclient-4.2.3.jar"/>
  • trunk/build.xml

    r6461 r6465  
    4242    installprg:   Build installation programs for local use
    4343    jobagent:     Build jobagent for local use
    44     webservices:  Build webservices for local use
    4544    test:         Build test programs
    4645    web:          Build web client application for local use
     
    107106    </fileset>
    108107  </path>
    109 
    110   <path id="lib.webservices.classpath">
    111     <fileset dir="${lib}/webservices">
    112       <include name="**/*.jar"/>
    113     </fileset>
    114   </path>
    115108 
    116109  <path id="lib.svn.classpath">
     
    154147    classpathref="lib.svn.classpath"
    155148  />
    156 
    157   <taskdef
    158     name="java2WSDL"
    159     classname="org.apache.ws.java2wsdl.Java2WSDLTask"
    160     description="Task for creating wsdl files for the web services"
    161     >
    162     <classpath>
    163       <path refid="lib.dist.classpath" />
    164       <path refid="lib.webservices.classpath" />
    165       <pathelement location="config/local" />
    166       <pathelement location="config/dist" />
    167     </classpath>
    168   </taskdef>
    169149 
    170150  <!-- main targets -->
     
    177157      <fileset dir="${package}" defaultexcludes="no" />
    178158      <fileset dir="bin/jar" defaultexcludes="no" />
    179       <fileset dir="misc/wsdl" defaultexcludes="no" />
    180159      <fileset dir="www/WEB-INF/lib" defaultexcludes="no" />
    181160      <fileset dir="www/WEB-INF/classes" defaultexcludes="no" />
     
    192171  <target
    193172    name="dist"
    194     depends="clean,dist.init,core.jar,coreplugins.jar,web.jar,xjspcompiler,webservices.jar,webservices.wsdl,
     173    depends="clean,dist.init,core.jar,coreplugins.jar,web.jar,xjspcompiler,
    195174      installprg.jar,jobagent.jar,copy.config,copy.jar,doc,doc.dist"
    196175    description="Create everything needed for distribution"
     
    211190        <include name="sql/**/*" />
    212191        <include name="config/**/*" />
    213         <include name="wsdl/**/*" />
    214192      </fileset>
    215193    </copy>
     
    230208  <target
    231209    name="dev"
    232     depends="dev.init,core,coreplugins,web,webservices,installprg,jobagent,test"
     210    depends="dev.init,core,coreplugins,web,installprg,jobagent,test"
    233211    description="Create a runnable local installation"
    234212  />
     
    272250    >
    273251  </target>
    274  
    275   <target
    276     name="webservices"
    277     depends="core,web,webservices.jar,webservices.wsdl"
    278     description="Build webservices for local use"
    279   />
    280252 
    281253  <target
     
    315287    <property name="bin" location="${dist}/bin" />
    316288    <property name="doc" location="${dist}/doc" />
    317     <property name="plugins" location="${dist}/plugins" />
    318289    <mkdir dir="${jar}" />
    319290    <mkdir dir="${config}" />
     
    335306    <property name="bin" location="bin" />
    336307    <property name="doc" location="doc" />
    337     <property name="plugins" location="plugins" />
    338308    <mkdir dir="${bin}/jar" />
    339309    <mkdir dir="${jar}" />
     
    358328    description="Copies configuration files to the appropriate folder"
    359329    >
    360     <!-- move axis2.xml to the correct place -->
    361     <mkdir dir="${config}/../conf" />
    362     <move file="${config}/axis2.xml" todir="${config}/../conf" overwrite="true" />
    363330  </target>
    364331   
     
    405372        <include name="**/*" />
    406373      </fileset>
    407       <fileset dir="${lib}/webservices">
    408         <include name="**/*" />
    409       </fileset>
    410     </copy>
    411   </target>
    412 
    413   <!-- info targets -->
    414   <target
    415     name="info.init"
    416     >
    417     <property name="info.src" location="${src}/info"
    418       description="Location of info.* source files" />
    419     <property name="info.build" location="${build}/info"
    420       description="Location of compiled info.* files" />
    421   </target>
    422  
    423   <target
    424     name="info.compile"
    425     depends="info.init"
    426     description="Compile the info.* classes"
    427     >
    428     <mkdir dir="${info.build}"/>
    429     <javac
    430       srcdir="${info.src}"
    431       destdir="${info.build}"
    432       encoding="${javac.encoding}"
    433       debug="true"
    434       deprecation="true"
    435       source="${javac.source}"
    436       target="${javac.target}"
    437       bootclasspathref="lib.bootclasspath"
    438       includeantruntime="false"
    439       >
    440       <compilerarg value="${javac.arg}" />
    441     </javac>
    442   </target>
    443  
     374    </copy>
     375  </target>
     376
    444377  <!-- core targets -->
    445378  <target
    446379    name="core.init"
    447     depends="dev.init,info.init"
     380    depends="dev.init"
    448381    >
    449382    <property name="core.src" location="${src}/core"
     
    459392  <target
    460393    name="core.compile"
    461     depends="core.init,info.compile"
     394    depends="core.init"
    462395    description="Compile the core"
    463396    >
     
    697630  <target
    698631    name="test.init"
    699     depends="core.init,coreplugins.init,jobagent.init,webservices.init"
     632    depends="core.init,coreplugins.init,jobagent.init"
    700633    >
    701634    <property name="test.src" location="${src}/test"
     
    705638    <path id="test.classpath" description="Class path for compiling">
    706639      <path refid="core.classpath"/>
    707       <path refid="lib.webservices.classpath" />
    708640      <pathelement location="${core.build}" />
    709641      <pathelement location="${coreplugins.build}" />
    710642      <pathelement location="${jobagent.build}" />
    711       <pathelement location="${webservices.build}/server" />
    712       <pathelement location="${webservices.build}/client" />
    713643    </path>
    714644  </target>
     
    716646  <target
    717647    name="test.compile"
    718     depends="test.init,core.compile,coreplugins.compile,jobagent.compile,webservices.compile"
     648    depends="test.init,core.compile,coreplugins.compile,jobagent.compile"
    719649    description="Compile the test programs"
    720650    >
     
    906836    />
    907837  </target>
    908  
    909   <!-- webservices targets -->
    910   <target
    911     name="webservices.init"
    912     depends="core.init,coreplugins.init,web.init"
    913     >
    914     <property name="webservices.src" location="${src}/webservices"
    915       description="Location of source files" />
    916     <property name="webservices.build" location="${build}/webservices"
    917       description="Location of compiled files" />
    918     <property name="webservices.wsdlpath" location="misc/wsdl"
    919       description="Location of created wsdl-files" />
    920     <path id="webservices.server.classpath"
    921       description="Class path for compiling server part of webservices"
    922       >
    923       <path refid="lib.webservices.classpath" />
    924       <path refid="core.classpath"/>
    925       <pathelement location="${core.build}"/>
    926       <pathelement location="${coreplugins.build}"/>
    927       <pathelement location="${web.build}"/>
    928     </path>
    929     <path id="webservices.client.classpath"
    930       description="Class path for compiling client part of webservices"
    931       >
    932       <path refid="lib.webservices.classpath" />
    933       <pathelement location="${info.build}"/>
    934     </path>
    935   </target>
    936 
    937   <target
    938     name="check.wsdl"
    939     depends="webservices.init"
    940     >
    941     <uptodate
    942       property="nowsdl"
    943       >
    944       <srcfiles dir="${webservices.src}/server" includes="**/*.java" />
    945       <mapper type="merge" to="${webservices.wsdlpath}/SessionService.wsdl" />
    946     </uptodate>
    947     <condition property="wsdl.message"
    948       value="WSDL files are up to date; skipping"
    949       >
    950       <istrue value="${nowsdl}" />
    951     </condition>
    952     <condition property="wsdl.message"
    953       value="WSDL files may not be up to date; generating new"
    954       >
    955       <isfalse value="${nowsdl}" />
    956     </condition>
    957     <echo>${wsdl.message}</echo>
    958   </target>
    959  
    960   <target
    961     name="webservices.compile"
    962     depends="webservices.server.compile,webservices.client.compile"
    963     description="Compile the core web services"
    964     >
    965   </target>
    966  
    967   <target
    968     name="webservices.server.compile"
    969     description="Compile the server part of webservices"
    970     depends="webservices.init,core.compile,coreplugins.compile,web.compile"
    971     >
    972     <mkdir dir="${webservices.build}/server" />
    973     <javac
    974       destdir="${webservices.build}/server"
    975       classpathref="webservices.server.classpath"
    976       encoding="${javac.encoding}"
    977       debug="true"
    978       deprecation="true"
    979       source="${javac.source}"
    980       target="${javac.target}"
    981       bootclasspathref="lib.bootclasspath"
    982       includeantruntime="false"
    983       >
    984       <src path="${webservices.src}/server" />
    985       <compilerarg value="${javac.arg}" />
    986     </javac>
    987     <copy todir="${webservices.build}/server"
    988       description="Resource files needed by the webservices; excludes documentation and source files"
    989       includeEmptyDirs="false"
    990       >
    991       <fileset dir="${webservices.src}/server">
    992         <include name="**/*" />
    993         <exclude name="**/*.java" />
    994         <exclude name="**/doc-files/" />
    995         <exclude name="**/package.html" />
    996       </fileset>
    997     </copy>
    998   </target>
    999 
    1000   <target
    1001     name="webservices.client.compile"
    1002     description="Compile the client part of webservices"
    1003     depends="webservices.init,info.compile"
    1004     >
    1005     <mkdir dir="${webservices.build}/client" />
    1006     <javac
    1007       destdir="${webservices.build}/client"
    1008       classpathref="webservices.client.classpath"
    1009       encoding="${javac.encoding}"
    1010       debug="true"
    1011       deprecation="true"
    1012       source="${javac.source}"
    1013       target="${javac.target}"
    1014       bootclasspathref="lib.bootclasspath"
    1015       includeantruntime="false"
    1016       >
    1017       <src path="${webservices.src}/client/java" />
    1018       <compilerarg value="${javac.arg}" />
    1019     </javac>
    1020   </target>
    1021  
    1022   <target
    1023     name="webservices.wsdl"
    1024     description="Generate WSDL files for webservices"
    1025     depends="check.wsdl,webservices.compile"
    1026     unless="nowsdl"
    1027     >
    1028     <mkdir dir="${webservices.wsdlpath}" />
    1029     <webservices.wsdl serviceClassName="AnnotationTypeService"/>
    1030     <webservices.wsdl serviceClassName="ArrayDesignService"/>
    1031     <webservices.wsdl serviceClassName="BioAssaySetService"/>
    1032     <webservices.wsdl serviceClassName="ExperimentService"/>
    1033     <webservices.wsdl serviceClassName="FileService"/>
    1034     <webservices.wsdl serviceClassName="ProjectService"/>
    1035     <webservices.wsdl serviceClassName="RawBioAssayService"/>
    1036     <webservices.wsdl serviceClassName="ReporterService"/>
    1037     <webservices.wsdl serviceClassName="SessionService"/>
    1038   </target>
    1039  
    1040   <!-- Creates a WSDL file for a Webservice class -->
    1041     <macrodef name="webservices.wsdl">
    1042         <attribute name="serviceClassName"/>
    1043         <sequential>
    1044           <java2WSDL
    1045         classpath="${webservices.build}/server;${info.build};${core.build}:${web.build}"
    1046         className="net.sf.basedb.ws.server.@{serviceClassName}"
    1047         outputLocation="${webservices.wsdlpath}"     
    1048         serviceName="@{serviceClassName}"
    1049         outputFileName="@{serviceClassName}.wsdl"
    1050         >   
    1051       </java2WSDL>   
    1052         </sequential>
    1053     </macrodef>
    1054  
    1055   <target
    1056     name="webservices.jar"
    1057     depends="webservices.compile"
    1058     description="Create the core webservices aar file and client jar"
    1059     >
    1060     <mkdir dir="${config}/../services" />
    1061     <!-- server side: core.aar -->
    1062     <jar
    1063       basedir="${webservices.build}/server"
    1064       jarfile="${config}/../services/core.aar"
    1065     />
    1066     <!-- client side: base-webservices-client-a.b.c.jar -->
    1067     <jar
    1068       jarfile="${jar}/base-webservices-client-${base.version}.jar"
    1069       >
    1070       <fileset dir="${webservices.build}/client" />
    1071       <fileset dir="${info.build}" />
    1072     </jar>
    1073   </target>
    1074  
     838   
    1075839  <!-- installprg targets -->
    1076840  <target
     
    1181945      <path refid="core.classpath" />
    1182946      <path refid="lib.servlet.classpath" />
    1183       <path refid="lib.webservices.classpath" />
    1184947    </path>
    1185948    <property name="docbook.html.out" location="${doc}/html" />
     
    1189952  <target
    1190953    name="doc.javadoc"
    1191     depends="doc.init,core.init,coreplugins.init,web.init,jobagent.init,webservices.init"
     954    depends="doc.init,core.init,coreplugins.init,web.init,jobagent.init"
    1192955    description="Generate JavaDoc of entire API"
    1193956    >
     
    1202965    <javadoc
    1203966      packagenames="net.sf.basedb.*"
    1204       sourcepath="${info.src}:${core.src}:${coreplugins.src}:${web.src}:${xjspcompiler.src}:${jobagent.src}:${webservices.src}/server:${webservices.src}/client/java"
     967      sourcepath="${core.src}:${coreplugins.src}:${web.src}:${xjspcompiler.src}:${jobagent.src}"
    1205968      destdir="${doc}/api"
    1206969      author="true"
     
    1229992        <package name="net.sf.basedb.clients.web.taglib*" />
    1230993        <package name="net.sf.basedb.clients.web.extensions*" />
    1231         <package name="net.sf.basedb.ws.client" />
    1232994      </group>
    1233995      <group title="Mixed Public and Internal API">
     
    12421004        <package name="net.sf.basedb.util.extensions.manager.*" />
    12431005        <package name="net.sf.basedb.clients.jobagent" />
    1244         <package name="net.sf.basedb.ws.server*" />
    12451006      </group>
    12461007      <group title="Internal API">
  • trunk/config/dist/web.xml

    r6417 r6465  
    215215  </servlet-mapping>
    216216
    217   <!-- Axis2 servlets for web services -->
    218   <servlet>
    219     <display-name>Apache-Axis Servlet</display-name>
    220     <servlet-name>AxisServlet</servlet-name>
    221     <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
    222     <load-on-startup>3</load-on-startup>
    223   </servlet>
    224   <servlet>
    225     <display-name>Apache-Axis Servlet (REST)</display-name>
    226     <servlet-name>AxisRESTServlet</servlet-name>
    227     <servlet-class>org.apache.axis2.transport.http.AxisRESTServlet</servlet-class>
    228   </servlet>
    229   <servlet-mapping>
    230     <servlet-name>AxisRESTServlet</servlet-name>
    231     <url-pattern>/rest/*</url-pattern>
    232   </servlet-mapping>
    233   <servlet-mapping>
    234     <servlet-name>AxisServlet</servlet-name>
    235     <url-pattern>/services/*</url-pattern>
    236   </servlet-mapping>
    237  
    238217  <!-- Extensions servlet for managing extensions to the web client -->
    239218  <servlet>
  • trunk/doc/3rd-party-components.txt

    r6241 r6465  
    316316Files    : bzip2.jar
    317317
    318 Axis2
    319 -----
    320 A core engine for webservices from Apache.
    321 
    322 More info : http://ws.apache.org/axis2/
    323 Version   : 1.6.2
    324 License   : Apache License 2.0 (apache.license-2.0.txt)
    325 Files     : Everything in the /lib/webservices directory
    326           : antlr-2.7.7.jar
    327318
    328319SecondString
  • trunk/doc/src/docbook/appendix/update_warnings.xml

    r6434 r6465  
    3636  </para>
    3737 
     38  <sect1 id="appendix.update_warnings.3.4">
     39    <title>BASE 3.4</title>
     40   
     41    <bridgehead>Web services support has been removed</bridgehead>
     42    <para>
     43      As announced earlier web services support has been removed in BASE 3.4.
     44      If anyone require web services support or similar we recommend using the BASE
     45      extensions mechanism to implement exactly what is needed for that project and
     46      we also beleive that a simplier API such as JSON is preferable.
     47    </para>
     48   
     49  </sect1>
    3850 
    3951  <sect1 id="appendix.update_warnings.3.3">
  • trunk/doc/src/docbook/appendix/web.xml.xml

    r6417 r6465  
    135135        Servlet for generating a RSS feed for the news on the front page.
    136136        Comment out this servlet if you do not want to use the RSS feed.
    137         </para>
    138       </listitem>
    139     </varlistentry>
    140 
    141  
    142     <varlistentry>
    143       <term><sgmltag class="starttag">servlet</sgmltag>: AxisServlet/AxisRESTServlet</term>
    144       <listitem>
    145         <para>
    146         Servlet handling web service requests. If you are not planning to access
    147         your BASE installation using web services these servlets may be disabled.
    148137        </para>
    149138      </listitem>
  • trunk/doc/src/docbook/developer/overview.xml

    r5816 r6465  
    450450        <listitem>
    451451          <para>
    452           <xref linkend="webservices" />
    453           </para>
    454         </listitem>
    455         <listitem>
    456           <para>
    457452          <xref linkend="extensions_developer" />
    458453          </para>
     
    461456          <para>
    462457          The <ulink url="http://baseplugins.thep.lu.se">BASE plug-ins site</ulink> also
    463           has examples of extensions and web services implementations.
     458          has examples of extensions.
    464459          </para>
    465460        </listitem>
  • trunk/doc/src/docbook/developer/webservices.xml

    r6434 r6465  
    2828  <?dbhtml filename="webservices.html" ?>
    2929  <title>Web services</title>
    30   <para>
    31     This chapter is an introduction of web services in BASE. It is recommended to begin your
    32     reading with the first section in this chapter and then you can move on to either the second
    33     section for more information how to develop client applications, or to the third section if
    34     you think there are some services missing and you want to know how to proceed to develop a
    35     new one.
    36   </para>
    3730 
    3831  <important>
    39     <title>Web services support has been deprecated in BASE 3.3</title>
     32    <title>Web services support has been removed in BASE 3.4</title>
    4033    <para>
    41       The current implementation is most likely not very useful and has limited
    42       support for accessing information in BASE. Therefore it has been decided to
     34      The old implementation was most likely not very useful and had limited
     35      support for accessing information in BASE. Therefore it was decided to
    4336      remove the web services support in BASE 3.4. If anyone require web services
    4437      support or similar we recommend using the BASE extensions mechanism to implement
     
    4740    </para>
    4841  </important>
    49 
    50   <para>
    51     Before moving on to develop client applications or new services there are few things that
    52     need to be explained first.
    53     <orderedlist>
    54       <listitem>
    55         <para>
    56           Items in BASE are not send directly by the web services, most of them are to
    57           complex for this should be possible. Instead is each item type represented by
    58           an info class that can hold the type's less complex properties.
    59         </para>
    60       </listitem>
    61       <listitem>
    62         <para>
    63           BASE offers a way for services to allow the client applications to put their own
    64           includes and restrictions on a query before it is executed. For those who intend
    65           to develop services it is recommended to have a look in javadoc for the
    66           <classname docapi="net.sf.basedb.info">QueryOptions</classname> class.
    67           This is on the first hand for the service developers but it can be useful for
    68           client developers to also know that this may be available in some services.
    69         </para>
    70       </listitem>
    71     </orderedlist>
    72   </para>
    73 
    74   <sect1 id="webservices.available_services">
    75     <title>Available services</title>
    76     <para>
    77       Web services can, at the moment, be used to provide some information and data related to
    78       experiments in BASE, for example, information about raw bioassays or bioassay set data.
    79       The subsection below gives an overview of the services that are currently present in
    80       BASE short description for each. More detailed information
    81       can be found in the javadoc and WSDL-files. Each service has it's own class and WSDL-file.
    82     </para>
    83 
    84     <sect2 id="webservices.available_services.services">
    85       <title>Services</title>
    86       <variablelist>
    87         <varlistentry>
    88           <term><classname docapi="net.sf.basedb.ws.server">SessionService</classname></term>
    89           <term><classname docapi="net.sf.basedb.ws.client">SessionClient</classname></term>
    90           <listitem>
    91             <para>
    92               Provides methods to manage a sessions. This is the main entry point
    93               to the BASE web services. This contains methods for logging in and out
    94               and keeping the session alive to avoid automatic logout due
    95               to inactivity.
    96             </para>
    97           </listitem>
    98         </varlistentry>
    99 
    100         <varlistentry>
    101           <term><classname docapi="net.sf.basedb.ws.server">ProjectService</classname></term>         
    102           <term><classname docapi="net.sf.basedb.ws.client">ProjectClient</classname></term>
    103           <listitem>
    104             <para>
    105               Service related to projects. You can list available projects
    106               and select one to use as the active project.
    107             </para>
    108           </listitem>
    109         </varlistentry>
    110        
    111         <varlistentry>
    112           <term><classname docapi="net.sf.basedb.ws.server">ExperimentService</classname></term>
    113           <term><classname docapi="net.sf.basedb.ws.client">ExperimentClient</classname></term>
    114           <listitem>
    115             <para>
    116               Service related to experiments. List your experiments and
    117               find out which raw bioassays that are part of it and
    118               which bioassay sets have been created as part of the analysis.
    119               Find reporter lists that are part of the experiment and
    120               get information about the experimental factors.
    121             </para>
    122           </listitem>
    123         </varlistentry>
    124        
    125         <varlistentry>
    126           <term><classname docapi="net.sf.basedb.ws.server">BioAssaySetService</classname></term>
    127           <term><classname docapi="net.sf.basedb.ws.client">BioAssaySetClient</classname></term>
    128           <listitem>
    129             <para>
    130               Services related to bioassay sets. Get access data files that are
    131               attached to bioassay sets. Data from the database must first be
    132               exported and saved as a file. Find annotation values on bioassay sets.
    133             </para>
    134           </listitem>
    135         </varlistentry>
    136 
    137         <varlistentry>
    138           <term><classname docapi="net.sf.basedb.ws.server">RawBioAssayService</classname></term>
    139           <term><classname docapi="net.sf.basedb.ws.client">RawBioAssayClient</classname></term>
    140           <listitem>
    141             <para>
    142               Services related to raw bioassays. Find out which raw data files that
    143               are present and download them. Find annotation values on raw bioassays.
    144             </para>
    145           </listitem>
    146         </varlistentry>
    147        
    148         <varlistentry>
    149           <term><classname docapi="net.sf.basedb.ws.server">ArrayDesignService</classname></term>
    150           <term><classname docapi="net.sf.basedb.ws.client">ArrayDesignClient</classname></term>
    151           <listitem>
    152             <para>
    153               Services related to array design. Find out which data files that
    154               are present and download them. Find annotation values on array designs.
    155             </para>
    156           </listitem>
    157         </varlistentry>
    158        
    159         <varlistentry>
    160           <term><classname docapi="net.sf.basedb.ws.server">AnnotationTypeService</classname></term>
    161           <term><classname docapi="net.sf.basedb.ws.client">AnnotationTypeClient</classname></term>
    162           <listitem>
    163             <para>
    164               Services related to annotation types. Find out which annotation types that
    165               can be used for different types of items.
    166             </para>
    167           </listitem>
    168         </varlistentry>
    169        
    170         <varlistentry>
    171           <term><classname docapi="net.sf.basedb.ws.server">ReporterService</classname></term>
    172           <term><classname docapi="net.sf.basedb.ws.client">ReporterClient</classname></term>
    173           <listitem>
    174             <para>
    175               Services related to reporters and reporter lists.
    176               Get information about all admin-defined extended properties.
    177               Download reporter information for reporters.
    178             </para>
    179           </listitem>
    180         </varlistentry>
    181 
    182         <varlistentry>
    183           <term><classname docapi="net.sf.basedb.ws.server">FileService</classname></term>
    184           <term><classname docapi="net.sf.basedb.ws.client">FileClient</classname></term>
    185           <listitem>
    186             <para>
    187               Services related to files. Download files.
    188             </para>
    189           </listitem>
    190         </varlistentry>
    191        
    192       </variablelist>
    193     </sect2>
    194   </sect1>
    195 
    196   <sect1 id="webservices.client_development">
    197     <title>Client development</title>
    198     <para>
    199       How to develop client applications for the web services in BASE depends
    200       on which program language you are using. BASE comes with a simple client API for java
    201       for the existing services. If you use this API, you don't have to worry about WSDL
    202       files, stubs and skeletons and other web services related stuff. Just use it
    203       the client API as any other java API.
    204     </para>
    205    
    206     <para>
    207       The client API can be downloaded with example code from the
    208       <ulink url="http://baseplugins.thep.lu.se/wiki/net.sf.basedb.examples.webservices">BASE plug-ins
    209       website</ulink>. The package contains all external JAR files you need, the
    210       WSDL files (in case you still want them) and some example code that
    211       logs in to a BASE server, lists projects and experiments and then logs out
    212       again. Here is a short example of how to login to a BASE server, list
    213       the experiments and then logout.
    214     </para>
    215    
    216     <programlisting language="java">
    217 String serviceUrl = "http://your.base.server/base2/services";
    218 String login = "mylogin";
    219 String password = "mypassword";
    220 
    221 // Create new session
    222 SessionClient session = new SessionClient(serviceUrl, null, null);
    223 
    224 // Login
    225 session.login(login, password, null);
    226 
    227 // Get all projects and print out name and ID
    228 ExperimentClient ex = new ExperimentClient(session);
    229 ExperimentInfo[] experiments = ec.getExperiments(new QueryOptions());
    230 
    231 if (experiments != null &amp;&amp; experiments.length > 0)
    232 {
    233    for (ExperimentInfo info : experiments)
    234    {
    235       System.out.println("name=" + info.getName() + "; id=" +info.getId());
    236    }
    237 }
    238 
    239 // Logout
    240 session.logout();
    241 </programlisting>
    242    
    243     <para>
    244       If you want to use another language than Java or you don't want to
    245       use our client API, you probably need the WSDL files. These can be found
    246       in the client API package discussed above and also in the BASE core
    247       distribution in the <filename>&lt;base-dir&gt;/misc/wsdl</filename>
    248       directory. The WSDL files can also be generated on the fly by the BASE server
    249       by appending <constant>?wsdl</constant> to the url for a specific service.
    250       For example, <constant>http://your.base.server/base2/services/Session?wsdl</constant>.
    251     </para>
    252 
    253     <sect2 id="webservices.client_development.receivingfiles">
    254       <title>Receiving files</title>
    255       <para>
    256         Some methods can be used to download files or exported data. Since this
    257         kind of data can be binary data the usual return methods can't be used.
    258         BASE uses a method commonly known as <emphasis>web services with attachments</emphasis>
    259         using MTOM (SOAP Message Transmission Optimization Mechanism) to send file data.
    260         Read the <ulink url="http://axis.apache.org/axis2/java/core/docs/mtom-guide.html">MTOM Guide</ulink>
    261         from Apache if you want to know more about this.
    262       </para>
    263      
    264       <para>
    265         With the client API it is relatively easy to download a file. Here is a short
    266         program example that downloads the CEL files for all raw bioassays in an
    267         experiment.
    268       </para>
    269      
    270       <programlisting language="java">
    271 int experimentId = ...
    272 SessionClient session = ...
    273 String fileType = "affymetrix.cel";
    274 
    275 // Create clients for experiment and raw bioassay
    276 ExperimentClient ec = new ExperimentClient(session);
    277 RawBioAssayClient rc = new RawBioAssayClient(session);
    278 
    279 // Get all raw bioassays in the experiment
    280 RawBioAssayInfo[] rawInfo = ec.getRawBioAssays(experimentId, new QueryOptions());
    281 if (rawInfo == null &amp;&amp; rawInfo.length == 0) return;
    282 
    283 for (RawBioAssayInfo info : rawInfo)
    284 {
    285    // We receive the file contents as an InputStream
    286    InputStream download = rc.downloadRawDataByType(info.getId(), fileType);
    287    
    288    // Save to file with the same name as the raw bioassay + .cel
    289    // assume that there are no duplicates
    290    File saveTo = new File(info.getName() + ".cel");
    291    FileUtil.copy(download, new FileOutputStream(saveTo));
    292 }
    293 </programlisting>
    294 
    295         <para>
    296           If you are using another programming language than Java or doesn't
    297           want to use the client API you must know how to get access to the
    298           received file. The data is sent as a binary attachment to an element in the
    299           XML. It is in the interest of the client developer to know how to get access
    300           to a received file and to make sure that the programming language/web services
    301           framework that is used supports MTOM. Below is a listing which shows an
    302           example of a returned message from the
    303           <methodname>RawBioAssayService.downloadRawDataByType()</methodname>
    304           service.
    305         </para>
    306        
    307         <programlisting>
    308 <![CDATA[
    309 --MIMEBoundaryurn_uuid_1526E5ADD9FC4431651195044149664
    310 Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml"
    311 Content-Transfer-Encoding: binary
    312 Content-ID: <0.urn:uuid:1526E5ADD9FC4431651195044149665@apache.org>
    313 
    314 <ns:downloadRawDataByTypeResponse xmlns:ns="http://server.ws.basedb.sf.net">
    315   <ns:return>
    316     <Test.cel:Test.cel xmlns:Test.cel="127.0.0.1">
    317        <xop:Include href="cid:1.urn:uuid:1526E5ADD9FC4431651195044149663@apache.org"
    318           xmlns:xop="http://www.w3.org/2004/08/xop/include" />
    319     </Test.cel:Test.cel>
    320   </ns:return>
    321 </ns:downloadRawDataByTypeResponse>
    322 --MIMEBoundaryurn_uuid_1526E5ADD9FC4431651195044149664
    323 Content-Type: text/plain
    324 Content-Transfer-Encoding: binary
    325 Content-ID: <1.urn:uuid:1526E5ADD9FC4431651195044149663@apache.org>
    326 
    327 ... binary file data is here ...
    328 ]]>
    329 </programlisting>
    330        
    331         <para>
    332           Here is a programlisting, that shows how to pick up the file.
    333           This is the actual implementation that is used in the
    334           web service client that comes with BASE. The <classname>InputStream</classname>
    335           returned from this method is the same <classname>InputStream</classname>
    336           that is returned from, for example, the <methodname>RawBioAssayClient.downloadRawDataByType()</methodname>
    337           method.
    338         </para>
    339        
    340         <programlisting language="java">
    341 // From AbstractRPCClient.java
    342 protected InputStream invokeFileBlocking(String operation, Object... args)
    343    throws AxisFault, IOException
    344 {
    345    //Get the original response element as sent from the server-side
    346    OMElement response = getService().invokeBlocking(getOperation(operation), args);
    347 
    348    //The file element returned from the service is the first element of the response
    349    OMElement fileElement = response.getFirstElement();
    350    
    351    //The data node always in the first element.
    352    OMElement dataElement = fileElement.getFirstElement();
    353    if (dataElement == null) return null;
    354    
    355    //Get the binary node and pick up the inputstream.
    356    OMText node = (OMText)dataElement.getFirstOMChild();
    357    node.setBinary(true);
    358    DataHandler dataHandler = (DataHandler)node.getDataHandler();   
    359    return dataHandler.getInputStream();
    360 }
    361 </programlisting>
    362 
    363     </sect2>
    364   </sect1>
    365 
    366   <sect1 id="webservices.services_development">
    367     <title>Services development</title>   
    368     <para>
    369       This list should work as guide when creating new web service in BASE.
    370       <orderedlist>
    371         <listitem>
    372           <para>
    373             Create a new class that extends
    374             <classname docapi="net.sf.basedb.ws.server">AbstractRPCService</classname>
    375           </para>
    376         </listitem>
    377         <listitem>
    378           <para>
    379             Place the new service in same package as the abstract class,
    380             <classname>net.sf.basedb.ws.server</classname>
    381           </para>
    382         </listitem>
    383         <listitem>
    384           <para>Write the routines/methods the service should deploy.</para>
    385          
    386           <warning>
    387             <title>Never return void from methods</title>
    388             <para>
    389               For server-side exceptions to be propagated to the client
    390               the web services method mustn't be declared as <emphasis>void</emphasis>.
    391               We suggest that in cases where there is no natural return value,
    392               the session ID is returned, for example:
    393             </para>
    394            
    395             <programlisting language="java">
    396 public String myMethod(String ID, ...more parameters...)
    397 {
    398   // ... your code here
    399   return ID;
    400 }
    401 </programlisting>
    402 
    403           </warning>
    404          
    405         </listitem>
    406         <listitem>
    407           <para>
    408             Make the Ant build-file creates a WSDL-file when the services are
    409             compiled (see below). This step is not needed for BASE to work
    410             but may be appreciated by client application developers.
    411           </para>
    412         </listitem>
    413         <listitem>
    414           <para>
    415             Register the service in the
    416             <filename>&lt;base-dir&gt;/src/webservices/server/META-INF/services.xml</filename>
    417             file. This is an XML file listing all services and is needed
    418             for BASE (Axis) to pick up the new service and expose it to the
    419             outside world. Below is an example of hoe the <classname>Session</classname>
    420             service is registered.
    421            
    422              <example id="webservices.examples.register_service">
    423               <title>
    424                 How to register a service in
    425                 <filename>services.xml</filename>
    426               </title>
    427               <programlisting language="xml">
    428 <![CDATA[
    429 <service name="Session" scope="application"> 
    430    <description> 
    431       This service handles BASE sessions (including login/logout) 
    432    </description> 
    433    <messageReceivers> 
    434       <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"   
    435          class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> 
    436       <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"   
    437          class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" /> 
    438    </messageReceivers> 
    439    <parameter name="ServiceClass"
    440       locked="false">net.sf.basedb.ws.server.SessionService</parameter> 
    441 </service> 
    442 ]]>
    443 </programlisting>
    444             </example>
    445           </para>
    446         </listitem>
    447       </orderedlist>
    448     </para>
    449     <sect2 id="webservices.services_development.generate_wsdl">
    450       <title>Generate WSDL-files</title>
    451       <para>
    452         When a new service is created it can be a good idea to also get a WSDL-file
    453         generated when the web services are compiled. The WSDL-file will be a help for those
    454         developers who intend to create client applications to the new service. It is a
    455         one-liner in the Ant build file to do this and not very complicated.
    456         To create a WSDL file for the new web service add a line like the one
    457         below to the <constant>webservices.wsdl</constant> target. Replace
    458         <replaceable>SessionService</replaceable> with the name of the new service class.
    459       </para>
    460 
    461 <programlisting language="xml">
    462 &lt;webservices.wsdl serviceClassName="SessionService"/&gt;
    463 </programlisting>
    464 
    465     </sect2>
    466   </sect1>
    467  
    468   <sect1 id="webservices.examples">
    469     <title>Example web service client (with download)</title>
    470     <para>
    471       We have created a simple Java client that uses web services to get information
    472       about projects and experiments from a BASE server. The example code
    473       can also download raw data files attached to an experiment. The example
    474       code can be used as a starting point for developers wanting to do their
    475       own client.
    476    
    477       You can <ulink url="http://baseplugins.thep.lu.se/wiki/net.sf.basedb.examples.webservices">download
    478       a tar file with the source and compiled code</ulink> from the BASE plug-ins website.
    479     </para>
    480    
    481   </sect1>
    48242 
    48343</chapter>
  • trunk/doc/src/docbook/overview/features.xml

    r5846 r6465  
    3737    customisation, streamlined access to analysis tools, integration
    3838    of <ulink url='http://www.tm4.org/mev/'>MultiExperiment Viewer
    39     (MeV)</ulink>, web services API, and more. To support all
     39    (MeV)</ulink>, and more. To support all
    4040    components the underlying relational database has grown to become
    4141    very large and complex, especially since BASE itself works with
     
    158158      of tools are pre-installed with BASE, and optional plug-ins can
    159159      be downloaded from the <ulink
    160       href='http://baseplugins.thep.lu.se'>BASE plug-in site
     160      url="http://baseplugins.thep.lu.se">BASE plug-in site
    161161      </ulink>. BASE capitalise from other software tools, such as
    162162      MEV, by integrating them into the user interface. Such
  • trunk/doc/src/docbook/overview/resources.xml

    r5864 r6465  
    202202      commit access to the repository, and how to submit a plug-in to the
    203203      download page. You will also be able to find example
    204       code for plug-ins, extensions, web services, etc.
     204      code for plug-ins, extensions, etc.
    205205    </para>
    206206  </sect1>
  • trunk/misc

    • Property svn:ignore deleted
  • trunk/src/core/net/sf/basedb/core/AnnotatedItem.java

    r6434 r6465  
    2525import net.sf.basedb.core.data.AnnotatedData;
    2626import net.sf.basedb.core.data.AnnotationSetData;
    27 import net.sf.basedb.info.AnnotatedItemInfo;
    2827
    2928/**
     
    3837  @base.modified $Date$
    3938*/
    40 @SuppressWarnings("deprecation")
    4139public abstract class AnnotatedItem<D extends AnnotatedData>
    4240  extends CommonItem<D>
     
    9694  // -------------------------------------------
    9795
    98   /**
    99     @since 2.5
    100     @deprecated In 3.3, no replacement
    101    */
    102   @Deprecated
    103   AnnotatedItemInfo toTransferable(AnnotatedItemInfo info)
    104   {
    105     super.toTransferable(info);
    106     info.setAnnotated(this.isAnnotated());
    107     return info;
    108   }
    10996}
    11097
  • trunk/src/core/net/sf/basedb/core/AnnotationType.java

    r6434 r6465  
    3333import net.sf.basedb.core.query.Hql;
    3434import net.sf.basedb.core.snapshot.SnapshotManager;
    35 import net.sf.basedb.info.AnnotationTypeInfo;
    36 import net.sf.basedb.info.ToTransferable;
    37 import net.sf.basedb.util.formatter.Formatter;
    3835
    3936import java.util.Date;
     
    5956  @base.modified $Date$
    6057*/
    61 @SuppressWarnings("deprecation")
    6258public class AnnotationType
    6359  extends CommonItem<AnnotationTypeData>
    64   implements ToTransferable<AnnotationTypeInfo>, Registered
     60  implements Registered
    6561{
    6662  /**
     
    284280    return using;
    285281  }
    286   /**
    287     @deprecated In 3.3, no replacement
    288    */
    289   @Deprecated
    290   @Override
    291   public AnnotationTypeInfo toTransferable(AnnotationTypeInfo info)
    292   {
    293     super.toTransferable(info);
    294     info.setDefaultValue(getDefaultValue());
    295     info.setExternalId(getExternalId());
    296     info.setEnumeration(isEnumeration());
    297     if (isEnumeration())
    298     {
    299       info.setEnumValues(net.sf.basedb.util.Values.toStrings(getValues(), null));
    300     }
    301     info.setMultiplicity(getMultiplicity());
    302     info.setProtocolParameter(isProtocolParameter());
    303     info.setRequiredForMiame(isRequiredForMiame());
    304     info.setValueType(getValueType().name());
    305     info.setItemTypes(net.sf.basedb.util.Values.toStrings(getEnabledItems(),
    306       new Formatter<Item>()
    307       {
    308         @Override
    309         public String format(Item item)
    310         {
    311           return item.name();
    312         }
    313         @Override
    314         public Item parseString(String value)
    315         {
    316           return Item.valueOf(value);
    317         }
    318       }
    319     ));
    320     return info;
    321   }
    322  
    323282  // -------------------------------------------
    324283
  • trunk/src/core/net/sf/basedb/core/ArrayDesign.java

    r6434 r6465  
    3030import net.sf.basedb.core.query.Hql;
    3131import net.sf.basedb.core.query.Restrictions;
    32 import net.sf.basedb.info.ArrayDesignInfo;
    33 import net.sf.basedb.info.ToTransferable;
    3432
    3533import java.util.Collection;
     
    6058  @version 2.0
    6159*/
    62 @SuppressWarnings("deprecation")
    6360public class ArrayDesign
    6461  extends AnnotatedItem<ArrayDesignData>
    65   implements FileStoreEnabled, ToTransferable<ArrayDesignInfo>, Registered
     62  implements FileStoreEnabled, Registered
    6663{
    6764 
     
    849846    getData().setHasFeatures(numFeatures > 0 || getNumDbFeatures() > 0);
    850847  }
    851  
    852   /**
    853     @since 2.5
    854     @deprecated In 3.3, no replacement
    855    */
    856   @Deprecated
    857   @Override
    858   public ArrayDesignInfo toTransferable(ArrayDesignInfo info)
    859   {
    860     super.toTransferable(info);
    861     info.setNumDbFeatures(this.getNumDbFeatures());
    862     info.setNumFileFeatures(this.getNumFileFeatures());
    863     return info;
    864   }
     848
    865849}
  • trunk/src/core/net/sf/basedb/core/BasicItem.java

    r6434 r6465  
    2424
    2525import net.sf.basedb.core.data.BasicData;
    26 import net.sf.basedb.info.BasicItemInfo;
    2726
    2827import java.lang.ref.WeakReference;
     
    3938  @base.modified $Date$
    4039*/
    41 @SuppressWarnings("deprecation")
    4240public abstract class BasicItem<D extends BasicData>
    4341  implements Identifiable
     
    181179  // -------------------------------------------
    182180 
    183   /**
    184     @since 2.5
    185     @deprecated In 3.3, no replacement
    186    */
    187   @Deprecated
    188   BasicItemInfo toTransferable(BasicItemInfo info)
    189   {
    190     info.setId(this.getId());
    191     info.setVersion(getVersion());
    192     return info;
    193   }
    194 
    195181  /**
    196182    Checks if the item has been saved to the database or not.
  • trunk/src/core/net/sf/basedb/core/BioAssaySet.java

    r6434 r6465  
    4040import net.sf.basedb.core.query.Selects;
    4141import net.sf.basedb.core.query.JoinType;
    42 import net.sf.basedb.info.BioAssaySetInfo;
    43 import net.sf.basedb.info.ToTransferable;
    4442
    4543import java.util.Collections;
     
    6765  @base.modified $Date$
    6866*/
    69 @SuppressWarnings("deprecation")
    7067public class BioAssaySet
    7168  extends ChildItem<BioAssaySetData>
    7269  implements Nameable, Removable, Annotatable,
    73     FileStoreEnabled, ToTransferable<BioAssaySetInfo>
     70    FileStoreEnabled
    7471{
    7572  /**
     
    429426  }
    430427 
    431   /**
    432     @since 2.5
    433     @deprecated In 3.3, no replacement
    434    */
    435   @Deprecated
    436   @Override
    437   public BioAssaySetInfo toTransferable(BioAssaySetInfo info)
    438   {
    439     super.toTransferable(info);   
    440     info.setName(this.getName());
    441     info.setDescription(this.getDescription());
    442     info.setNumReporters(this.getNumReporters());
    443     info.setNumSpots(this.getNumSpots());
    444     return info;
    445   }
    446428  // -------------------------------------------
    447429
  • trunk/src/core/net/sf/basedb/core/CommonItem.java

    r6434 r6465  
    2525
    2626import net.sf.basedb.core.data.CommonData;
    27 import net.sf.basedb.info.CommonItemInfo;
    2827
    2928/**
     
    3130  @version 2.0
    3231*/
    33 @SuppressWarnings("deprecation")
    3432public abstract class CommonItem<D extends CommonData>
    3533  extends SharedItem<D>
     
    8886  }
    8987 
    90   /**
    91     @since 2.5
    92     @deprecated In 3.3, no replacement
    93    */
    94   @Deprecated
    95   CommonItemInfo toTransferable(CommonItemInfo info)
    96   {
    97     super.toTransferable(info);
    98     info.setDescription(this.getDescription());
    99     info.setName(this.getName());
    100     return info;
    101   }
    10288}
    10389
  • trunk/src/core/net/sf/basedb/core/DataFileType.java

    r6434 r6465  
    2828import net.sf.basedb.core.query.Hql;
    2929import net.sf.basedb.core.query.Restrictions;
    30 import net.sf.basedb.info.DataFileTypeInfo;
    31 import net.sf.basedb.info.ToTransferable;
    3230import net.sf.basedb.util.extensions.ClientContext;
    3331import net.sf.basedb.util.extensions.ExtensionsInvoker;
     
    4442  @base.modified $Date$
    4543*/
    46 @SuppressWarnings("deprecation")
    4744public class DataFileType
    4845  extends BasicItem<DataFileTypeData>
    49   implements Nameable, Removable, ToTransferable<DataFileTypeInfo>, Validatable
     46  implements Nameable, Removable, Validatable
    5047{
    5148 
     
    481478    return using;
    482479  }
    483 
    484   /**
    485     @since 2.5
    486     @deprecated In 3.3, no replacement
    487    */
    488   @Deprecated
    489   @Override
    490   public DataFileTypeInfo toTransferable(DataFileTypeInfo info)
    491   {
    492     super.toTransferable(info);
    493     info.setName(getName());
    494     info.setDescription(getDescription());
    495     info.setExtension(this.getExtension());
    496     info.setExternalId(this.getExternalId());
    497     return info;
    498   }
    499480  // -------------------------------------------
    500481 
  • trunk/src/core/net/sf/basedb/core/DynamicSpotQuery.java

    r6435 r6465  
    5959  @base.modified $Date$
    6060*/
    61 @SuppressWarnings("deprecation")
    6261public class DynamicSpotQuery
    6362  extends DynamicQuery
  • trunk/src/core/net/sf/basedb/core/Experiment.java

    r6434 r6465  
    2828import net.sf.basedb.core.query.Restrictions;
    2929import net.sf.basedb.core.query.Hql;
    30 import net.sf.basedb.info.ExperimentInfo;
    31 import net.sf.basedb.info.ToTransferable;
    3230
    3331import java.util.Date;
     
    5149  @base.modified $Date$
    5250*/
    53 @SuppressWarnings("deprecation")
    5451public class Experiment
    5552  extends AnnotatedItem<ExperimentData>
    56   implements DiskConsumable, Transactional, ToTransferable<ExperimentInfo>, Registered
     53  implements DiskConsumable, Transactional, Registered
    5754{
    5855  /**
     
    348345    newReporterCloneTable = null;
    349346  }
    350 
    351   /**
    352     @since 2.5
    353     @deprecated In 3.3, no replacement
    354    */
    355   @Deprecated
    356   @Override
    357   public ExperimentInfo toTransferable(ExperimentInfo info)
    358   {
    359     super.toTransferable(info);
    360     info.setAbstractText(this.getAbstract());
    361     info.setAffiliations(this.getAffiliations());
    362     info.setAuthors(this.getAuthors());
    363     info.setExperimentDesign(this.getExperimentDesign());
    364     info.setExperimentType(this.getExperimentType());
    365     info.setPublication(this.getPublication());
    366     info.setTitle(this.getTitle());
    367     info.setPublicationDate(this.getPublicationDate());
    368     info.setPubMedId(this.getPubMedId());
    369     return info;
    370   }
    371  
    372347  // -------------------------------------------
    373348 
  • trunk/src/core/net/sf/basedb/core/ExtendedProperty.java

    r6434 r6465  
    2424package net.sf.basedb.core;
    2525
    26 import net.sf.basedb.info.ExtendedPropertyInfo;
    27 import net.sf.basedb.info.ToTransferable;
    28 
    2926import java.text.NumberFormat;
    3027import java.util.List;
     
    4037  @version 2.0
    4138*/
    42 @SuppressWarnings("deprecation")
    4339public class ExtendedProperty
    44   implements ToTransferable<ExtendedPropertyInfo>
    4540{
    4641 
     
    308303    return url;
    309304  }
    310 
    311   @Override
    312   @Deprecated
    313   public ExtendedPropertyInfo toTransferable(ExtendedPropertyInfo info)
    314   {
    315     info.setColumn(this.getColumn());
    316     info.setDescription(this.getDescription());
    317     info.setInsertable(this.isInsertable());
    318     info.setLength(this.getLength());
    319     info.setName(this.getName());
    320     info.setNullable(this.isNullable());
    321     info.setTitle(this.getTitle());
    322     info.setUpdateable(this.isUpdateable());
    323     return info;
    324   }
    325  
    326305}
    327306
  • trunk/src/core/net/sf/basedb/core/File.java

    r6434 r6465  
    3030import net.sf.basedb.core.data.ItemSubtypeData;
    3131import net.sf.basedb.core.data.MimeTypeData;
    32 import net.sf.basedb.info.FileInfo;
    33 import net.sf.basedb.info.ToTransferable;
    3432import net.sf.basedb.util.EqualsHelper;
    3533import net.sf.basedb.util.FileUtil;
     
    7977  @base.modified $Date$
    8078*/
    81 @SuppressWarnings("deprecation")
    8279public class File
    8380  extends CommonItem<FileData>
    84   implements Transactional, DiskConsumable, Subtypable, ToTransferable<FileInfo>
     81  implements Transactional, DiskConsumable, Subtypable
    8582{
    8683  /**
     
    710707    if (isWriteProtected()) denied |= Permission.deny(Permission.DELETE);
    711708    super.initPermissions(granted, denied);
    712   }
    713   /**
    714     @since 3.0
    715     @deprecated In 3.3, no replacement
    716    */
    717   @Deprecated
    718   @Override
    719   public FileInfo toTransferable(FileInfo info)
    720   {
    721     super.toTransferable(info);
    722     info.setSize(this.getSize());
    723     info.setMimeType(this.getMimeType());
    724     info.setMd5(this.getMd5());
    725     info.setCharacterSet(this.getCharacterSet());
    726     info.setPath(this.getPath().toString());
    727     return info;
    728709  }
    729710  // -------------------------------------------
  • trunk/src/core/net/sf/basedb/core/FileSet.java

    r6435 r6465  
    5454  @base.modified $Date$
    5555*/
    56 @SuppressWarnings("deprecation")
    5756public class FileSet
    5857  extends BasicItem<FileSetData>
  • trunk/src/core/net/sf/basedb/core/FileSetMember.java

    r6434 r6465  
    2626import net.sf.basedb.core.query.Hql;
    2727import net.sf.basedb.core.query.Restrictions;
    28 import net.sf.basedb.info.DataFileTypeInfo;
    29 import net.sf.basedb.info.FileInfo;
    30 import net.sf.basedb.info.FileSetMemberInfo;
    31 import net.sf.basedb.info.ToTransferable;
    3228
    3329/**
     
    3834  @base.modified $Date$
    3935*/
    40 @SuppressWarnings("deprecation")
    4136public class FileSetMember
    4237  extends BasicItem<FileSetMemberData>
    43   implements ToTransferable<FileSetMemberInfo>
    4438{
    4539 
     
    173167    return PluginPermission.NO_PLUGIN;
    174168  }
    175   /**
    176     @since 3.0
    177     @deprecated In 3.3, no replacement
    178    */
    179   @Deprecated
    180   @Override
    181   public FileSetMemberInfo toTransferable(FileSetMemberInfo info)
    182   {
    183     super.toTransferable(info);
    184     info.setDataFileTypeInfo(this.getDataFileType().toTransferable(new DataFileTypeInfo()));
    185     info.setFileInfo(this.getFile().toTransferable(new FileInfo()));
    186     info.setValid(this.isValid());
    187     info.setErrorMessage(this.getErrorMessage());
    188     return info;
    189   }
    190169  // -------------------------------------------
    191170 
  • trunk/src/core/net/sf/basedb/core/ItemSubtype.java

    r6435 r6465  
    5050  @base.modified $Date$
    5151*/
    52 @SuppressWarnings("deprecation")
    5352public class ItemSubtype
    5453  extends BasicItem<ItemSubtypeData>
  • trunk/src/core/net/sf/basedb/core/Job.java

    r6453 r6465  
    7979  @base.modified $Date$
    8080*/
    81 @SuppressWarnings("deprecation")
    8281public class Job
    8382  extends CommonItem<JobData>
  • trunk/src/core/net/sf/basedb/core/OwnedItem.java

    r6434 r6465  
    2525import net.sf.basedb.core.data.OwnedData;
    2626import net.sf.basedb.core.data.UserData;
    27 import net.sf.basedb.info.OwnedItemInfo;
    2827
    2928/**
     
    3938  @base.modified $Date$
    4039*/
    41 @SuppressWarnings("deprecation")
    4240public abstract class OwnedItem<D extends OwnedData>
    4341  extends BasicItem<D>
     
    123121    super.initPermissions(granted, denied);
    124122  }
    125  
    126   /**
    127     @since 2.5
    128     @deprecated In 3.3, no replacement
    129    */
    130   @Deprecated
    131   OwnedItemInfo toTransferable(OwnedItemInfo info)
    132   {
    133     super.toTransferable(info);
    134     info.setOwnerId(getData().getOwner().getId());
    135     return info;
    136   }
     123
    137124}
  • trunk/src/core/net/sf/basedb/core/PluginDefinition.java

    r6435 r6465  
    6464  @base.modified $Date$
    6565*/
    66 @SuppressWarnings("deprecation")
    6766public class PluginDefinition
    6867  extends CommonItem<PluginDefinitionData>
  • trunk/src/core/net/sf/basedb/core/Project.java

    r6434 r6465  
    3737import net.sf.basedb.core.query.ResultList;
    3838import net.sf.basedb.core.query.Selects;
    39 import net.sf.basedb.info.ProjectInfo;
    40 import net.sf.basedb.info.ToTransferable;
    4139import net.sf.basedb.util.EqualsHelper;
    4240
     
    8684  @base.modified $Date$
    8785*/
    88 @SuppressWarnings("deprecation")
    8986public class Project
    9087  extends OwnedItem<ProjectData>
    91   implements Nameable, Removable, ToTransferable<ProjectInfo>, Registered
     88  implements Nameable, Removable, Registered
    9289{
    9390  /**
     
    10531050 
    10541051  /**
    1055     @deprecated In 3.3, no replacement
    1056    */
    1057   @Deprecated
    1058   @Override
    1059   public ProjectInfo toTransferable(ProjectInfo info)
    1060   {
    1061     super.toTransferable(info);
    1062     info.setDescription(this.getDescription());
    1063     info.setName(this.getName());
    1064     return info;
    1065   }
    1066  
    1067   /**
    10681052    A runtime filter implementation that limits a query to only
    10691053    return projects where the logged in user is a member or owner
  • trunk/src/core/net/sf/basedb/core/Protocol.java

    r6435 r6465  
    3737  @version 2.0
    3838*/
    39 @SuppressWarnings("deprecation")
    4039public class Protocol
    4140  extends AnnotatedItem<ProtocolData>
  • trunk/src/core/net/sf/basedb/core/RawBioAssay.java

    r6434 r6465  
    3838import net.sf.basedb.core.signal.SignalException;
    3939import net.sf.basedb.core.signal.ThreadSignalHandler;
    40 import net.sf.basedb.info.RawBioAssayInfo;
    41 import net.sf.basedb.info.ToTransferable;
    4240
    4341import java.util.Collection;
     
    6664  @base.modified $Date$
    6765*/
    68 @SuppressWarnings("deprecation")
    6966public class RawBioAssay
    7067  extends AnnotatedItem<RawBioAssayData>
    71   implements DiskConsumable, FileStoreEnabled, ToTransferable<RawBioAssayInfo>, Registered
     68  implements DiskConsumable, FileStoreEnabled, Registered
    7269{
    7370  /**
     
    450447      protocolHasBeenSet = true;
    451448    }
    452   }
    453  
    454   /**
    455     @since 2.5
    456     @deprecated In 3.3, no replacement
    457    */
    458   @Deprecated
    459   @Override
    460   public RawBioAssayInfo toTransferable(RawBioAssayInfo info)
    461   {
    462     super.toTransferable(info);
    463     ArrayDesignData ad = getData().getArrayDesign();
    464     info.setArrayDesignId(ad == null ? 0 : ad.getId());
    465     info.setPlatformId(this.getPlatform().getId());
    466     info.setRawDataTypeId(this.getRawDataType().getId());
    467     return info;
    468449  }
    469450  // -------------------------------------------
  • trunk/src/core/net/sf/basedb/core/RawDataType.java

    r6435 r6465  
    4545  @base.modified $Date$
    4646*/
    47 @SuppressWarnings("deprecation")
    4847public class RawDataType
    4948  implements Comparable<RawDataType>
  • trunk/src/core/net/sf/basedb/core/ReporterList.java

    r6434 r6465  
    3737import net.sf.basedb.core.data.ReporterData;
    3838import net.sf.basedb.core.data.ReporterListScoreData;
    39 import net.sf.basedb.info.ReporterListInfo;
    40 import net.sf.basedb.info.ToTransferable;
    4139
    4240
     
    4745  @base.modified $Date$
    4846*/
    49 @SuppressWarnings("deprecation")
    5047public class ReporterList
    5148  extends CommonItem<ReporterListData>
    52   implements ToTransferable<ReporterListInfo>, Registered
     49  implements Registered
    5350{
    5451  /**
     
    788785    return query;
    789786  }
    790   /**
    791     @deprecated In 3.3, no replacement
    792    */
    793   @Deprecated
    794   @Override
    795   public ReporterListInfo toTransferable(ReporterListInfo info)
    796   {
    797     super.toTransferable(info);
    798     info.setExternalId(this.getExternalId());
    799     return info;
    800   }
    801787 
    802788}
  • trunk/src/core/net/sf/basedb/core/SessionControl.java

    r6448 r6465  
    7575  @base.modified $Date$
    7676*/
    77 @SuppressWarnings("deprecation")
    7877public class SessionControl
    7978{
  • trunk/src/core/net/sf/basedb/core/SharedItem.java

    r6434 r6465  
    2626import net.sf.basedb.core.data.SharedData;
    2727import net.sf.basedb.core.data.ProjectKeyData;
    28 import net.sf.basedb.info.SharedItemInfo;
    2928
    3029/**
     
    3938  @base.modified $Date$
    4039*/
    41 @SuppressWarnings("deprecation")
    4240public abstract class SharedItem<D extends SharedData>
    4341  extends OwnedItem<D>
     
    133131    super.initPermissions(granted, denied);
    134132  }
    135  
    136   /**
    137     @since 2.5
    138     @deprecated In 3.3, no replacement
    139    */
    140   @Deprecated
    141   SharedItemInfo toTransferable(SharedItemInfo info)
    142   {
    143     super.toTransferable(info);
    144     info.setShared(this.isShared());
    145     return info;
    146   }
     133
    147134}
  • trunk/src/core/net/sf/basedb/util/AnnotationUtil.java

    r6456 r6465  
    4040import net.sf.basedb.core.RawBioAssay;
    4141import net.sf.basedb.util.biomaterial.ChildrenTransformer;
    42 import net.sf.basedb.util.extensions.events.AllEventsFilter;
    4342import net.sf.basedb.util.filter.Filter;
    4443
Note: See TracChangeset for help on using the changeset viewer.