Skip to content
This repository has been archived by the owner on May 21, 2019. It is now read-only.

Latest commit

 

History

History
executable file
·
174 lines (127 loc) · 5.81 KB

README.md

File metadata and controls

executable file
·
174 lines (127 loc) · 5.81 KB

Personality Insights Java Starter Application

DEPRECATED: this repo is no longer actively maintained. It can still be used as reference, but may contain outdated or unpatched code.

The IBM Watson Personality Insights service uses linguistic analysis to extract cognitive and social characteristics from input text such as email, text messages, tweets, forum posts, and more. By deriving cognitive and social preferences, the service helps users to understand, connect to, and communicate with other people on a more personalized level.

Give it a try! Click the button below to fork into IBM DevOps Services and deploy your own copy of this application on Bluemix.

Deploy to Bluemix

Getting Started

  1. Create a Bluemix Account

    Sign up in Bluemix or use an existing account. Watson Services in Beta are free to use.

  2. Download and install the Cloud-foundry CLI tool.

  3. Edit the manifest.yml file and change the <application-name> to something unique.

applications:
- services:
  - personality-insights-service
  name: <application-name>
  path: webApp.war
  memory: 512M

The name you use determines your initial application URL, e.g., <application-name>.mybluemix.net.

  1. Connect to Bluemix in the command line tool.
$ cf api https://api.ng.bluemix.net
$ cf login -u <your-user-ID>
  1. Create the Personality Insights service in Bluemix.
$ cf create-service personality_insights tiered personality-insights-service
  1. Download and install the ant compiler.

  2. Build the project.

    You need to use the Apache ant compiler to build the Java application. For information about the ant compiler and to download a copy for your operating system, visit ant.apache.org.

$ ant
  1. Push it live!
$ cf push -p output/webApp.war

Running locally

The application uses the WebSphere Liberty profile runtime as its server, so you need to download and install the profile as part of the steps below.

  1. Copy the credentials from your personality-insights-service service in Bluemix to DemoServlet.java. You can use the following command to see the credentials:

    $ cf env <application-name>

    Example output:

    System-Provided:
    {
    "VCAP_SERVICES": {
      "personality-insights": [{
          "credentials": {
            "url": "<url>",
            "password": "<password>",
            "username": "<username>"
          },
        "label": "personality-insights",
        "name": "personality-insights-service",
        "plan": "IBM Watson Personality Insights Monthly Plan"
     }]
    }
    }

    You need to copy the username, password, and url.

  2. Install the Liberty profile runtime (for Mac OSX, check this guide).

  3. Create a Liberty profile server in Eclipse.

  4. Add the application to the server.

  5. Start the server.

  6. Go to http://localhost:9080/app/ to see the running application.

i18n Support

The application has i18n support and is available in English and Spanish. The language is automatically selected from the browser's locale.

To add a new translation follow the steps below:

  1. Translating the static text: 1. Locate the messages.properties file present in the src/com/ibm/cloudoe/samples/i18n directory. This file includes all the messages and labels in English. 1. Copy messages.properties and name the new file with the format messages_ll_CC.properties or messages_ll.properties, where ll is the language code and CC is the country code. For example, a new translation for argentinian Spanish would be named after messages_es_AR.properties. You may omit the country code to make the translation global for the language. 1. Translate each English string to the desired language and save it.
  2. Translating the personality summary: 1. Locate the JSON files present in WebContent/json/ directory. These are: * facets.json * needs.json * summary.json * traits.json * values.json 1. Copy each file and name it with the format <filename>_ll-CC.json or <filename>_ll-CC.json. For example, a Portuguese language translations for facets.json will result in a new file named facets_pt.json, an UK English translation for traits.json will result in a new file named traits_en-UK.json. 1. Translate all the strings present in the new files to the desired language and save them.

Troubleshooting

To troubleshoot your Bluemix application, the most useful source of information is the log files. To see them, run the following command:

$ cf logs <application-name> --recent

License

This sample code is licensed under Apache 2.0. Full license text is available in LICENSE.
This sample code is using jQuery and d3, both are using MIT license

Contributing

See CONTRIBUTING.

Open Source @ IBM

Find more open source projects on the IBM Github Page.