Project

General

Profile

« Previous | Next » 

Revision 2737

Added by Matt Jones over 18 years ago

Initial checkin of LSID support code for metacat. The LSID support here
provides access to metacat documents through an LSID identifier. The
identifier takes the form:
urn:lsid:ecoinformatics.org:jones:1:1

See http://lsid.sourceforge.net for more details.

LSID build support has been added to build.properties and build.xml but
still needs work on integrating it with the main metacat build. Build
and deploy the "authority" servlet by setting properties in
build.properties and then running "ant deploy-lsid".

Still to do: finish integrating with build, add ability to insert,
update, and delete documents using LSID id, allow read using LSID ID,
convert xslts to optionally display and link the LSID ID, and add
support for hosting multiple LSID authorities (Foreign Authority
Notification is the likely approach).

View differences:

build.xml
156 156
      
157 157
      <!-- It is less likely you'll need to make any changes from here down,
158 158
           but customization is possible -->
159
      <property name="installdir"          value="${webapps}/${context}" />
160
      <property name="temp-dir"            value="/tmp/${context}" />
159
      <property name="installdir"          value="${deploy.dir}/${metacat.context}" />
160
      <property name="temp-dir"            value="/tmp/${metacat.context}" />
161 161
      <property name="name"                value="metacat"/>
162 162
      <property name="Name"                value="MetaCat"/>
163 163
      <property name="debugprefix"         value="${Name}:"/>
164 164
      <property name="release"             value="1.6.0"/>
165
      <property name="replication-path"    value="/${context}/servlet/replication"/>
166
      <property name="harvester-registration-login-path" value="/${context}/harvesterRegistrationLogin"/>
167
      <property name="harvester-registration-path"       value="/${context}/harvesterRegistration"/>
168
      <property name="servlet-path"        value="/${context}/metacat"/>
169
      <property name="html-path"           value="/${context}"/>
165
      <property name="replication-path"    value="/${metacat.context}/servlet/replication"/>
166
      <property name="harvester-registration-login-path" value="/${metacat.context}/harvesterRegistrationLogin"/>
167
      <property name="harvester-registration-path"       value="/${metacat.context}/harvesterRegistration"/>
168
      <property name="servlet-path"        value="/${metacat.context}/metacat"/>
169
      <property name="html-path"           value="/${metacat.context}"/>
170 170
      <property name="systemidserver"      value="http://${httpserver}"/>
171 171
      <property name="style-common-relpath"
172 172
                                           value="/style/common"/>
......
176 176
                                           value="/${installdir}${style-common-relpath}"/>
177 177
      <property name="templates.dir"       value="${style-common-fullpath}/templates"/>
178 178
      <property name="style-common-path"
179
                                           value="/${context}${style-common-relpath}"/>
179
                                           value="/${metacat.context}${style-common-relpath}"/>
180 180
      <property name="style-skins-relpath" value="/style/skins"/>
181
      <property name="style-skins-path"    value="/${context}${style-skins-relpath}"/>
181
      <property name="style-skins-path"    value="/${metacat.context}${style-skins-relpath}"/>
182 182
      <property name="replication-log"     value="/tmp/metacatreplication.log"/>
183 183
      <property name="replicationerrorlog" value="/tmp/metacatreplication.err"/>
184
      <property name="config-dir"          value="${webapps}/${style-skins-path}" />
184
      <property name="config-dir"          value="${deploy.dir}/${style-skins-path}" />
185 185
      <property name="util-module"         value="utilities" />
186 186
      <property name="eml-module"          value="eml" />
187 187
      <property name="eml-version"         value="2.0.0beta6" />
......
284 284
      <filter token="eml2_0_1namespace" value="${eml2_0_1namespace}"/>
285 285
      <filter token="eml2_1_0namespace" value="${eml2_1_0namespace}"/>
286 286
      <filter token="stmmlnamespace" value="${stmmlnamespace}"/>
287
      <filter token="context" value="${context}"/>
287
      <filter token="context" value="${metacat.context}"/>
288 288
      <filter token="forcereplicationwaitingtime" value="${forcereplicationwaitingtime}" />
289 289
      <filter token="debuglevel" value="${debuglevel}" />
290 290
      <filter token="datafilepath" value="${datafilepath}" />
......
743 743
       <chmod dir="${datafilepath}" perm="ug+w" />
744 744
       <mkdir dir="${temp-dir}"/>
745 745
       <chmod dir="${temp-dir}" perm="ug+w" />
746
       <copy file="${build.dir}/${context}.war" todir="${webapps}"/>
746
       <copy file="${dist.dir}/${metacat.context}.war" todir="${deploy.dir}"/>
747 747
   </target>
748 748

  
749 749
   <target name="upgrade" depends="install"
750 750
          description="* Upgrade an existing metacat installation with a new version *">
751
       <unwar src="${webapps}/${context}.war" dest="${webapps}/${context}" />
751
       <unwar src="${deploy.dir}/${metacat.context}.war" dest="${deploy.dir}/${metacat.context}" />
752 752
   </target>
753 753

  
754 754
   <target name="install-registry" depends="init,getConversionXSL"
......
836 836

  
837 837
   <target name="war" depends="warPrepare,warMSSQL"
838 838
            description="Create a web archive (WAR) for servlet deployment">
839
       <war destfile="${build.dir}/${context}.war"
839
       <mkdir dir="${dist.dir}" />
840
       <war destfile="${dist.dir}/${metacat.context}.war"
840 841
            webxml="${build.war}/web.xml">
841 842
         <fileset dir="${war.context}"/>
842 843
         <lib dir="${war.lib}"/>
......
849 850

  
850 851
       <property name="war.lib" value="${build.war}/lib" />
851 852
       <property name="war.webinf" value="${build.war}/WEB-INF" />
852
       <property name="war.context" value="${build.war}/${context}" />
853
       <property name="war.context" value="${build.war}/${metacat.context}" />
853 854
       <mkdir dir="${war.lib}" />
854 855
       <mkdir dir="${war.webinf}" />
855 856
       <mkdir dir="${war.context}" />
......
1098 1099
   <target name="clean" depends="init"
1099 1100
            description="deletes build dir and files that can be regenerated form the release">
1100 1101
       <delete dir="${build.dir}" />
1102
       <delete dir="${dist.dir}" />
1101 1103
   </target>
1102 1104

  
1103 1105
   <target name="fullclean" depends="clean"
......
1321 1323
    </exec>
1322 1324
  </target>
1323 1325

  
1326
    <!-- LSID Authority support -->
1327
    <patternset id="lsid.jars">
1328
        <include name="axis.jar" />
1329
        <include name="commons-discovery.jar" />
1330
        <include name="jaxrpc.jar" />
1331
        <include name="lsid-client-1.1.1.jar" />
1332
        <include name="lsid-server-1.1.1.jar" />
1333
        <include name="saaj.jar" />
1334
        <include name="wsdl4j.jar" />
1335
        <!-- These jars may be needed but seem to not actually be,
1336
             so leaving them out for now
1337
        <include name="activation.jar" />
1338
        <include name="axis-ant.jar" />
1339
        <include name="castor-0.9.5.jar" />
1340
        <include name="commons-logging.jar" />
1341
        <include name="dnsjava-1.3.2.jar" />
1342
        <include name="mail.jar" />
1343
        -->
1344
        <!--<include name="GenCastor.class" />-->
1345
    </patternset>
1346
    <patternset id="lib.jars">
1347
        <include name="httpclient.jar" />
1348
        <include name="log4j-1.2.12.jar" />
1349
        <include name="utilities.jar" />
1350
        <include name="xercesImpl.jar" />
1351
        <include name="xalan.jar" />
1352
        <include name="xml-apis.jar" />
1353
    </patternset>
1354

  
1355
    <path id="lsid.classpath">
1356
        <fileset dir="${lsid.lib.dir}">
1357
            <patternset refid="lsid.jars"/>
1358
        </fileset>
1359
        <fileset dir="${lib.dir}">
1360
            <patternset refid="lsid.jars"/>
1361
        </fileset>
1362
        <fileset dir="${lib.dir}/xalan">
1363
            <include name="xalan.jar" />
1364
            <include name="xml-apis.jar" />
1365
        </fileset>
1366
        <fileset dir="${build.dir}">
1367
            <include name="metacat-client.jar" />
1368
        </fileset>
1369
    </path>
1370

  
1371
    <filterset id="configFilters">
1372
        <filter token="LSID_AUTHORITY_HOSTNAME"
1373
                value="${config.hostname}" />
1374
        <filter token="LSID_AUTHORITY_PORT"
1375
                value="${config.port}" />
1376
        <filter token="METADATA_LABELS"
1377
                value="${config.metadataLabelLsid}" />
1378
        <filter token="METACAT_SERVER"
1379
                value="${config.metacatserver}" />
1380
        <filter token="LSID_AUTHORITY_STRING"
1381
                value="${config.lsidauthority}" />
1382
    </filterset>
1383
    
1384
    <target name="prepare-lsid"
1385
            depends="prepare,utilities,clientjar"
1386
            description="Configure files prior to compilation">
1387
        <mkdir dir="${lsid.build.dir}" />
1388
        <!-- Copy the properties file into the build -->
1389
        <copy file="${conf.dir}/metacat-lsid.properties"
1390
              tofile="${lsid.build.dir}/WEB-INF/classes/metacat-lsid.properties"
1391
              overwrite="true">
1392
            <filterset refid="configFilters" />
1393
        </copy>
1394
        <!-- Copy config files into the build -->
1395
        <copy todir="${lsid.build.dir}/WEB-INF">
1396
            <fileset dir="${webinf.dir}"
1397
                     includes="**/*.wsdd" />
1398
        </copy>
1399
        <!-- Copy the metadata configuration files into the build -->
1400
        <mkdir dir="${lsid.build.dir}/WEB-INF/classes/${lsid.classes.dir}" />
1401
        <copy todir="${lsid.build.dir}/WEB-INF/classes/${lsid.classes.dir}">
1402
            <fileset dir="${conf.dir}"
1403
                     includes="**/*.xml" />
1404
            <fileset dir="${conf.dir}"
1405
                     includes="**/*.xslt" />
1406
            <filterset refid="configFilters" />
1407
        </copy>
1408
        <!-- Copy services files into the build -->
1409
        <mkdir dir="${lsid.build.dir}/services" />
1410
        <copy todir="${lsid.build.dir}/services">
1411
            <fileset dir="${services.dir}" />
1412
            <filterset refid="configFilters" />
1413
        </copy>
1414
    </target>
1415
    
1416
    <target name="compile-lsid"
1417
            depends="prepare-lsid"
1418
            description="Compile Java sources">
1419
        <mkdir dir="${lsid.build.dir}/WEB-INF/classes" />
1420
        <javac srcdir="src/edu/ucsb/nceas/metacat/lsid"
1421
               destdir="${lsid.build.dir}/WEB-INF/classes"
1422
               debug="${compile.debug}"
1423
               deprecation="${compile.deprecation}"
1424
               optimize="${compile.optimize}">
1425
            <classpath refid="lsid.classpath" />
1426
        </javac>
1427
    </target>
1428
    
1429
    <target name="war-lsid"
1430
            depends="compile-lsid"
1431
            description="Create a war file for the application">
1432
        <mkdir dir="${dist.dir}" />
1433
        <war destfile="${dist.dir}/${authority.context}.war"
1434
             webxml="${webinf.dir}/web.xml">
1435
            <fileset dir="${lsid.build.dir}" />
1436
            <lib dir="${lsid.lib.dir}">
1437
                <patternset refid="lsid.jars"/>
1438
            </lib>
1439
            <lib dir="${lib.dir}">
1440
                <patternset refid="lib.jars"/>
1441
            </lib>
1442
            <lib dir="${lib.dir}/xalan">
1443
                <include name="xalan.jar" />
1444
                <include name="xml-apis.jar" />
1445
            </lib>
1446
            <lib dir="${build.dir}">
1447
                <include name="metacat-client.jar" />
1448
            </lib>
1449
        </war>
1450
    </target>
1451
    
1452
    <target name="deploy-lsid"
1453
            depends="war-lsid"
1454
            description="Deploy LSID war to servlet container">
1455
        <delete dir="${deploy.dir}/${authority.context}" />
1456
        <delete file="${deploy.dir}/${authority.context}.war" />
1457
        <mkdir dir="${deploy.dir}" />
1458
        <copy todir="${deploy.dir}">
1459
            <fileset dir="${dist.dir}" />
1460
        </copy>
1461
    </target>
1324 1462
</project>

Also available in: Unified diff