This is an old revision of the document!


IDEA

Configuration quickstart for developing CzechIdM in IntelliJ IDEA.

Import project

Open Idea and choose to create project from existing sources. Choose the location of your repository from file explorer, i.e. <path>/CzechIdM/Realization/backend, click next and choose "Import project from external model" → Maven.

Next tick "Search for projects recursively", choose a location where to "Keep project files in" (preferably different to sources location), and tick "Create IDEA modules for aggregator projects". Next.

Select profile: tick 'dev', untick others.

Select Maven projects to import: ignore "Unknown" projects (happens if you have the source built already) and tick all "eu.bcvsolutions.idm" modules. Ignore records from "target" - I'm not sure how to correctly set up the IDE to ignore these. Do not import the "gui" module. Thus you should have following modules selected:

  • ic
  • acc
  • aggregator

Next. Project should be imported.

Metamodel generation

After creating the project, make sure following modules are available in explorer:

  • ic
  • acc
  • core-api
  • core-impl
  • core-test-api

To set up metamodel generation, go to "File → Settings → Build, Execution, Deployment → Compiler, Annotation Processors" and tick "Enable annotation processing". Now rebuild the project.

Code style

Go to "File → Settings → Editor → Code style → Java". On the first tab, "Tabs and indents", tick "Use tab character". On next tab "Imports" put 999 to "Class count to use import with '*'" and "Names count to use static imports with '*'.

Next adjust the Import Layout on the bottom of the window as:

static all other, 
blank, 
java.*, 
blank, 
javax.*, 
blank, 
org.*, 
blank, 
com.*, 
blank, 
all other imports

Configure test runner

To create test run configuration for all modules (including 'acc'), go to Run/Debug Configuration, click '+' and choose 'JUnit'. Use following settings:

  • Test kind: All in package
  • Package: eu.bcvsolutions.idm
  • Search for tests: whole project
  • Before launch: Build
  • Add to VM options following: -ea -Dspring.profiles.active=test
-Dspring.profiles.active=test ||| This is the only way how you can run tests under profile test. It is also used for a single test.

Save the configuration and test it by running. Tests from all modules should be executed.

Launch on Tomcat

First of all make sure that you have Tomcat 8.0 installed. Then chose Tomcat server in Run/Debug Configurations in IDEA. Set URL to "http://localhost:8080/idm-backend/". Apply and try to launch the project on server.

At this point I had an error that said something like "name or service not known", there is the link that helped me solving this error: "https://stackoverflow.com/questions/19068977/intellij-cant-start-simple-web-application-unable-to-ping-server-at-localhost".

  • by tarana