Changeset 6465
- Timestamp:
- Jun 4, 2014, 2:41:12 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 5 deleted
- 36 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/.classpath
r6464 r6465 4 4 <classpathentry kind="src" path="src/clients/jobagent"/> 5 5 <classpathentry kind="src" path="src/clients/web"/> 6 <classpathentry kind="src" path="src/info"/>7 6 <classpathentry kind="src" path="src/plugins/core"/> 8 7 <classpathentry kind="src" path="src/test"/> 9 <classpathentry kind="src" path="src/webservices/client/java"/>10 <classpathentry kind="src" path="src/webservices/server"/>11 8 <classpathentry kind="src" path="src/install"/> 12 9 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/> … … 24 21 <classpathentry kind="lib" path="lib/dist/tar.jar"/> 25 22 <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"/>29 23 <classpathentry kind="lib" path="lib/dist/commons-email-1.3.jar"/> 30 24 <classpathentry kind="lib" path="lib/dist/httpclient-4.2.3.jar"/> -
trunk/build.xml
r6461 r6465 42 42 installprg: Build installation programs for local use 43 43 jobagent: Build jobagent for local use 44 webservices: Build webservices for local use45 44 test: Build test programs 46 45 web: Build web client application for local use … … 107 106 </fileset> 108 107 </path> 109 110 <path id="lib.webservices.classpath">111 <fileset dir="${lib}/webservices">112 <include name="**/*.jar"/>113 </fileset>114 </path>115 108 116 109 <path id="lib.svn.classpath"> … … 154 147 classpathref="lib.svn.classpath" 155 148 /> 156 157 <taskdef158 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>169 149 170 150 <!-- main targets --> … … 177 157 <fileset dir="${package}" defaultexcludes="no" /> 178 158 <fileset dir="bin/jar" defaultexcludes="no" /> 179 <fileset dir="misc/wsdl" defaultexcludes="no" />180 159 <fileset dir="www/WEB-INF/lib" defaultexcludes="no" /> 181 160 <fileset dir="www/WEB-INF/classes" defaultexcludes="no" /> … … 192 171 <target 193 172 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, 195 174 installprg.jar,jobagent.jar,copy.config,copy.jar,doc,doc.dist" 196 175 description="Create everything needed for distribution" … … 211 190 <include name="sql/**/*" /> 212 191 <include name="config/**/*" /> 213 <include name="wsdl/**/*" />214 192 </fileset> 215 193 </copy> … … 230 208 <target 231 209 name="dev" 232 depends="dev.init,core,coreplugins,web, webservices,installprg,jobagent,test"210 depends="dev.init,core,coreplugins,web,installprg,jobagent,test" 233 211 description="Create a runnable local installation" 234 212 /> … … 272 250 > 273 251 </target> 274 275 <target276 name="webservices"277 depends="core,web,webservices.jar,webservices.wsdl"278 description="Build webservices for local use"279 />280 252 281 253 <target … … 315 287 <property name="bin" location="${dist}/bin" /> 316 288 <property name="doc" location="${dist}/doc" /> 317 <property name="plugins" location="${dist}/plugins" />318 289 <mkdir dir="${jar}" /> 319 290 <mkdir dir="${config}" /> … … 335 306 <property name="bin" location="bin" /> 336 307 <property name="doc" location="doc" /> 337 <property name="plugins" location="plugins" />338 308 <mkdir dir="${bin}/jar" /> 339 309 <mkdir dir="${jar}" /> … … 358 328 description="Copies configuration files to the appropriate folder" 359 329 > 360 <!-- move axis2.xml to the correct place -->361 <mkdir dir="${config}/../conf" />362 <move file="${config}/axis2.xml" todir="${config}/../conf" overwrite="true" />363 330 </target> 364 331 … … 405 372 <include name="**/*" /> 406 373 </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 444 377 <!-- core targets --> 445 378 <target 446 379 name="core.init" 447 depends="dev.init ,info.init"380 depends="dev.init" 448 381 > 449 382 <property name="core.src" location="${src}/core" … … 459 392 <target 460 393 name="core.compile" 461 depends="core.init ,info.compile"394 depends="core.init" 462 395 description="Compile the core" 463 396 > … … 697 630 <target 698 631 name="test.init" 699 depends="core.init,coreplugins.init,jobagent.init ,webservices.init"632 depends="core.init,coreplugins.init,jobagent.init" 700 633 > 701 634 <property name="test.src" location="${src}/test" … … 705 638 <path id="test.classpath" description="Class path for compiling"> 706 639 <path refid="core.classpath"/> 707 <path refid="lib.webservices.classpath" />708 640 <pathelement location="${core.build}" /> 709 641 <pathelement location="${coreplugins.build}" /> 710 642 <pathelement location="${jobagent.build}" /> 711 <pathelement location="${webservices.build}/server" />712 <pathelement location="${webservices.build}/client" />713 643 </path> 714 644 </target> … … 716 646 <target 717 647 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" 719 649 description="Compile the test programs" 720 650 > … … 906 836 /> 907 837 </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 1075 839 <!-- installprg targets --> 1076 840 <target … … 1181 945 <path refid="core.classpath" /> 1182 946 <path refid="lib.servlet.classpath" /> 1183 <path refid="lib.webservices.classpath" />1184 947 </path> 1185 948 <property name="docbook.html.out" location="${doc}/html" /> … … 1189 952 <target 1190 953 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" 1192 955 description="Generate JavaDoc of entire API" 1193 956 > … … 1202 965 <javadoc 1203 966 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}" 1205 968 destdir="${doc}/api" 1206 969 author="true" … … 1229 992 <package name="net.sf.basedb.clients.web.taglib*" /> 1230 993 <package name="net.sf.basedb.clients.web.extensions*" /> 1231 <package name="net.sf.basedb.ws.client" />1232 994 </group> 1233 995 <group title="Mixed Public and Internal API"> … … 1242 1004 <package name="net.sf.basedb.util.extensions.manager.*" /> 1243 1005 <package name="net.sf.basedb.clients.jobagent" /> 1244 <package name="net.sf.basedb.ws.server*" />1245 1006 </group> 1246 1007 <group title="Internal API"> -
trunk/config/dist/web.xml
r6417 r6465 215 215 </servlet-mapping> 216 216 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 238 217 <!-- Extensions servlet for managing extensions to the web client --> 239 218 <servlet> -
trunk/doc/3rd-party-components.txt
r6241 r6465 316 316 Files : bzip2.jar 317 317 318 Axis2319 -----320 A core engine for webservices from Apache.321 322 More info : http://ws.apache.org/axis2/323 Version : 1.6.2324 License : Apache License 2.0 (apache.license-2.0.txt)325 Files : Everything in the /lib/webservices directory326 : antlr-2.7.7.jar327 318 328 319 SecondString -
trunk/doc/src/docbook/appendix/update_warnings.xml
r6434 r6465 36 36 </para> 37 37 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> 38 50 39 51 <sect1 id="appendix.update_warnings.3.3"> -
trunk/doc/src/docbook/appendix/web.xml.xml
r6417 r6465 135 135 Servlet for generating a RSS feed for the news on the front page. 136 136 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 access147 your BASE installation using web services these servlets may be disabled.148 137 </para> 149 138 </listitem> -
trunk/doc/src/docbook/developer/overview.xml
r5816 r6465 450 450 <listitem> 451 451 <para> 452 <xref linkend="webservices" />453 </para>454 </listitem>455 <listitem>456 <para>457 452 <xref linkend="extensions_developer" /> 458 453 </para> … … 461 456 <para> 462 457 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. 464 459 </para> 465 460 </listitem> -
trunk/doc/src/docbook/developer/webservices.xml
r6434 r6465 28 28 <?dbhtml filename="webservices.html" ?> 29 29 <title>Web services</title> 30 <para>31 This chapter is an introduction of web services in BASE. It is recommended to begin your32 reading with the first section in this chapter and then you can move on to either the second33 section for more information how to develop client applications, or to the third section if34 you think there are some services missing and you want to know how to proceed to develop a35 new one.36 </para>37 30 38 31 <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> 40 33 <para> 41 The current implementation is most likely not very useful and haslimited42 support for accessing information in BASE. Therefore it has beendecided to34 The old implementation was most likely not very useful and had limited 35 support for accessing information in BASE. Therefore it was decided to 43 36 remove the web services support in BASE 3.4. If anyone require web services 44 37 support or similar we recommend using the BASE extensions mechanism to implement … … 47 40 </para> 48 41 </important> 49 50 <para>51 Before moving on to develop client applications or new services there are few things that52 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 to57 complex for this should be possible. Instead is each item type represented by58 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 own64 includes and restrictions on a query before it is executed. For those who intend65 to develop services it is recommended to have a look in javadoc for the66 <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 for68 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 to78 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 in80 BASE short description for each. More detailed information81 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 point93 to the BASE web services. This contains methods for logging in and out94 and keeping the session alive to avoid automatic logout due95 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 projects106 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 and117 find out which raw bioassays that are part of it and118 which bioassay sets have been created as part of the analysis.119 Find reporter lists that are part of the experiment and120 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 are131 attached to bioassay sets. Data from the database must first be132 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 that143 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 that154 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 that165 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 depends200 on which program language you are using. BASE comes with a simple client API for java201 for the existing services. If you use this API, you don't have to worry about WSDL202 files, stubs and skeletons and other web services related stuff. Just use it203 the client API as any other java API.204 </para>205 206 <para>207 The client API can be downloaded with example code from the208 <ulink url="http://baseplugins.thep.lu.se/wiki/net.sf.basedb.examples.webservices">BASE plug-ins209 website</ulink>. The package contains all external JAR files you need, the210 WSDL files (in case you still want them) and some example code that211 logs in to a BASE server, lists projects and experiments and then logs out212 again. Here is a short example of how to login to a BASE server, list213 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 session222 SessionClient session = new SessionClient(serviceUrl, null, null);223 224 // Login225 session.login(login, password, null);226 227 // Get all projects and print out name and ID228 ExperimentClient ex = new ExperimentClient(session);229 ExperimentInfo[] experiments = ec.getExperiments(new QueryOptions());230 231 if (experiments != null && experiments.length > 0)232 {233 for (ExperimentInfo info : experiments)234 {235 System.out.println("name=" + info.getName() + "; id=" +info.getId());236 }237 }238 239 // Logout240 session.logout();241 </programlisting>242 243 <para>244 If you want to use another language than Java or you don't want to245 use our client API, you probably need the WSDL files. These can be found246 in the client API package discussed above and also in the BASE core247 distribution in the <filename><base-dir>/misc/wsdl</filename>248 directory. The WSDL files can also be generated on the fly by the BASE server249 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 this257 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 short266 program example that downloads the CEL files for all raw bioassays in an267 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 bioassay276 ExperimentClient ec = new ExperimentClient(session);277 RawBioAssayClient rc = new RawBioAssayClient(session);278 279 // Get all raw bioassays in the experiment280 RawBioAssayInfo[] rawInfo = ec.getRawBioAssays(experimentId, new QueryOptions());281 if (rawInfo == null && rawInfo.length == 0) return;282 283 for (RawBioAssayInfo info : rawInfo)284 {285 // We receive the file contents as an InputStream286 InputStream download = rc.downloadRawDataByType(info.getId(), fileType);287 288 // Save to file with the same name as the raw bioassay + .cel289 // assume that there are no duplicates290 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't297 want to use the client API you must know how to get access to the298 received file. The data is sent as a binary attachment to an element in the299 XML. It is in the interest of the client developer to know how to get access300 to a received file and to make sure that the programming language/web services301 framework that is used supports MTOM. Below is a listing which shows an302 example of a returned message from the303 <methodname>RawBioAssayService.downloadRawDataByType()</methodname>304 service.305 </para>306 307 <programlisting>308 <![CDATA[309 --MIMEBoundaryurn_uuid_1526E5ADD9FC4431651195044149664310 Content-Type: application/xop+xml; charset=UTF-8; type="application/soap+xml"311 Content-Transfer-Encoding: binary312 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_1526E5ADD9FC4431651195044149664323 Content-Type: text/plain324 Content-Transfer-Encoding: binary325 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 the334 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.java342 protected InputStream invokeFileBlocking(String operation, Object... args)343 throws AxisFault, IOException344 {345 //Get the original response element as sent from the server-side346 OMElement response = getService().invokeBlocking(getOperation(operation), args);347 348 //The file element returned from the service is the first element of the response349 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 extends374 <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 client390 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 here399 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 are409 compiled (see below). This step is not needed for BASE to work410 but may be appreciated by client application developers.411 </para>412 </listitem>413 <listitem>414 <para>415 Register the service in the416 <filename><base-dir>/src/webservices/server/META-INF/services.xml</filename>417 file. This is an XML file listing all services and is needed418 for BASE (Axis) to pick up the new service and expose it to the419 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 in425 <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-file453 generated when the web services are compiled. The WSDL-file will be a help for those454 developers who intend to create client applications to the new service. It is a455 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 one457 below to the <constant>webservices.wsdl</constant> target. Replace458 <replaceable>SessionService</replaceable> with the name of the new service class.459 </para>460 461 <programlisting language="xml">462 <webservices.wsdl serviceClassName="SessionService"/>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 information472 about projects and experiments from a BASE server. The example code473 can also download raw data files attached to an experiment. The example474 code can be used as a starting point for developers wanting to do their475 own client.476 477 You can <ulink url="http://baseplugins.thep.lu.se/wiki/net.sf.basedb.examples.webservices">download478 a tar file with the source and compiled code</ulink> from the BASE plug-ins website.479 </para>480 481 </sect1>482 42 483 43 </chapter> -
trunk/doc/src/docbook/overview/features.xml
r5846 r6465 37 37 customisation, streamlined access to analysis tools, integration 38 38 of <ulink url='http://www.tm4.org/mev/'>MultiExperiment Viewer 39 (MeV)</ulink>, web services API,and more. To support all39 (MeV)</ulink>, and more. To support all 40 40 components the underlying relational database has grown to become 41 41 very large and complex, especially since BASE itself works with … … 158 158 of tools are pre-installed with BASE, and optional plug-ins can 159 159 be downloaded from the <ulink 160 href='http://baseplugins.thep.lu.se'>BASE plug-in site160 url="http://baseplugins.thep.lu.se">BASE plug-in site 161 161 </ulink>. BASE capitalise from other software tools, such as 162 162 MEV, by integrating them into the user interface. Such -
trunk/doc/src/docbook/overview/resources.xml
r5864 r6465 202 202 commit access to the repository, and how to submit a plug-in to the 203 203 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. 205 205 </para> 206 206 </sect1> -
trunk/misc
- Property svn:ignore deleted
-
trunk/src/core/net/sf/basedb/core/AnnotatedItem.java
r6434 r6465 25 25 import net.sf.basedb.core.data.AnnotatedData; 26 26 import net.sf.basedb.core.data.AnnotationSetData; 27 import net.sf.basedb.info.AnnotatedItemInfo;28 27 29 28 /** … … 38 37 @base.modified $Date$ 39 38 */ 40 @SuppressWarnings("deprecation")41 39 public abstract class AnnotatedItem<D extends AnnotatedData> 42 40 extends CommonItem<D> … … 96 94 // ------------------------------------------- 97 95 98 /**99 @since 2.5100 @deprecated In 3.3, no replacement101 */102 @Deprecated103 AnnotatedItemInfo toTransferable(AnnotatedItemInfo info)104 {105 super.toTransferable(info);106 info.setAnnotated(this.isAnnotated());107 return info;108 }109 96 } 110 97 -
trunk/src/core/net/sf/basedb/core/AnnotationType.java
r6434 r6465 33 33 import net.sf.basedb.core.query.Hql; 34 34 import 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;38 35 39 36 import java.util.Date; … … 59 56 @base.modified $Date$ 60 57 */ 61 @SuppressWarnings("deprecation")62 58 public class AnnotationType 63 59 extends CommonItem<AnnotationTypeData> 64 implements ToTransferable<AnnotationTypeInfo>,Registered60 implements Registered 65 61 { 66 62 /** … … 284 280 return using; 285 281 } 286 /**287 @deprecated In 3.3, no replacement288 */289 @Deprecated290 @Override291 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 @Override309 public String format(Item item)310 {311 return item.name();312 }313 @Override314 public Item parseString(String value)315 {316 return Item.valueOf(value);317 }318 }319 ));320 return info;321 }322 323 282 // ------------------------------------------- 324 283 -
trunk/src/core/net/sf/basedb/core/ArrayDesign.java
r6434 r6465 30 30 import net.sf.basedb.core.query.Hql; 31 31 import net.sf.basedb.core.query.Restrictions; 32 import net.sf.basedb.info.ArrayDesignInfo;33 import net.sf.basedb.info.ToTransferable;34 32 35 33 import java.util.Collection; … … 60 58 @version 2.0 61 59 */ 62 @SuppressWarnings("deprecation")63 60 public class ArrayDesign 64 61 extends AnnotatedItem<ArrayDesignData> 65 implements FileStoreEnabled, ToTransferable<ArrayDesignInfo>,Registered62 implements FileStoreEnabled, Registered 66 63 { 67 64 … … 849 846 getData().setHasFeatures(numFeatures > 0 || getNumDbFeatures() > 0); 850 847 } 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 865 849 } -
trunk/src/core/net/sf/basedb/core/BasicItem.java
r6434 r6465 24 24 25 25 import net.sf.basedb.core.data.BasicData; 26 import net.sf.basedb.info.BasicItemInfo;27 26 28 27 import java.lang.ref.WeakReference; … … 39 38 @base.modified $Date$ 40 39 */ 41 @SuppressWarnings("deprecation")42 40 public abstract class BasicItem<D extends BasicData> 43 41 implements Identifiable … … 181 179 // ------------------------------------------- 182 180 183 /**184 @since 2.5185 @deprecated In 3.3, no replacement186 */187 @Deprecated188 BasicItemInfo toTransferable(BasicItemInfo info)189 {190 info.setId(this.getId());191 info.setVersion(getVersion());192 return info;193 }194 195 181 /** 196 182 Checks if the item has been saved to the database or not. -
trunk/src/core/net/sf/basedb/core/BioAssaySet.java
r6434 r6465 40 40 import net.sf.basedb.core.query.Selects; 41 41 import net.sf.basedb.core.query.JoinType; 42 import net.sf.basedb.info.BioAssaySetInfo;43 import net.sf.basedb.info.ToTransferable;44 42 45 43 import java.util.Collections; … … 67 65 @base.modified $Date$ 68 66 */ 69 @SuppressWarnings("deprecation")70 67 public class BioAssaySet 71 68 extends ChildItem<BioAssaySetData> 72 69 implements Nameable, Removable, Annotatable, 73 FileStoreEnabled , ToTransferable<BioAssaySetInfo>70 FileStoreEnabled 74 71 { 75 72 /** … … 429 426 } 430 427 431 /**432 @since 2.5433 @deprecated In 3.3, no replacement434 */435 @Deprecated436 @Override437 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 }446 428 // ------------------------------------------- 447 429 -
trunk/src/core/net/sf/basedb/core/CommonItem.java
r6434 r6465 25 25 26 26 import net.sf.basedb.core.data.CommonData; 27 import net.sf.basedb.info.CommonItemInfo;28 27 29 28 /** … … 31 30 @version 2.0 32 31 */ 33 @SuppressWarnings("deprecation")34 32 public abstract class CommonItem<D extends CommonData> 35 33 extends SharedItem<D> … … 88 86 } 89 87 90 /**91 @since 2.592 @deprecated In 3.3, no replacement93 */94 @Deprecated95 CommonItemInfo toTransferable(CommonItemInfo info)96 {97 super.toTransferable(info);98 info.setDescription(this.getDescription());99 info.setName(this.getName());100 return info;101 }102 88 } 103 89 -
trunk/src/core/net/sf/basedb/core/DataFileType.java
r6434 r6465 28 28 import net.sf.basedb.core.query.Hql; 29 29 import net.sf.basedb.core.query.Restrictions; 30 import net.sf.basedb.info.DataFileTypeInfo;31 import net.sf.basedb.info.ToTransferable;32 30 import net.sf.basedb.util.extensions.ClientContext; 33 31 import net.sf.basedb.util.extensions.ExtensionsInvoker; … … 44 42 @base.modified $Date$ 45 43 */ 46 @SuppressWarnings("deprecation")47 44 public class DataFileType 48 45 extends BasicItem<DataFileTypeData> 49 implements Nameable, Removable, ToTransferable<DataFileTypeInfo>,Validatable46 implements Nameable, Removable, Validatable 50 47 { 51 48 … … 481 478 return using; 482 479 } 483 484 /**485 @since 2.5486 @deprecated In 3.3, no replacement487 */488 @Deprecated489 @Override490 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 }499 480 // ------------------------------------------- 500 481 -
trunk/src/core/net/sf/basedb/core/DynamicSpotQuery.java
r6435 r6465 59 59 @base.modified $Date$ 60 60 */ 61 @SuppressWarnings("deprecation")62 61 public class DynamicSpotQuery 63 62 extends DynamicQuery -
trunk/src/core/net/sf/basedb/core/Experiment.java
r6434 r6465 28 28 import net.sf.basedb.core.query.Restrictions; 29 29 import net.sf.basedb.core.query.Hql; 30 import net.sf.basedb.info.ExperimentInfo;31 import net.sf.basedb.info.ToTransferable;32 30 33 31 import java.util.Date; … … 51 49 @base.modified $Date$ 52 50 */ 53 @SuppressWarnings("deprecation")54 51 public class Experiment 55 52 extends AnnotatedItem<ExperimentData> 56 implements DiskConsumable, Transactional, ToTransferable<ExperimentInfo>,Registered53 implements DiskConsumable, Transactional, Registered 57 54 { 58 55 /** … … 348 345 newReporterCloneTable = null; 349 346 } 350 351 /**352 @since 2.5353 @deprecated In 3.3, no replacement354 */355 @Deprecated356 @Override357 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 372 347 // ------------------------------------------- 373 348 -
trunk/src/core/net/sf/basedb/core/ExtendedProperty.java
r6434 r6465 24 24 package net.sf.basedb.core; 25 25 26 import net.sf.basedb.info.ExtendedPropertyInfo;27 import net.sf.basedb.info.ToTransferable;28 29 26 import java.text.NumberFormat; 30 27 import java.util.List; … … 40 37 @version 2.0 41 38 */ 42 @SuppressWarnings("deprecation")43 39 public class ExtendedProperty 44 implements ToTransferable<ExtendedPropertyInfo>45 40 { 46 41 … … 308 303 return url; 309 304 } 310 311 @Override312 @Deprecated313 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 326 305 } 327 306 -
trunk/src/core/net/sf/basedb/core/File.java
r6434 r6465 30 30 import net.sf.basedb.core.data.ItemSubtypeData; 31 31 import net.sf.basedb.core.data.MimeTypeData; 32 import net.sf.basedb.info.FileInfo;33 import net.sf.basedb.info.ToTransferable;34 32 import net.sf.basedb.util.EqualsHelper; 35 33 import net.sf.basedb.util.FileUtil; … … 79 77 @base.modified $Date$ 80 78 */ 81 @SuppressWarnings("deprecation")82 79 public class File 83 80 extends CommonItem<FileData> 84 implements Transactional, DiskConsumable, Subtypable , ToTransferable<FileInfo>81 implements Transactional, DiskConsumable, Subtypable 85 82 { 86 83 /** … … 710 707 if (isWriteProtected()) denied |= Permission.deny(Permission.DELETE); 711 708 super.initPermissions(granted, denied); 712 }713 /**714 @since 3.0715 @deprecated In 3.3, no replacement716 */717 @Deprecated718 @Override719 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;728 709 } 729 710 // ------------------------------------------- -
trunk/src/core/net/sf/basedb/core/FileSet.java
r6435 r6465 54 54 @base.modified $Date$ 55 55 */ 56 @SuppressWarnings("deprecation")57 56 public class FileSet 58 57 extends BasicItem<FileSetData> -
trunk/src/core/net/sf/basedb/core/FileSetMember.java
r6434 r6465 26 26 import net.sf.basedb.core.query.Hql; 27 27 import 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;32 28 33 29 /** … … 38 34 @base.modified $Date$ 39 35 */ 40 @SuppressWarnings("deprecation")41 36 public class FileSetMember 42 37 extends BasicItem<FileSetMemberData> 43 implements ToTransferable<FileSetMemberInfo>44 38 { 45 39 … … 173 167 return PluginPermission.NO_PLUGIN; 174 168 } 175 /**176 @since 3.0177 @deprecated In 3.3, no replacement178 */179 @Deprecated180 @Override181 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 }190 169 // ------------------------------------------- 191 170 -
trunk/src/core/net/sf/basedb/core/ItemSubtype.java
r6435 r6465 50 50 @base.modified $Date$ 51 51 */ 52 @SuppressWarnings("deprecation")53 52 public class ItemSubtype 54 53 extends BasicItem<ItemSubtypeData> -
trunk/src/core/net/sf/basedb/core/Job.java
r6453 r6465 79 79 @base.modified $Date$ 80 80 */ 81 @SuppressWarnings("deprecation")82 81 public class Job 83 82 extends CommonItem<JobData> -
trunk/src/core/net/sf/basedb/core/OwnedItem.java
r6434 r6465 25 25 import net.sf.basedb.core.data.OwnedData; 26 26 import net.sf.basedb.core.data.UserData; 27 import net.sf.basedb.info.OwnedItemInfo;28 27 29 28 /** … … 39 38 @base.modified $Date$ 40 39 */ 41 @SuppressWarnings("deprecation")42 40 public abstract class OwnedItem<D extends OwnedData> 43 41 extends BasicItem<D> … … 123 121 super.initPermissions(granted, denied); 124 122 } 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 137 124 } -
trunk/src/core/net/sf/basedb/core/PluginDefinition.java
r6435 r6465 64 64 @base.modified $Date$ 65 65 */ 66 @SuppressWarnings("deprecation")67 66 public class PluginDefinition 68 67 extends CommonItem<PluginDefinitionData> -
trunk/src/core/net/sf/basedb/core/Project.java
r6434 r6465 37 37 import net.sf.basedb.core.query.ResultList; 38 38 import net.sf.basedb.core.query.Selects; 39 import net.sf.basedb.info.ProjectInfo;40 import net.sf.basedb.info.ToTransferable;41 39 import net.sf.basedb.util.EqualsHelper; 42 40 … … 86 84 @base.modified $Date$ 87 85 */ 88 @SuppressWarnings("deprecation")89 86 public class Project 90 87 extends OwnedItem<ProjectData> 91 implements Nameable, Removable, ToTransferable<ProjectInfo>,Registered88 implements Nameable, Removable, Registered 92 89 { 93 90 /** … … 1053 1050 1054 1051 /** 1055 @deprecated In 3.3, no replacement1056 */1057 @Deprecated1058 @Override1059 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 /**1068 1052 A runtime filter implementation that limits a query to only 1069 1053 return projects where the logged in user is a member or owner -
trunk/src/core/net/sf/basedb/core/Protocol.java
r6435 r6465 37 37 @version 2.0 38 38 */ 39 @SuppressWarnings("deprecation")40 39 public class Protocol 41 40 extends AnnotatedItem<ProtocolData> -
trunk/src/core/net/sf/basedb/core/RawBioAssay.java
r6434 r6465 38 38 import net.sf.basedb.core.signal.SignalException; 39 39 import net.sf.basedb.core.signal.ThreadSignalHandler; 40 import net.sf.basedb.info.RawBioAssayInfo;41 import net.sf.basedb.info.ToTransferable;42 40 43 41 import java.util.Collection; … … 66 64 @base.modified $Date$ 67 65 */ 68 @SuppressWarnings("deprecation")69 66 public class RawBioAssay 70 67 extends AnnotatedItem<RawBioAssayData> 71 implements DiskConsumable, FileStoreEnabled, ToTransferable<RawBioAssayInfo>,Registered68 implements DiskConsumable, FileStoreEnabled, Registered 72 69 { 73 70 /** … … 450 447 protocolHasBeenSet = true; 451 448 } 452 }453 454 /**455 @since 2.5456 @deprecated In 3.3, no replacement457 */458 @Deprecated459 @Override460 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;468 449 } 469 450 // ------------------------------------------- -
trunk/src/core/net/sf/basedb/core/RawDataType.java
r6435 r6465 45 45 @base.modified $Date$ 46 46 */ 47 @SuppressWarnings("deprecation")48 47 public class RawDataType 49 48 implements Comparable<RawDataType> -
trunk/src/core/net/sf/basedb/core/ReporterList.java
r6434 r6465 37 37 import net.sf.basedb.core.data.ReporterData; 38 38 import net.sf.basedb.core.data.ReporterListScoreData; 39 import net.sf.basedb.info.ReporterListInfo;40 import net.sf.basedb.info.ToTransferable;41 39 42 40 … … 47 45 @base.modified $Date$ 48 46 */ 49 @SuppressWarnings("deprecation")50 47 public class ReporterList 51 48 extends CommonItem<ReporterListData> 52 implements ToTransferable<ReporterListInfo>,Registered49 implements Registered 53 50 { 54 51 /** … … 788 785 return query; 789 786 } 790 /**791 @deprecated In 3.3, no replacement792 */793 @Deprecated794 @Override795 public ReporterListInfo toTransferable(ReporterListInfo info)796 {797 super.toTransferable(info);798 info.setExternalId(this.getExternalId());799 return info;800 }801 787 802 788 } -
trunk/src/core/net/sf/basedb/core/SessionControl.java
r6448 r6465 75 75 @base.modified $Date$ 76 76 */ 77 @SuppressWarnings("deprecation")78 77 public class SessionControl 79 78 { -
trunk/src/core/net/sf/basedb/core/SharedItem.java
r6434 r6465 26 26 import net.sf.basedb.core.data.SharedData; 27 27 import net.sf.basedb.core.data.ProjectKeyData; 28 import net.sf.basedb.info.SharedItemInfo;29 28 30 29 /** … … 39 38 @base.modified $Date$ 40 39 */ 41 @SuppressWarnings("deprecation")42 40 public abstract class SharedItem<D extends SharedData> 43 41 extends OwnedItem<D> … … 133 131 super.initPermissions(granted, denied); 134 132 } 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 147 134 } -
trunk/src/core/net/sf/basedb/util/AnnotationUtil.java
r6456 r6465 40 40 import net.sf.basedb.core.RawBioAssay; 41 41 import net.sf.basedb.util.biomaterial.ChildrenTransformer; 42 import net.sf.basedb.util.extensions.events.AllEventsFilter;43 42 import net.sf.basedb.util.filter.Filter; 44 43
Note: See TracChangeset
for help on using the changeset viewer.