Changeset 35240


Ignore:
Timestamp:
2021-08-03T14:36:14+12:00 (3 years ago)
Author:
davidb
Message:

Add setup file and ANT configuration tasks to allow including the API key and other properties

Location:
gs3-extensions/atea-nlp-tools/trunk/src/koreromaori-proxy
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • gs3-extensions/atea-nlp-tools/trunk/src/koreromaori-proxy

    • Property svn:ignore set to
      build
  • gs3-extensions/atea-nlp-tools/trunk/src/koreromaori-proxy/build.xml

    r35239 r35240  
    44    <property name="build.home" value="${basedir}/build" />
    55    <property name="web.dir" value="${basedir}/src/main/webapp" />
    6     <available property="ext.web.exists" file="${basedir}/web" type="dir" />
    76   
    87    <condition property="tomcat.dir" value="${gs3.tomcat.installed.path}" else="${basedir}/../../../packages/tomcat">
     
    2423   
    2524    <!-- Targets -->
     25    <target name="file-checks" description="Ensures that required external files exist.">
     26        <fail message="config.properties was not found. Please run ${basedir}/setup.sh">
     27            <condition>
     28                <not>
     29                    <available file="${basedir}/config.properties"></available>
     30                </not>
     31            </condition>
     32        </fail>
     33     </target>
     34
    2635    <target name="usage" description="Print a help message">
    2736        <echo message="  Execute 'ant -projecthelp' for a list of targets." />
    2837        <echo message="  Execute 'ant -help' for Ant help." />
    29         <echo>
    30             To install the servlet for the Korero Maori
    31         </echo>
    3238    </target>
    3339   
     
    4652            </classpath>
    4753        </javac>
    48 
    49         <copy file="${basedir}/log4j2.xml" todir="${build.classes}" />
    50        
    51         <!-- Package our classes into a jar -->
    52         <!--<jar destfile="${build.home}/lib/gs3-koreromaori.jar">
    53             <fileset dir="${build.home}">
    54                 <include name="org/atea/**" />
    55             </fileset>
    56             <manifest>
    57                 <attribute name="Built-By" value="${user.name}" />
    58             </manifest>
    59         </jar>-->
    6054    </target>
    6155   
    62     <target name="package" depends="compile" description="Packages the Korero Maori interface into a war file">
     56    <target name="package" depends="file-checks,compile" description="Packages the Korero Maori interface into a war file.">
    6357        <echo message="Creating ${guild.home}/gs3-koreromaori.war" />
     58
     59        <!-- <copy file="${basedir}/config.properties" todir="${build.classes}" />
     60        <echo message="Copied configuration file" /> -->
     61        <copy file="${basedir}/log4j2.xml" todir="${build.classes}" />
    6462       
    6563        <war destfile="${build.home}/gs3-koreromaori.war" webxml="${web.dir}/WEB-INF/web.xml">
    6664            <fileset dir="${web.dir}/webContent" includes="**" />
     65            <fileset file="${basedir}/config.properties" />
    6766       
    6867            <lib dir="lib/java">
  • gs3-extensions/atea-nlp-tools/trunk/src/koreromaori-proxy/log4j2.xml

    r35239 r35240  
    22<Configuration status="warn" name="KoreroMaoriInterface" packages="">
    33  <Appenders>
    4     <File name="FileOutput" fileName="../webapps/gs3-koreromaori/koreromaoriinterface.log" append="true">
     4    <File name="FileOutput" fileName="../webapps/gs3-koreromaori/log.log" append="true">
    55      <PatternLayout>
    66        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
  • gs3-extensions/atea-nlp-tools/trunk/src/koreromaori-proxy/src/main/java/org/atea/nlptools/koreromaoriinterface/TranscriptionServlet.java

    r35239 r35240  
    11package org.atea.nlptools.koreromaoriinterface;
    22
     3import java.io.FileInputStream;
    34import java.io.IOException;
    45import java.io.InputStream;
     
    78import java.util.ArrayList;
    89import java.util.List;
     10import java.util.Properties;
    911
    1012import javax.servlet.ServletException;
     
    3436
    3537    private final Gson jsonSerialiser;
    36     private final ReoTuhituhiApiService transcriptionService;
     38
     39    private ReoTuhituhiApiService transcriptionService;
    3740
    3841    public TranscriptionServlet()
    3942    {
    4043        jsonSerialiser = new GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create();
    41         this.transcriptionService = new ReoTuhituhiApiService(jsonSerialiser);
     44    }
     45
     46    @Override
     47    public void init()
     48    {
     49        Properties prop = new Properties();
     50
     51        try {
     52            FileInputStream fis = new FileInputStream("../webapps/gs3-koreromaori/config.properties");
     53            prop.load(fis);
     54            fis.close();
     55        } catch (IOException e) {
     56            e.printStackTrace();
     57        }
     58
     59        String apiEndpoint = prop.getProperty("tuhituhi.api.endpoint");
     60        String apiKey = prop.getProperty("tuhituhi.api.key");
     61       
     62        this.transcriptionService = new ReoTuhituhiApiService(jsonSerialiser, apiEndpoint, apiKey);
    4263    }
    4364
  • gs3-extensions/atea-nlp-tools/trunk/src/koreromaori-proxy/src/main/java/org/atea/nlptools/koreromaoriinterface/services/ReoTuhituhiApiService.java

    r35239 r35240  
    2525    private final ExecutorService threadPool;
    2626    private final Gson jsonSerialiser;
     27    private final String apiEndpoint;
     28    private final String apiKey;
    2729
    28     public ReoTuhituhiApiService(Gson jsonSerialiser)
     30    public ReoTuhituhiApiService(Gson jsonSerialiser, String apiEndpoint, String apiKey)
    2931    {
    3032        this.jsonSerialiser = jsonSerialiser;
     33        this.apiEndpoint = apiEndpoint;
     34        this.apiKey = apiKey;
    3135
    3236        threadPool = java.util.concurrent.Executors.newFixedThreadPool(3);
     
    8791        throws Exception
    8892    {
    89         // TODO: Use servlet param for URL
    90         // TODO: Use servlet param for API key
    9193        String jsonResponse = HttpRequestService
    92             .post("https://asr.koreromaori.io/transcribe_with_metadata")
    93             .authorization("Basic ")
     94            .post(apiEndpoint)
     95            .authorization("Basic " + apiKey)
    9496            .send(audioStream)
    9597            .body();
Note: See TracChangeset for help on using the changeset viewer.