NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Please follow carefully the steps mentioned provided in the Installing guide for installing LexEVS 6.0 Local Runtime guide.

Once all the steps have been followed successfully you should have a functional LexEVS Local Runtime instance.

In order to facilitate subsequent testing, please load and activate the test terminology Automobiles.xml located in the folder {LEXEVS_HOME}\test\resources\testData\Automobiles.xml.

...

  1. Navigate to the Tomcat 6 download page
    Multiexcerpt include
    nopaneltrue
    MultiExcerptNameExitDisclaimer
    PageWithExcerptwikicontent:Exit Disclaimer to Include
    and download the appropriate package for your system. The binary core distribution (zip) is the most usual one.
  2. Unzip the content of the file in the desired folder and make note of it.

...

  1. Navigate to the STS download page
    Multiexcerpt include
    nopaneltrue
    MultiExcerptNameExitDisclaimer
    PageWithExcerptwikicontent:Exit Disclaimer to Include
    to download the software. Please note that you don't have to fill out the form. If you do not wish to fill it all, just check the checkbox to accept the license terms and click on the link "Download Page" bellow the "Download Now" button.
  2. Choose the appropriate version for your environment and install it. Make sure that you have the Java JDK 1.6 (or less ideally 1.5) installed.
  3. During setup, make sure to make a note of where you installed the program. During step 4, make sure "Apache Maven 2..." in selected.
  4. You can launch STS and select the location of your workspace. You will then be presented with the Welcome page. You can close it with the "x" next to the tab on top left. This will bring a Spring perspective.

...

  1. Click on the menu File -> New - > Spring Template Project.
  2. Select Spring MVC Project from the list and click Next.
    1. It will ask you if you want to download file: click Proceed.
  3. Enter a project name. For this guide we will name it "testlex".
  4. Enter the top level package (x.x.x). We will name it "org.test.test".unmigrated-wiki-markup
  5. Click on Finish.
    It might take some time before your back to a responsive Spring perspective. STS will need to download some dependencies for the project.
    You should then see your project \ [testlex\] in the package explorer view on top left part of the windows.

Small STS Warning That Can be Fixed

...

The issue has been described in a Spring forum post

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
but the "Key" that needs to be entered is:

...

  1. Menu Windows -> Preferences -> XML -> XML Catalog
  2. Click on add
  3. Click on File System and select the jar. It should be something similar to: {SpringSource install folder}\sts-2.7.1.RELEASE\plugins\org.apache.log4j_1.2.15.v201012070815.jar
  4. Add "jar:file:" in front of the path and !/org/apache/log4j/xml/log4j.dtd at the end of the path (without the ")
  5. In the key textbox, enter -//APACHE//DTD LOG4J 1.2//EN (without the ")
  6. Click Ok to close this window, then ok again to close the preference window.
  7. Once you follow the instructions, you need to add and remove a space to trigger a modification then save the file. The warning should be gone. Do this for both log4j.xmlfiles:
    • one in src/main/resources
    • one in src/test/resources

Verification

  1. Wiki MarkupSelect the \Select the [textlex\] folder project in the package explorer window then click on play button or click on the menu "Run" \ -> Run
    The next window will ask you how you want to run the project. Select "Run on server".
  2. In the list on the next window, you should see the "Tomcat v6.0 Server at localhost" entry that you created earlier. Select it and check the box "Always use this server..."
  3. Click Next, then click Finish.
    You should then see the "Hello world!" page with the current time on it.
    You now have a functioning Spring 3 MVC project.

...

  1. LexEVS jar: Can be found in your local LexEVS install: {LEXEVS_HOME}\runtime-components\lexbig.jar
    • For easier access, copy it to a short location. We will use E:\
  2. LexEVS POM file: This includes the information on the dependencies LexEVS will rely on. You can download it Lexevs-6.0.0.pom.zip
      unmigrated-wiki-markup
    • Unzip it to the same location \ [E:\]
  3. LexEVS uses a patched version of the dependency ddlutils. You need to download it here
    Multiexcerpt include
    nopaneltrue
    MultiExcerptNameExitDisclaimer
    PageWithExcerptwikicontent:Exit Disclaimer to Include
    • Place it in the same directory [E: Wiki MarkupPlace it in the same directory \[E:\]
  4. This dependency also has a POM file which you can download Ddlutils-1.0-PATCHED.pom.zip
    • Wiki MarkupUnzip it to the same location \ [E:\]

Installing a LexEVS Dependency

...

For all the following commands, please change *E:* to the path of the folder chosen to place the four files above.

  1. Then enter this command at the command prompt:

    Code Block
    mvn install:install-file -Dfile="E:\ddlUtils-1.0-PATCHED.jar" -DpomFile="E:\ddlutils-1.0-PATCHED.pom"

    You should then see a build successful message. The ddlUtils dependency is now available in your local repository.

  2. Now enter this command at the command prompt:

    Code Block
    mvn install:install-file -Dfile="E:\lexbig.jar" -DpomFile="E:\lexevs-6.0.0.pom"

    You should also see a build successful message. The LexEVS dependency is now available in your local repository.

  3. Open STS and select the menu Window -> Show View -> Other
  4. Scroll down to the folder Maven and select Maven Repositories. Click OK.
    You should now have a Maven Repositories view in the lower part of the window.
  5. Select and unfold Local Repositories.
  6. Right-click Local Repository and select Rebuild Index from the context menu. Click Ok when asked if you're sure you want to rebuild it.

...

LexEVS currently uses JUnit during runtime. This is a bit unusual and might change in a future release but for now, it needs to be adjusted.

...

  1. Select the project folder \ [testlex\] in the Package Explorer view and unfold it.
  2. Double click on the pom.xml file to open it.
  3. Select the Dependencies tab at the bottom of the window.
  4. In the Dependencies pane, scroll down in the dependencies selectbox and click once on junit. On the right side, the Dependency Details area should present a scope which is "test" in the combobox.
  5. Change it to compile.
  6. Click on menu File -> Save or press Ctrl-s.

Including LexEVS in the MVC Project

  1. Wiki MarkupSelect the \Select the [textlex\] project. Right-click on it and select Maven \ -> Add Dependency from the context menu.
  2. Enter lexevs in the first textbox.
    The search results should show: lexevs lexevs
  3. Select it and click ok.
  4. STS will now download all the dependencies needed to work with LexEVS. You can follow the progress in the progress view (tab).

Creating a Test File

...

  1. Select and unfold the project folder \ [textlex\] in the package explorer.unmigrated-wiki-markup
  2. Navigate to src/test/java. You should see an empty package \ [org.test.test\]
  3. Right-click on it and select New -> JUnit Test Case
  4. Put the name of your test in the name textbox. We will name it LexBigConnect. Click on Finish.
  5. Copy this in the file (including the last bracket):

    Code Block
    package org.test.test;
    
    import static org.junit.Assert.*;
    
    import org.LexGrid.LexBIG.Exceptions.LBInvocationException;
    import org.LexGrid.LexBIG.Impl.LexBIGServiceImpl;
    import org.LexGrid.LexBIG.LexBIGService.LexBIGService;
    import org.LexGrid.LexBIG.DataModel.InterfaceElements.CodingSchemeRendering;
    
    import org.junit.Test;
    
    public class LexBigConnect {
    
        @Test
        public void test() throws LBInvocationException {
    
            LexBIGService lbSvc = LexBIGServiceImpl.defaultInstance();
            System.out.println("The currently active terminologies are:");
            for(CodingSchemeRendering csr : lbSvc.getSupportedCodingSchemes().getCodingSchemeRendering())
                System.out.println(csr.getCodingSchemeSummary().getFormalName());
    
            assertTrue(true);
        }
    }
  6. Make sure to change the package name if you didn't use org.test.test initially. Save the file.

...

  1. In STS, select the menu Run -> Run Configurations...
  2. Select JUnit in the left list.
  3. Wiki MarkupSelect the new button Select the new button (white rectangle with a little yellow \ +)
    The name of the profile will be defaulted to the name of your class \ [LexBigConnect\]
  4. Click on the tab Arguments and add this parameter to the VM textbox:

    Code Block
    -DLG_CONFIG_FILE="\{LEXEVS_HOME\}\resources\config\lbconfig.props"
  5. Replace {LEXEVS_HOME} by the absolute path to the LexEVS local install done earlier in the process.
  6. Wiki MarkupThen click Apply followed by Run.
    You should then see a successful completion of a JUnit test. The console log will also show "The currently active terminologies are:" followed by the name of the terminologies \ [Automobiles\] if you loaded it.

Integrating LexEVS in a Web Page

...

  1. This will open the server Overview. Click on the "Open launch configuration" link in the General Information section.
  2. Select the Arguments tab and in the VM arguments textbox, at the bottom, after the existing arguments add this:

    Code Block
    -DLG_CONFIG_FILE="\{LEXEVS_HOME\}\resources\config\lbconfig.props"
  3. Replace {LEXEVS_HOME} by the absolute path to the LexEVS local install done earlier in the process. Make sure there's a space between the end of the last existing argument and the dash of this one.
  4. Click Apply then click OK.

...

  1. Navigate the project tree to src/main/java and double-click on HomeController.java to open it.
  2. Copy this in the file (including the last bracket):

    Code Block
    package org.test.test;
    
    import java.text.DateFormat;
    import java.util.Date;
    import java.util.Locale;
    
    import org.LexGrid.LexBIG.DataModel.InterfaceElements.CodingSchemeRendering;
    import org.LexGrid.LexBIG.Exceptions.LBInvocationException;
    import org.LexGrid.LexBIG.Impl.LexBIGServiceImpl;
    import org.LexGrid.LexBIG.LexBIGService.LexBIGService;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    
    
    /**
     * Handles requests for the application home page.
     */
    @Controller
    public class HomeController {
    
        private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
    
        /**
         * Simply selects the home view to render by returning its name.
         * @throws LBInvocationException
         */
        @RequestMapping(value = "/", method = RequestMethod.GET)
        public String home(Locale locale, Model model) throws LBInvocationException {
            logger.info("Welcome home! the client locale is "+ locale.toString());
    
            Date date = new Date();
            DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
    
            String formattedDate = dateFormat.format(date);
    
            model.addAttribute("serverTime", formattedDate );
    
            Integer n = 1;
    
            LexBIGService lbSvc = LexBIGServiceImpl.defaultInstance();
            for(CodingSchemeRendering csr : lbSvc.getSupportedCodingSchemes().getCodingSchemeRendering()){
                System.out.println(csr.getCodingSchemeSummary().getFormalName());
                model.addAttribute("term"+n.toString(), csr.getCodingSchemeSummary().getFormalName());
                n++;
            }
    
            return "home";
        }
    
    }
  3. Make sure to change the package name if you didn't use org.test.test initially. Save the file.

...

  1. In the Package Explorer, nagivate to src/main/webapp/WEB-INF/views and open home.jsp by double-clicking.
  2. Replace the text in the file with this one:

    Code Block
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ page session="false" %>
    <html>
    <head>
        <title>Home</title>
    </head>
    <body>
    <h1>
        Hello world!
    </h1>
    
    <p>The time on the server is ${serverTime}.</p>
    <p>One of the active terminologies on the LexEVS server is: ${term1}</p>
    </body>
    </html>
  3. Save the file and close it.

Running the Project

  1. Wiki MarkupSelect the project \ [textlex\] in the Package Explorer.
  2. Select the menu Run -> Run. Select "Run on Server" then click OK.
  3. You should see the home page displayed with the date/time and, on the last line, the name of one of your active terminology in LexEVS.
  4. You now have a functional Spring 3 MVC project interacting successfully with a local instance of LexEVS.

...

This guide was contributed by the TRANSFoRM group / INSERM U936.

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
/ INSERM U936
Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Scrollbar
iconsfalse