text:
static grpc_avl g_subchannel_index;

static gpr_mu g_mu;

static gpr_refcount g_refcount;

struct grpc_subchannel_key {
  grpc_subchannel_args args;
};

static bool g_force_creation = false;

static grpc_subchannel_key* create_key(
    const grpc_subchannel_args* args,
    grpc_channel_args* (*copy_channel_args)(const grpc_channel_args* args)) {
  grpc_subchannel_key* k =
      static_cast<grpc_subchannel_key*>(gpr_malloc(sizeof(*k)));
  k->args.filter_count = args->filter_count;
  if (k->args.filter_count > 0) {
    k->args.filters = static_cast<const grpc_channel_filter**>(
        gpr_malloc(sizeof(*k->args.filters) * k->args.filter_count));
    memcpy(reinterpret_cast<grpc_channel_filter*>(k->args.filters),
           args->filters, sizeof(*k->args.filters) * k->args.filter_count);
  } else {
    k->args.filters = nullptr;
  }
  k->args.args = copy_channel_args(args->args);
  return k;
}

grpc_subchannel_key* grpc_subchannel_key_create(
    const grpc_subchannel_args* args) {
  return create_key(args, grpc_channel_args_normalize);
}

static grpc_subchannel_key* subchannel_key_copy(grpc_subchannel_key* k) {
  return create_key(&k->args, grpc_channel_args_copy);
}

int grpc_subchannel_key_compare(const grpc_subchannel_key* a,
                                const grpc_subchannel_key* b) {
  if (g_force_creation) return false;
  int c = GPR_ICMP(a->args.filter_count, b->args.filter_count);
  if (c != 0) return c;
  if (a->args.filter_count > 0) {
    c = memcmp(a->args.filters, b->args.filters,
               a->args.filter_count * sizeof(*a->args.filters));
    if (c != 0) return c;
  }
  return grpc_channel_args_compare(a->args.args, b->args.args);
}

void grpc_subchannel_key_destroy(grpc_subchannel_key* k) {
  gpr_free(reinterpret_cast<grpc_channel_args*>(k->args.filters));
  grpc_channel_args_destroy(const_cast<grpc_channel_args*>(k->args.args));
  gpr_free(k);
}

static void sck_avl_destroy(void* p, void* user_data) {
  grpc_subchannel_key_destroy(static_cast<grpc_subchannel_key*>(p));
}

static void* sck_avl_copy(void* p, void* unused) {
  return subchannel_key_copy(static_cast<grpc_subchannel_key*>(p));
}

static long sck_avl_compare(void* a, void* b, void* unused) {
  return grpc_subchannel_key_compare(static_cast<grpc_subchannel_key*>(a),
                                     static_cast<grpc_subchannel_key*>(b));
}

static void scv_avl_destroy(void* p, void* user_data) {
  GRPC_SUBCHANNEL_WEAK_UNREF((grpc_subchannel*)p, "subchannel_index");
}

static void* scv_avl_copy(void* p, void* unused) {
  GRPC_SUBCHANNEL_WEAK_REF((grpc_subchannel*)p, "subchannel_index");
  return p;
}

static const grpc_avl_vtable subchannel_avl_vtable = {
    sck_avl_destroy,  // destroy_key
    sck_avl_copy,     // copy_key
    sck_avl_compare,  // compare_keys
    scv_avl_destroy,  // destroy_value
    scv_avl_copy      // copy_value
};

void grpc_subchannel_index_init(void) {
  g_subchannel_index = grpc_avl_create(&subchannel_avl_vtable);
  gpr_mu_init(&g_mu);
  gpr_ref_init(&g_refcount, 1);
}

void grpc_subchannel_index_shutdown(void) {
  // TODO(juanlishen): This refcounting mechanism may lead to memory leackage.
  // To solve that, we should force polling to flush any pending callbacks, then
  // shutdown safely.
  grpc_subchannel_index_unref();
}

void grpc_subchannel_index_unref(void) {
  if (gpr_unref(&g_refcount)) {
    gpr_mu_destroy(&g_mu);
    grpc_avl_unref(g_subchannel_index, grpc_core::ExecCtx::Get());
  }
}

void grpc_subchannel_index_ref(void) { gpr_ref_non_zero(&g_refcount); }

grpc_subchannel* grpc_subchannel_index_find(grpc_subchannel_key* key) {
  // Lock, and take a reference to the subchannel index.
  // We don't need to do the search under a lock as avl's are immutable.
  gpr_mu_lock(&g_mu);
  grpc_avl index = grpc_avl_ref(g_subchannel_index, grpc_core::ExecCtx::Get());
  gpr_mu_unlock(&g_mu);

  grpc_subchannel* c = GRPC_SUBCHANNEL_REF_FROM_WEAK_REF(
      (grpc_subchannel*)grpc_avl_get(index, key, grpc_core::ExecCtx::Get()),
      "index_find");
  grpc_avl_unref(index, grpc_core::ExecCtx::Get());

  return c;
}

grpc_subchannel* grpc_subchannel_index_register(grpc_subchannel_key* key,
                                                grpc_subchannel* constructed) {
  grpc_subchannel* c = nullptr;
  bool need_to_unref_constructed = false;

  while (c == nullptr) {
    need_to_unref_constructed = false;

    // Compare and swap loop:
    // - take a reference to the current index
    gpr_mu_lock(&g_mu);
    grpc_avl index =
        grpc_avl_ref(g_subchannel_index, grpc_core::ExecCtx::Get());
    gpr_mu_unlock(&g_mu);

    // - Check to see if a subchannel already exists
    c = static_cast<grpc_subchannel*>(
        grpc_avl_get(index, key, grpc_core::ExecCtx::Get()));
    if (c != nullptr) {
      c = GRPC_SUBCHANNEL_REF_FROM_WEAK_REF(c, "index_register");
    }
    if (c != nullptr) {
      // yes -> we're done
      need_to_unref_constructed = true;
    } else {
      // no -> update the avl and compare/swap
      grpc_avl updated =
          grpc_avl_add(grpc_avl_ref(index, grpc_core::ExecCtx::Get()),
                       subchannel_key_copy(key),
                       GRPC_SUBCHANNEL_WEAK_REF(constructed, "index_register"),
                       grpc_core::ExecCtx::Get());

      // it may happen (but it's expected to be unlikely)
      // that some other thread has changed the index:
      // compare/swap here to check that, and retry as necessary
      gpr_mu_lock(&g_mu);
      if (index.root == g_subchannel_index.root) {
        GPR_SWAP(grpc_avl, updated, g_subchannel_index);
        c = constructed;
      }
      gpr_mu_unlock(&g_mu);

      grpc_avl_unref(updated, grpc_core::ExecCtx::Get());
    }
    grpc_avl_unref(index, grpc_core::ExecCtx::Get());
  }

  if (need_to_unref_constructed) {
    GRPC_SUBCHANNEL_UNREF(constructed, "index_register");
  }

  return c;
}

void grpc_subchannel_index_unregister(grpc_subchannel_key* key,
                                      grpc_subchannel* constructed) {
  bool done = false;
  while (!done) {
    // Compare and swap loop:
    // - take a reference to the current index
    gpr_mu_lock(&g_mu);
    grpc_avl index =
        grpc_avl_ref(g_subchannel_index, grpc_core::ExecCtx::Get());
    gpr_mu_unlock(&g_mu);

    // Check to see if this key still refers to the previously
    // registered subchannel
    grpc_subchannel* c = static_cast<grpc_subchannel*>(
        grpc_avl_get(index, key, grpc_core::ExecCtx::Get()));
    if (c != constructed) {
      grpc_avl_unref(index, grpc_core::ExecCtx::Get());
      break;
    }

    // compare and swap the update (some other thread may have
    // mutated the index behind us)
    grpc_avl updated =
        grpc_avl_remove(grpc_avl_ref(index, grpc_core::ExecCtx::Get()), key,
                        grpc_core::ExecCtx::Get());

    gpr_mu_lock(&g_mu);
    if (index.root == g_subchannel_index.root) {
      GPR_SWAP(grpc_avl, updated, g_subchannel_index);
      done = true;
    }
    gpr_mu_unlock(&g_mu);

    grpc_avl_unref(updated, grpc_core::ExecCtx::Get());
    grpc_avl_unref(index, grpc_core::ExecCtx::Get());
  }
}

void grpc_subchannel_index_test_only_set_force_creation(bool force_creation) {
  g_force_creation = force_creation;
}


text:
namespace kengine::impl {
#ifdef KENGINE_USE_SPINLOCK
	using Mutex = putils::SpinLock;
	using ReadLock = Mutex::SharedLock;
	using WriteLock = Mutex::Lock;
#else
	using Mutex = std::shared_mutex;
	using ReadLock = std::shared_lock<Mutex>;
	using WriteLock = std::lock_guard<Mutex>;
#endif
}

redpajama_set_name: RedPajamaGithub


text:
package com.oracle.poco.bbhelper.model;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

public class Resource {

    private final String name;
    private final String resourceId;
    private final String calendarId;
    private final String location;
    private final int capacity;
    private final String link;
    private final Facility facility;

    @JsonCreator
    public Resource(@JsonProperty("name") String name,
                    @JsonProperty("resource_id") String resourceId,
                    @JsonProperty("calendar_id") String calendarId,
                    @JsonProperty("location") String location,
                    @JsonProperty("capacity") int capacity, @JsonProperty("link") String link,
                    @JsonProperty("facility") Facility facility) {
        super();
        this.name = name;
        this.resourceId = resourceId;
        this.calendarId = calendarId;
        this.location = location;
        this.capacity = capacity;
        this.link = link;
        this.facility = facility;
    }

    public final String getName() {
        return name;
    }

    public final String getResourceId() {
        return resourceId;
    }

    public final String getCalendarId() {
        return calendarId;
    }

    public final String getLocation() {
        return location;
    }

    public final int getCapacity() {
        return capacity;
    }

    public final String getLink() {
        return link;
    }

    public final Facility getFacility() {
        return facility;
    }

    @Override
    public String toString() {
        return "Resource [name=" + name + ", resource_id=" + resourceId + ", calendar_id=" + calendarId
                + ", location=" + location + ", capacity=" + capacity + ", link=" + link + ", facility=" + facility
                + "]";
    }

}


text:
package net.bierbaumer.otp_authenticator;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class Utils {
    public static void writeFully(File file, byte[] data) throws IOException {
        final OutputStream out = new FileOutputStream(file);
        try {
            out.write(data);
        } finally {
            out.close();
        }
    }

    public static byte[] readFully(File file) throws IOException {
        final InputStream in = new FileInputStream(file);
        try {
            ByteArrayOutputStream bytes = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024];
            int count;
            while ((count = in.read(buffer)) != -1) {
                bytes.write(buffer, 0, count);
            }
            return bytes.toByteArray();
        } finally {
            in.close();
        }
    }
}


text:
noggin
======

A Javascript logging utility supporting log levels and categories. It outputs nicely formatted console messages with no configuration

## Installation
`npm install noggin`

## Usage  (CoffeeScript)
```coffeescript
logger = require('noggin')
logger.setLogLevel(noggin.ALL)
logger.info "Log level is now #{noggin.logLevelToString(noggin.ALL)}"
#2013-01-02T03:31:32.242Z [DEBUG] [logger] Log level is now DEBUG | INFO | WARN | ERROR | FATAL

logger.debug "WAT?! NO"
#2013-01-02T03:31:32.242Z [DEBUG] WAT?! NO

logger.error "Database message", 'database'
#2013-01-02T03:31:32.242Z [ERROR] [database] Database message
```

## Category wrapped logger (CoffeeScript)
```coffeescript
logger = require('noggin').forCategory('database')

logger.setLogLevel(noggin.ALL)
logger.info "Log level for database category is now #{noggin.logLevelToString(noggin.ALL)}"
#2013-01-02T03:31:32.242Z [DEBUG] [database] Log level for database is now DEBUG | INFO | WARN | ERROR | FATAL

logger.error 'Database message'
#2013-01-02T03:31:32.242Z [ERROR] [database] Database message

```

## Override the default formatter
```coffeescript
logger = require('noggin')

#json output
logger.formatter = (msg, category, level)->
  msg =
    time: new Date()
    category: category
    level: level
    message: msg

logger.info "This is a message", "sys"
#{"time":"2013-01-02T03:31:32.242Z","category":"sys","level":"INFO","message":"This is a message"}
```

## Change output target
```coffeescript
logger = require('noggin')

#post it somewhere
logger.output = (msg)->
  ImaginaryHTTP.post("http://localhost/logsink", msg)
```


text:
using System.Collections.Generic;

namespace Util.Webs.Razors {
    /// <summary>
    /// 路由分析器
    /// </summary>
    public interface IRouteAnalyzer {
        /// <summary>
        /// 获取所有路由信息
        /// </summary>
        IEnumerable<RouteInformation> GetAllRouteInformations();
    }
}


text:
@class UserModel;

@interface HomeViewController : UITableViewController
@property (nonatomic,strong) UserModel *userModel;

@end


text:
using System.Reflection;
using System.Runtime.CompilerServices;
#if !CORECLR
using System.Runtime.ConstrainedExecution;
#else
using System.Resources;
#endif

[assembly: InternalsVisibleTo("powershell-tests,PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9")]

#if CORECLR
[assembly: AssemblyCulture("")]
[assembly: NeutralResourcesLanguage("en-US")]
#else
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyInformationalVersionAttribute(@"10.0.10011.16384")]
[assembly: ReliabilityContractAttribute(Consistency.MayCorruptAppDomain, Cer.MayFail)]
[assembly: AssemblyTitle("Microsoft.PowerShell.ConsoleHost")]
[assembly: AssemblyDescription("Microsoft Windows PowerShell Console Host")]

[assembly: System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5")]
[assembly: System.Reflection.AssemblyFileVersion("10.0.10011.16384")]
#endif

[assembly: System.Runtime.InteropServices.ComVisible(false)]
[assembly: System.Reflection.AssemblyVersion("3.0.0.0")]
[assembly: System.Reflection.AssemblyProduct("Microsoft (R) Windows (R) Operating System")]
[assembly: System.Reflection.AssemblyCopyright("Copyright (c) Microsoft Corporation. All rights reserved.")]
[assembly: System.Reflection.AssemblyCompany("Microsoft Corporation")]

internal static class AssemblyStrings
{
    internal const string AssemblyVersion = @"3.0.0.0";
    internal const string AssemblyCopyright = "Copyright (C) 2006 Microsoft Corporation. All rights reserved.";
}


text:
// Code generated by gen_tests.py and process_polyglot.py.
// Do not edit this file directly.
// The template for this file is located at:
// ../template.go.tpl
package reql_tests

import (
	"testing"
	"time"

	"github.com/stretchr/testify/suite"
	r "gopkg.in/rethinkdb/rethinkdb-go.v6"
	"gopkg.in/rethinkdb/rethinkdb-go.v6/internal/compare"
)

// Test geoJSON conversion
func TestGeoGeojsonSuite(t *testing.T) {
	suite.Run(t, new(GeoGeojsonSuite))
}

type GeoGeojsonSuite struct {
	suite.Suite

	session *r.Session
}

func (suite *GeoGeojsonSuite) SetupTest() {
	suite.T().Log("Setting up GeoGeojsonSuite")
	// Use imports to prevent errors
	_ = time.Time{}
	_ = compare.AnythingIsFine

	session, err := r.Connect(r.ConnectOpts{
		Address: url,
	})
	suite.Require().NoError(err, "Error returned when connecting to server")
	suite.session = session

	r.DBDrop("db_geoj").Exec(suite.session)
	err = r.DBCreate("db_geoj").Exec(suite.session)
	suite.Require().NoError(err)
	err = r.DB("db_geoj").Wait().Exec(suite.session)
	suite.Require().NoError(err)

}

func (suite *GeoGeojsonSuite) TearDownSuite() {
	suite.T().Log("Tearing down GeoGeojsonSuite")

	if suite.session != nil {
		r.DB("rethinkdb").Table("_debug_scratch").Delete().Exec(suite.session)
		r.DBDrop("db_geoj").Exec(suite.session)

		suite.session.Close()
	}
}

func (suite *GeoGeojsonSuite) TestCases() {
	suite.T().Log("Running GeoGeojsonSuite: Test geoJSON conversion")

	{
		// geo/geojson.yaml line #4
		/* ({'$reql_type$':'GEOMETRY', 'coordinates':[0, 0], 'type':'Point'}) */
		var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"$reql_type$": "GEOMETRY", "coordinates": []interface{}{0, 0}, "type": "Point"}
		/* r.geojson({'coordinates':[0, 0], 'type':'Point'}) */

		suite.T().Log("About to run line #4: r.GeoJSON(map[interface{}]interface{}{'coordinates': []interface{}{0, 0}, 'type': 'Point', })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"coordinates": []interface{}{0, 0}, "type": "Point"}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #4")
	}

	{
		// geo/geojson.yaml line #6
		/* ({'$reql_type$':'GEOMETRY', 'coordinates':[[0,0], [0,1]], 'type':'LineString'}) */
		var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"$reql_type$": "GEOMETRY", "coordinates": []interface{}{[]interface{}{0, 0}, []interface{}{0, 1}}, "type": "LineString"}
		/* r.geojson({'coordinates':[[0,0], [0,1]], 'type':'LineString'}) */

		suite.T().Log("About to run line #6: r.GeoJSON(map[interface{}]interface{}{'coordinates': []interface{}{[]interface{}{0, 0}, []interface{}{0, 1}}, 'type': 'LineString', })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"coordinates": []interface{}{[]interface{}{0, 0}, []interface{}{0, 1}}, "type": "LineString"}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #6")
	}

	{
		// geo/geojson.yaml line #8
		/* ({'$reql_type$':'GEOMETRY', 'coordinates':[[[0,0], [0,1], [1,0], [0,0]]], 'type':'Polygon'}) */
		var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"$reql_type$": "GEOMETRY", "coordinates": []interface{}{[]interface{}{[]interface{}{0, 0}, []interface{}{0, 1}, []interface{}{1, 0}, []interface{}{0, 0}}}, "type": "Polygon"}
		/* r.geojson({'coordinates':[[[0,0], [0,1], [1,0], [0,0]]], 'type':'Polygon'}) */

		suite.T().Log("About to run line #8: r.GeoJSON(map[interface{}]interface{}{'coordinates': []interface{}{[]interface{}{[]interface{}{0, 0}, []interface{}{0, 1}, []interface{}{1, 0}, []interface{}{0, 0}}}, 'type': 'Polygon', })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"coordinates": []interface{}{[]interface{}{[]interface{}{0, 0}, []interface{}{0, 1}, []interface{}{1, 0}, []interface{}{0, 0}}}, "type": "Polygon"}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #8")
	}

	{
		// geo/geojson.yaml line #12
		/* err('ReqlQueryLogicError', 'Expected type NUMBER but found ARRAY.', [0]) */
		var expected_ Err = err("ReqlQueryLogicError", "Expected type NUMBER but found ARRAY.")
		/* r.geojson({'coordinates':[[], 0], 'type':'Point'}) */

		suite.T().Log("About to run line #12: r.GeoJSON(map[interface{}]interface{}{'coordinates': []interface{}{[]interface{}{}, 0}, 'type': 'Point', })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"coordinates": []interface{}{[]interface{}{}, 0}, "type": "Point"}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #12")
	}

	{
		// geo/geojson.yaml line #14
		/* err('ReqlQueryLogicError', 'Expected type ARRAY but found BOOL.', [0]) */
		var expected_ Err = err("ReqlQueryLogicError", "Expected type ARRAY but found BOOL.")
		/* r.geojson({'coordinates':true, 'type':'Point'}) */

		suite.T().Log("About to run line #14: r.GeoJSON(map[interface{}]interface{}{'coordinates': true, 'type': 'Point', })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"coordinates": true, "type": "Point"}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #14")
	}

	{
		// geo/geojson.yaml line #16
		/* err('ReqlNonExistenceError', 'No attribute `coordinates` in object:', [0]) */
		var expected_ Err = err("ReqlNonExistenceError", "No attribute `coordinates` in object:")
		/* r.geojson({'type':'Point'}) */

		suite.T().Log("About to run line #16: r.GeoJSON(map[interface{}]interface{}{'type': 'Point', })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"type": "Point"}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #16")
	}

	{
		// geo/geojson.yaml line #18
		/* err('ReqlNonExistenceError', 'No attribute `type` in object:', [0]) */
		var expected_ Err = err("ReqlNonExistenceError", "No attribute `type` in object:")
		/* r.geojson({'coordinates':[0, 0]}) */

		suite.T().Log("About to run line #18: r.GeoJSON(map[interface{}]interface{}{'coordinates': []interface{}{0, 0}, })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"coordinates": []interface{}{0, 0}}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #18")
	}

	{
		// geo/geojson.yaml line #20
		/* err('ReqlQueryLogicError', 'Unrecognized GeoJSON type `foo`.', [0]) */
		var expected_ Err = err("ReqlQueryLogicError", "Unrecognized GeoJSON type `foo`.")
		/* r.geojson({'coordinates':[0, 0], 'type':'foo'}) */

		suite.T().Log("About to run line #20: r.GeoJSON(map[interface{}]interface{}{'coordinates': []interface{}{0, 0}, 'type': 'foo', })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"coordinates": []interface{}{0, 0}, "type": "foo"}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #20")
	}

	{
		// geo/geojson.yaml line #22
		/* err('ReqlQueryLogicError', 'Unrecognized field `foo` found in geometry object.', [0]) */
		var expected_ Err = err("ReqlQueryLogicError", "Unrecognized field `foo` found in geometry object.")
		/* r.geojson({'coordinates':[0, 0], 'type':'Point', 'foo':'wrong'}) */

		suite.T().Log("About to run line #22: r.GeoJSON(map[interface{}]interface{}{'coordinates': []interface{}{0, 0}, 'type': 'Point', 'foo': 'wrong', })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"coordinates": []interface{}{0, 0}, "type": "Point", "foo": "wrong"}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #22")
	}

	{
		// geo/geojson.yaml line #26
		/* ({'$reql_type$':'GEOMETRY', 'coordinates':[0, 0], 'type':'Point', 'crs':null}) */
		var expected_ map[interface{}]interface{} = map[interface{}]interface{}{"$reql_type$": "GEOMETRY", "coordinates": []interface{}{0, 0}, "type": "Point", "crs": nil}
		/* r.geojson({'coordinates':[0, 0], 'type':'Point', 'crs':null}) */

		suite.T().Log("About to run line #26: r.GeoJSON(map[interface{}]interface{}{'coordinates': []interface{}{0, 0}, 'type': 'Point', 'crs': nil, })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"coordinates": []interface{}{0, 0}, "type": "Point", "crs": nil}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #26")
	}

	{
		// geo/geojson.yaml line #30
		/* err('ReqlQueryLogicError', 'GeoJSON type `MultiPoint` is not supported.', [0]) */
		var expected_ Err = err("ReqlQueryLogicError", "GeoJSON type `MultiPoint` is not supported.")
		/* r.geojson({'coordinates':[0, 0], 'type':'MultiPoint'}) */

		suite.T().Log("About to run line #30: r.GeoJSON(map[interface{}]interface{}{'coordinates': []interface{}{0, 0}, 'type': 'MultiPoint', })")

		runAndAssert(suite.Suite, expected_, r.GeoJSON(map[interface{}]interface{}{"coordinates": []interface{}{0, 0}, "type": "MultiPoint"}), suite.session, r.RunOpts{
			GeometryFormat: "raw",
			GroupFormat:    "map",
		})
		suite.T().Log("Finished running line #30")
	}
}


text:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

	<!-- This is the topmost parent project pom for consent2share team -->

	<modelVersion>4.0.0</modelVersion>

	<groupId>gov.samhsa.ds4p</groupId>
	<artifactId>DS4P</artifactId>
	<version>2.6.0-SNAPSHOT</version>

	<packaging>pom</packaging>
	<name>DS4P</name>

	<prerequisites>
		<maven>3.2.3</maven>
	</prerequisites>

	<ciManagement>
		<system>Jenkins</system>
		<url>http://BhitsBuild01/</url>
	</ciManagement>

	<!-- Since buildnumber-maven-plugin uses git command, git command must in
		path. i.e. need set git in the path Environment variable -->
	<scm>
		<url>https://github.com/PilotDS4P/ds4p-prod</url>
		<connection>scm:git:https://github.com/PilotDS4P/ds4p-prod.git</connection>
		<developerConnection>scm:git:https://github.com/PilotDS4P/ds4p-prod.git</developerConnection>
	</scm>

	<developers>
		<developer>
			<id>Bhits.Java</id>
			<name>Bhits Java</name>
			<email>Bhits.Java@feisystems.com</email>
			<organization>FEi Systems</organization>
			<roles>
				<role>developer</role>
			</roles>
			<timezone>-5</timezone>
		</developer>
	</developers>

	<distributionManagement>
		<repository>
			<id>deployment</id>
			<name>Internal Releases</name>
			<url>http://${maven.nexus.servername}/nexus/content/repositories/releases/</url>
		</repository>
		<snapshotRepository>
			<id>deployment</id>
			<name>Internal Releases</name>
			<url>http://${maven.nexus.servername}/nexus/content/repositories/snapshots/</url>
		</snapshotRepository>
	</distributionManagement>

	<repositories>
		<repository>
			<id>jboss-thirdparty-release</id>
			<name>JBoss Thirdparty Release</name>
			<url>https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/</url>
		</repository>
		<repository>
			<id>spring-roo-repository</id>
			<name>Spring Roo Repository</name>
			<url>http://spring-roo-repository.springsource.org/release/</url>
		</repository>
		<repository>
			<id>maven-herasaf-release</id>
			<name>Maven Herasaf Release</name>
			<url>http://maven.herasaf.org/herasaf-release/</url>
		</repository>
		<repository>
			<id>wso2-maven2-repository</id>
			<url>http://dist.wso2.org/maven2</url>
		</repository>
		<repository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>http://repo.spring.io/milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

	<pluginRepositories>
		<pluginRepository>
			<id>onejar-maven-plugin.googlecode.com</id>
			<url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
		</pluginRepository>
		<pluginRepository>
			<id>tlc</id>
			<name>TLC Repository</name>

			<url>http://commons.ucalgary.ca/pub/m2</url>
		</pluginRepository>

		<pluginRepository>
			<id>wso2-maven2-repository</id>
			<url>http://dist.wso2.org/maven2</url>
		</pluginRepository>
	</pluginRepositories>

	<modules>
		<module>common-unit</module>

		<module>spirit-client-pg</module>

		<module>access-control-service</module>

		<module>acs-showcase</module>

		<module>consent-gen</module>

		<module>consent2share</module>

		<module>si-c2s-xds</module>
	</modules>

	<properties>
		<java.version>1.8</java.version>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

		<!-- Minimum requirement for Maven is 3.2.3 -->
		<maven.version.range>[3.2.3,)</maven.version.range>

		<!-- Maven plugin version properties -->

		<maven-compiler-plugin.version>3.1</maven-compiler-plugin.version>
		<maven-resources-plugin.version>2.7</maven-resources-plugin.version>
		<maven-surefire-plugin.version>2.17</maven-surefire-plugin.version>
		<maven-failsafe-plugin.version>2.17</maven-failsafe-plugin.version>
		<cobertura-maven-plugin.version>2.6</cobertura-maven-plugin.version>
		<asm.version>5.0.3</asm.version>
		<maven-war-plugin.version>2.4</maven-war-plugin.version>
		<maven-assembly-plugin.version>2.4.1</maven-assembly-plugin.version>
		<maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
		<build-helper-maven-plugin.version>1.9.1</build-helper-maven-plugin.version>
		<sql-maven-plugin.version>1.5</sql-maven-plugin.version>
		<tomcat7-maven-plugin.version>2.2</tomcat7-maven-plugin.version>
		<jboss-as-maven-plugin.version>7.6.Final</jboss-as-maven-plugin.version>
		<jetty-maven-plugin.version>8.1.16.v20140903</jetty-maven-plugin.version>
		<selenium-maven-plugin>2.3</selenium-maven-plugin>
		<maven-eclipse-plugin.version>2.9</maven-eclipse-plugin.version>
		<maven-eclipse-plugin.wtpversion>2.0</maven-eclipse-plugin.wtpversion>
		<onejar-maven-plugin.version>1.4.5</onejar-maven-plugin.version>
		<exec-maven-plugin.version>1.3.2</exec-maven-plugin.version>
		<maven.enforcer.plugin>1.3.1</maven.enforcer.plugin>
		<jaxws-maven-plugin.version>2.3</jaxws-maven-plugin.version>
		<commons-jxpath.version>1.3</commons-jxpath.version>
		<versions-maven-plugin.version>2.1</versions-maven-plugin.version>
		<maven-clean-plugin.version>2.6</maven-clean-plugin.version>
		<maven-install-plugin.version>2.5.2</maven-install-plugin.version>
		<maven-site-plugin.version>3.4</maven-site-plugin.version>
		<buildnumber-maven-plugin.version>1.3</buildnumber-maven-plugin.version>
		<maven-jar-plugin.version>2.5</maven-jar-plugin.version>
		<dependency-check-maven.version>1.2.5</dependency-check-maven.version>
		<maven-javadoc-plugin.version>2.10.1</maven-javadoc-plugin.version>

		<frontend-maven-plugin.verion>0.0.23</frontend-maven-plugin.verion>
		<node.version>0.12.3</node.version>
		<npm.version>1.4.9</npm.version>

		<!-- Dependency version properties -->

		<junit.version>4.11</junit.version>
		<mockito.version>1.10.8</mockito.version>
		<powermock.version>1.6.0</powermock.version>
		<hamcrest.version>1.3</hamcrest.version>
		<!-- Do not increase logback.version until you make sure logback-audit
			functions properly. -->
		<logback.version>1.0.11</logback.version>
		<logback-audit.version>0.6</logback-audit.version>
		<janino-version>2.7.6</janino-version>

		<!-- Apache CXF and its dependencies -->
		<cxf.version>3.1.1</cxf.version>
		<cxf-xjc-plugin.version>3.0.3</cxf-xjc-plugin.version>
		<woodstox-core-asl.version>4.4.1</woodstox-core-asl.version>
		<ehcache.version>2.8.5</ehcache.version>

		<adobe-echosign.version>20</adobe-echosign.version>

		<spring.version>4.1.3.RELEASE</spring.version>
		<spring-webflow.version>2.4.1.RELEASE</spring-webflow.version>
		<spring-security.version>3.2.5.RELEASE</spring-security.version>
		<spring-data.version>1.7.1.RELEASE</spring-data.version>
		<spring.integration.version>4.1.0.RELEASE</spring.integration.version>

		<thymeleaf.version>2.1.3.RELEASE</thymeleaf.version>
		<thymeleafspringsecurity3.version>2.1.1.RELEASE</thymeleafspringsecurity3.version>

		<mysql-connector.version>5.1.34</mysql-connector.version>
		<hibernate.version>4.3.7.Final</hibernate.version>
		<hibernate-validator.version>5.1.3.Final</hibernate-validator.version>
		<hibernate-jpa.version>1.0.0.Final</hibernate-jpa.version>

		<javax.servlet.version>3.1.0</javax.servlet.version>
		<flexjson.version>2.1</flexjson.version>
		<json.version>20140107</json.version>
		<apache.commons.version>3.3.2</apache.commons.version>

		<modelmapper.version>0.5.6</modelmapper.version>
		<itextpdf.version>5.5.3</itextpdf.version>

		<spring-amqp.version>1.1.4.RELEASE</spring-amqp.version>
		<commons-collections.version>3.2.1</commons-collections.version>
		<commons-collections4.version>4.0</commons-collections4.version>
		<commons-beanutils-version>1.9.2</commons-beanutils-version>
		<commons-beanutils-core.version>1.8.3</commons-beanutils-core.version>
		<validation-api.version>1.1.0.Final</validation-api.version>
		<cglib-nodep.version>2.2.2</cglib-nodep.version>
		<jta.version>1.1</jta.version>
		<commons-pool.version>1.5.6</commons-pool.version>
		<commons-dbcp.version>2.0.1</commons-dbcp.version>
		<commons-digester.version>2.1</commons-digester.version>
		<commons-fileupload.version>1.2.2</commons-fileupload.version>
		<commons-lang.version>2.6</commons-lang.version>
		<jstl-api.version>1.2</jstl-api.version>
		<commons-codec.version>1.8</commons-codec.version>
		<vt-password.version>3.1.2</vt-password.version>
		<tiles-jsp.version>2.2.2</tiles-jsp.version>
		<aspectjrt.version>1.7.4</aspectjrt.version>
		<roo.annotations.version>1.2.3.RELEASE</roo.annotations.version>
		<joda-time.version>2.3</joda-time.version>
		<jsp-api.version>2.3.1</jsp-api.version>
		<mail.version>1.4.1</mail.version>
		<activation.version>1.1.1</activation.version>
		<jackson-core-asl.version>1.9.12</jackson-core-asl.version>
		<fasterxml-jackson.version>2.4.3</fasterxml-jackson.version>
		<solr-solrj.version>4.10.2</solr-solrj.version>
		<el-api.version>2.2</el-api.version>
		<selenium-server.version>2.44.0</selenium-server.version>
		<selenium-java.version>2.44.0</selenium-java.version>
		<selenium-firefox-driver.version>2.33.0</selenium-firefox-driver.version>
		<jaxb-impl.version>2.2.11</jaxb-impl.version>
		<jaxb.version>2.1.9</jaxb.version>
		<Saxon-HE.version>9.6.0-3</Saxon-HE.version>
		<commons-io.version>2.1</commons-io.version>
		<xmlunit.version>1.5</xmlunit.version>
		<slf4j.version>1.7.5</slf4j.version>
		<guava.version>16.0.1</guava.version>

		<axiom-api.version>1.2.14</axiom-api.version>
		<xmlsec.version>2.0.2</xmlsec.version>
		<xml-security-impl.version>1.0</xml-security-impl.version>
		<drools.version>5.4.0.Final</drools.version>
		<jaxb-api.version>2.2.12</jaxb-api.version>
		<stax-api.version>1.0-2</stax-api.version>
		<stax-ex.version>2.1.1</stax-ex.version>
		<xstream.version>1.4.2</xstream.version>
		<xercesImpl.version>2.11.0</xercesImpl.version>
		<xmlParserAPIs.version>2.6.2</xmlParserAPIs.version>
		<xalan.version>2.7.2</xalan.version>
		<xml-apis.version>1.4.01</xml-apis.version>
		<jsr311-api.version>1.1.1</jsr311-api.version>
		<herasaf.version>1.0.0.M3</herasaf.version>

		<json-path.version>0.8.1</json-path.version>
		<spring-ws-core.version>2.1.4.RELEASE</spring-ws-core.version>
		<lifecycle-mapping.version>1.0.0</lifecycle-mapping.version>

		<xws-security.version>3.0</xws-security.version>
		<xmlschema-core.version>2.0.3</xmlschema-core.version>
		<jaxws-api.version>2.2.8</jaxws-api.version>
		<esapi.version>2.1.0</esapi.version>
		<recaptcha4j.version>0.0.7</recaptcha4j.version>

		<bcprov-jdk15on.version>1.50</bcprov-jdk15on.version>
		<SpiritEhrWsClient-rc.version>3.0</SpiritEhrWsClient-rc.version>
		<jaxb-xercesImpl.version>1.5</jaxb-xercesImpl.version>

		<libclamav.version>1.0</libclamav.version>
		<jaxen.version>1.1-beta-9</jaxen.version>
		<saaj-api.version>1.3.4</saaj-api.version>
		<commons-httpclient.version>3.1</commons-httpclient.version>
		<javassist.version>3.18.1-GA</javassist.version>
		<wsdl4j.version>1.6.3</wsdl4j.version>
		<httpcomponents.httpclient.version>4.3.4</httpcomponents.httpclient.version>
		<selenium-remote-driver.version>2.44.0</selenium-remote-driver.version>

		<flyway.version>3.1</flyway.version>
		<jasypt.version>1.9.2</jasypt.version>

		<!-- JasperReports properties Start -->
		<jasperreports.version>6.0.4</jasperreports.version>
		<jasperreports-fonts.version>6.0.0</jasperreports-fonts.version>
		<itext.version>4.2.1</itext.version>
		<olap4j.version>1.2.0</olap4j.version>
		<poi.version>3.11</poi.version>
		<poi-ooxml.version>3.11</poi-ooxml.version>
		<!-- JasperReports properties End -->

	</properties>

	<dependencyManagement>
		<dependencies>
			<!-- Test -->
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>${junit.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.mockito</groupId>
				<artifactId>mockito-all</artifactId>
				<version>${mockito.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.powermock</groupId>
				<artifactId>powermock-module-junit4</artifactId>
				<version>${powermock.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.powermock</groupId>
				<artifactId>powermock-api-mockito</artifactId>
				<version>${powermock.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-library</artifactId>
				<version>${hamcrest.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-core</artifactId>
				<version>${hamcrest.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>xmlunit</groupId>
				<artifactId>xmlunit</artifactId>
				<version>${xmlunit.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons-io.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-lang</groupId>
				<artifactId>commons-lang</artifactId>
				<version>${commons-lang.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-beanutils</groupId>
				<artifactId>commons-beanutils</artifactId>
				<version>${commons-beanutils-version}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>commons-beanutils</groupId>
				<artifactId>commons-beanutils-core</artifactId>
				<version>${commons-beanutils-core.version}</version>
			</dependency>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>${guava.version}</version>
			</dependency>
			<dependency>
				<groupId>org.seleniumhq.selenium</groupId>
				<artifactId>selenium-java</artifactId>
				<version>${selenium-java.version}</version>
				<scope>test</scope>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.seleniumhq.selenium</groupId>
				<artifactId>selenium-firefox-driver</artifactId>
				<version>${selenium-firefox-driver.version}</version>
				<scope>test</scope>
			</dependency>

			<dependency>
				<groupId>org.seleniumhq.selenium</groupId>
				<artifactId>selenium-server</artifactId>
				<version>${selenium-server.version}</version>
				<exclusions>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
				</exclusions>
				<scope>test</scope>
			</dependency>

			<!-- Logging -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<!-- Briding Legacy APIs START -->
			<!-- jcl-over-slf4j.jar replaces commons-logging.jar log4j-over-slf4j.jar
				replaces log4j.jar SLF4JBridgeHandler is installed(requires jul-to-slf4j.jar -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jcl-over-slf4j</artifactId>
				<version>${slf4j.version}</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>log4j-over-slf4j</artifactId>
				<version>${slf4j.version}</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>jul-to-slf4j</artifactId>
				<version>${slf4j.version}</version>
				<scope>runtime</scope>
			</dependency>

			<!-- Briding Legacy APIs END -->
			<!-- Underlying logging framework Implementation -->
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>${logback.version}</version>
				<scope>runtime</scope>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-core</artifactId>
				<version>${logback.version}</version>
			</dependency>

			<!-- logback-audit -->
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>audit-client</artifactId>
				<version>${logback-audit.version}</version>
			</dependency>

			<dependency>
				<groupId>org.codehaus.janino</groupId>
				<artifactId>janino</artifactId>
				<version>${janino-version}</version>
			</dependency>

			<!-- consent2Share Project Dependencies Start -->
			<!-- Test -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-test</artifactId>
				<version>${spring.version}</version>
				<scope>test</scope>
			</dependency>

			<!-- Spring -->
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-core</artifactId>
				<version>${spring.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-aop</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-aspects</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-context-support</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-jdbc</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-orm</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-webmvc</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-web</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-beans</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-expression</artifactId>
				<version>${spring.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework</groupId>
				<artifactId>spring-tx</artifactId>
				<version>${spring.version}</version>
			</dependency>

			<!-- Spring webflow -->
			<dependency>
				<groupId>org.springframework.webflow</groupId>
				<artifactId>spring-webflow</artifactId>
				<version>${spring-webflow.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework.webflow</groupId>
				<artifactId>spring-js-resources</artifactId>
				<version>${spring-webflow.version}</version>
			</dependency>

			<!-- Spring security -->
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-web</artifactId>
				<version>${spring-security.version}</version>
			</dependency>
			<!-- TODO: Remove this if not using jsp tag -->
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-taglibs</artifactId>
				<version>${spring-security.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-core</artifactId>
				<version>${spring-security.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-config</artifactId>
				<version>${spring-security.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.springframework.security</groupId>
				<artifactId>spring-security-aspects</artifactId>
				<version>${spring-security.version}</version>
			</dependency>

			<!-- Spring Integration -->
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-core</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-amqp</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-file</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-stream</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-jdbc</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-ws</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-http</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-groovy</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.integration</groupId>
				<artifactId>spring-integration-mail</artifactId>
				<version>${spring.integration.version}</version>
			</dependency>

			<!-- Persistence -->
			<dependency>
				<groupId>mysql</groupId>
				<artifactId>mysql-connector-java</artifactId>
				<version>${mysql-connector.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-core</artifactId>
				<version>${hibernate.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-entitymanager</artifactId>
				<version>${hibernate.version}</version>
				<exclusions>
					<exclusion>
						<groupId>cglib</groupId>
						<artifactId>cglib</artifactId>
					</exclusion>
					<exclusion>
						<groupId>dom4j</groupId>
						<artifactId>dom4j</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-envers</artifactId>
				<version>${hibernate.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-validator</artifactId>
				<version>${hibernate-validator.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate.javax.persistence</groupId>
				<artifactId>hibernate-jpa-2.1-api</artifactId>
				<version>${hibernate-jpa.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.data</groupId>
				<artifactId>spring-data-jpa</artifactId>
				<version>${spring-data.version}</version>
			</dependency>

			<!-- iText -->
			<dependency>
				<groupId>com.itextpdf</groupId>
				<artifactId>itextpdf</artifactId>
				<version>${itextpdf.version}</version>
			</dependency>

			<!-- modelmapper -->
			<dependency>
				<groupId>org.modelmapper</groupId>
				<artifactId>modelmapper</artifactId>
				<version>${modelmapper.version}</version>
			</dependency>

			<!-- Thymeleaf -->
			<dependency>
				<groupId>org.thymeleaf</groupId>
				<artifactId>thymeleaf</artifactId>
				<version>${thymeleaf.version}</version>
			</dependency>
			<dependency>
				<groupId>org.thymeleaf</groupId>
				<artifactId>thymeleaf-spring4</artifactId>
				<version>${thymeleaf.version}</version>
			</dependency>
			<dependency>
				<groupId>org.thymeleaf.extras</groupId>
				<artifactId>thymeleaf-extras-springsecurity3</artifactId>
				<version>${thymeleafspringsecurity3.version}</version>
			</dependency>

			<dependency>
				<groupId>org.springframework.amqp</groupId>
				<artifactId>spring-rabbit</artifactId>
				<version>${spring-amqp.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.amqp</groupId>
				<artifactId>spring-amqp</artifactId>
				<version>${spring-amqp.version}</version>
			</dependency>

			<!-- xmlschema-core -->
			<dependency>
				<groupId>org.apache.ws.xmlschema</groupId>
				<artifactId>xmlschema-core</artifactId>
				<version>${xmlschema-core.version}</version>
			</dependency>

			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>javax.servlet-api</artifactId>
				<version>${javax.servlet.version}</version>
				<scope>provided</scope>
			</dependency>

			<!-- TODO: Go over the following dependencies -->
			<dependency>
				<groupId>net.sf.flexjson</groupId>
				<artifactId>flexjson</artifactId>
				<version>${flexjson.version}</version>
			</dependency>

			<dependency>
				<groupId>org.json</groupId>
				<artifactId>json</artifactId>
				<version>${json.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${apache.commons.version}</version>
			</dependency>

			<dependency>
				<groupId>commons-collections</groupId>
				<artifactId>commons-collections</artifactId>
				<version>${commons-collections.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-collections4</artifactId>
				<version>${commons-collections4.version}</version>
			</dependency>

			<dependency>
				<groupId>javax.validation</groupId>
				<artifactId>validation-api</artifactId>
				<version>${validation-api.version}</version>
			</dependency>
			<dependency>
				<groupId>cglib</groupId>
				<artifactId>cglib-nodep</artifactId>
				<version>${cglib-nodep.version}</version>
			</dependency>
			<dependency>
				<groupId>javax.transaction</groupId>
				<artifactId>jta</artifactId>
				<version>${jta.version}</version>
			</dependency>

			<dependency>
				<groupId>commons-pool</groupId>
				<artifactId>commons-pool</artifactId>
				<version>${commons-pool.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-dbcp2</artifactId>
				<version>${commons-dbcp.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>commons-digester</groupId>
				<artifactId>commons-digester</artifactId>
				<version>${commons-digester.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>commons-fileupload</groupId>
				<artifactId>commons-fileupload</artifactId>
				<version>${commons-fileupload.version}</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet.jsp.jstl</groupId>
				<artifactId>jstl-api</artifactId>
				<version>${jstl-api.version}</version>
				<exclusions>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<artifactId>jsp-api</artifactId>
						<groupId>javax.servlet.jsp</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.glassfish.web</groupId>
				<artifactId>jstl-impl</artifactId>
				<version>${jstl-api.version}</version>
				<exclusions>
					<exclusion>
						<groupId>javax.servlet</groupId>
						<artifactId>servlet-api</artifactId>
					</exclusion>
					<exclusion>
						<groupId>javax.servlet.jsp</groupId>
						<artifactId>jsp-api</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>javax.el</groupId>
				<artifactId>el-api</artifactId>
				<version>${el-api.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${joda-time.version}</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet.jsp</groupId>
				<artifactId>javax.servlet.jsp-api</artifactId>
				<version>${jsp-api.version}</version>
				<scope>provided</scope>
			</dependency>
			<dependency>
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>${commons-codec.version}</version>
			</dependency>

			<dependency>
				<groupId>javax.mail</groupId>
				<artifactId>mail</artifactId>
				<version>${mail.version}</version>
			</dependency>
			<dependency>
				<groupId>javax.activation</groupId>
				<artifactId>activation</artifactId>
				<version>${activation.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.solr</groupId>
				<artifactId>solr-solrj</artifactId>
				<version>${solr-solrj.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-core-asl</artifactId>
				<version>${jackson-core-asl.version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.jackson</groupId>
				<artifactId>jackson-mapper-asl</artifactId>
				<version>${jackson-core-asl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.core</groupId>
				<artifactId>jackson-databind</artifactId>
				<version>${fasterxml-jackson.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi</artifactId>
				<version>${poi.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.poi</groupId>
				<artifactId>poi-ooxml</artifactId>
				<version>${poi-ooxml.version}</version>
			</dependency>

			<dependency>
				<groupId>com.googlecode.sardine</groupId>
				<artifactId>sardine</artifactId>
				<version>146</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>jaxen</groupId>
				<artifactId>jaxen</artifactId>
				<version>${jaxen.version}</version>
				<exclusions>
					<exclusion>
						<groupId>jaxen</groupId>
						<artifactId>jaxen</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>javax.xml.soap</groupId>
				<artifactId>saaj-api</artifactId>
				<version>${saaj-api.version}</version>
			</dependency>

			<dependency>
				<groupId>commons-httpclient</groupId>
				<artifactId>commons-httpclient</artifactId>
				<version>${commons-httpclient.version}</version>
			</dependency>

			<dependency>
				<groupId>org.javassist</groupId>
				<artifactId>javassist</artifactId>
				<version>${javassist.version}</version>
			</dependency>

			<dependency>
				<groupId>wsdl4j</groupId>
				<artifactId>wsdl4j</artifactId>
				<version>${wsdl4j.version}</version>
			</dependency>

			<dependency>
				<groupId>org.seleniumhq.selenium</groupId>
				<artifactId>selenium-remote-driver</artifactId>
				<version>${selenium-remote-driver.version}</version>
			</dependency>

			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>${httpcomponents.httpclient.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<!-- aspectj dependencies -->
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjrt</artifactId>
				<version>${aspectjrt.version}</version>
			</dependency>
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjweaver</artifactId>
				<version>${aspectjrt.version}</version>
			</dependency>
			<dependency>
				<groupId>org.aspectj</groupId>
				<artifactId>aspectjtools</artifactId>
				<version>${aspectjrt.version}</version>
			</dependency>

			<!-- TODO: Remove ROO dependency -->
			<dependency>
				<groupId>org.springframework.roo</groupId>
				<artifactId>org.springframework.roo.annotations</artifactId>
				<version>${roo.annotations.version}</version>
				<scope>provided</scope>
			</dependency>

			<!-- TODO: Remove apache.tiles dependency -->
			<dependency>
				<groupId>org.apache.tiles</groupId>
				<artifactId>tiles-jsp</artifactId>
				<version>${tiles-jsp.version}</version>
			</dependency>

			<!-- Third party projects -->
			<dependency>
				<groupId>com.echosign</groupId>
				<artifactId>adobe-echosign</artifactId>
				<version>${adobe-echosign.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<artifactId>XmlSchema</artifactId>
						<groupId>org.apache.ws.commons</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>SpiritEhrWsClient-rc</groupId>
				<artifactId>SpiritEhrWsClient-rc</artifactId>
				<version>${SpiritEhrWsClient-rc.version}</version>
			</dependency>

			<dependency>
				<groupId>edu.vt.middleware</groupId>
				<artifactId>vt-password</artifactId>
				<version>${vt-password.version}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>com.jayway.jsonpath</groupId>
				<artifactId>json-path</artifactId>
				<version>${json-path.version}</version>
				<scope>test</scope>
			</dependency>

			<!-- Our own projects -->
			<dependency>
				<groupId>com.sun.xml.bind</groupId>
				<artifactId>jaxb-impl</artifactId>
				<version>${jaxb-impl.version}</version>
			</dependency>
			<dependency>
				<groupId>sun-jaxws</groupId>
				<artifactId>stax-ex</artifactId>
				<version>${stax-ex.version}</version>
			</dependency>
			<dependency>
				<groupId>net.sf.saxon</groupId>
				<artifactId>Saxon-HE</artifactId>
				<version>${Saxon-HE.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>consent2share-common</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>consent2share-domain</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>consent2share-infrastructure</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>consent2share-infrastructure-bl</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>consent2share-infrastructure-pg</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>consent2share-service</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>consent2share-service-bl</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>consent2share-service-pg</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>spirit-client-pg</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent</groupId>
				<artifactId>consent-gen</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent</groupId>
				<artifactId>consent-gen-pg</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>common-library</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>audit-service</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>spirit-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>si-c2s-xds-common</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>brms-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>brms-factmodel</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>brms-service</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>document-segmentation-service</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>document-segmentation-web</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>document-segmentation-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>context-handler-service</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>context-handler-service-bl</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>context-handler-service-pg</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>xdsb-common-bl</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>xdsb-common</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>xdsb-common-pg</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>xdsb-registry-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>xdsb-repository-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>pep-service</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>pep-service-pg</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>pep-service-bl</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>context-handler-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>polrep-client</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>c32-service-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>pep-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>common-unit</artifactId>
				<version>${project.version}</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>org.herasaf.xacml.core</groupId>
				<artifactId>herasaf-xacml-core</artifactId>
				<version>${herasaf.version}</version>
			</dependency>

			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>pix-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>hl7-gen</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>try-policy-client</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>try-policy-service</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>try-policy-web-bl</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>gov.samhsa.consent2share</groupId>
				<artifactId>c32-parser</artifactId>
				<version>${project.version}</version>
			</dependency>
			<!-- consent2Share Project Dependencies End -->

			<!-- Access Control Services -->
			<dependency>
				<groupId>org.apache.ws.commons.axiom</groupId>
				<artifactId>axiom-api</artifactId>
				<version>${axiom-api.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.santuario</groupId>
				<artifactId>xmlsec</artifactId>
				<version>${xmlsec.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>com.sun.xml.security</groupId>
				<artifactId>xml-security-impl</artifactId>
				<version>${xml-security-impl.version}</version>
			</dependency>

			<dependency>
				<groupId>javax.xml.ws</groupId>
				<artifactId>jaxws-api</artifactId>
				<version>${jaxws-api.version}</version>
			</dependency>

			<!-- Drools dependencies -->
			<dependency>
				<groupId>org.drools</groupId>
				<artifactId>knowledge-api</artifactId>
				<version>${drools.version}</version>
			</dependency>
			<dependency>
				<groupId>org.drools</groupId>
				<artifactId>drools-core</artifactId>
				<version>${drools.version}</version>
			</dependency>

			<dependency>
				<groupId>org.drools</groupId>
				<artifactId>drools-compiler</artifactId>
				<version>${drools.version}</version>
			</dependency>

			<!-- Apache CXF and its dependencies -->
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-frontend-jaxws</artifactId>
				<version>${cxf.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-frontend-jaxrs</artifactId>
				<version>${cxf.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-transports-http</artifactId>
				<version>${cxf.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-ws-security</artifactId>
				<version>${cxf.version}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-ws-policy</artifactId>
				<version>${cxf.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-ws-addr</artifactId>
				<version>${cxf.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-ws-mex</artifactId>
				<version>${cxf.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf.services.sts</groupId>
				<artifactId>cxf-services-sts-core</artifactId>
				<version>${cxf.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-bindings-soap</artifactId>
				<version>${cxf.version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.woodstox</groupId>
				<artifactId>woodstox-core-asl</artifactId>
				<version>${woodstox-core-asl.version}</version>
			</dependency>
			<dependency>
				<groupId>net.sf.ehcache</groupId>
				<artifactId>ehcache</artifactId>
				<version>${ehcache.version}</version>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-jdk14</artifactId>
				<version>${slf4j.version}</version>
				<scope>runtime</scope>
			</dependency>

			<!-- Web stack-specific dependencies that are internally needed by the
				Endpoint object as it exposes a web service -->
			<dependency>
				<groupId>org.apache.cxf</groupId>
				<artifactId>cxf-rt-transports-http-jetty</artifactId>
				<version>${cxf.version}</version>
				<scope>test</scope>
			</dependency>

			<!-- Below used by embedded Jetty (which implements Endpoint in CXF) -->
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-simple</artifactId>
				<version>${slf4j.version}</version>
				<scope>test</scope>
			</dependency>

			<!-- JAXB dependencies -->
			<dependency>
				<groupId>javax.xml.bind</groupId>
				<artifactId>jaxb-api</artifactId>
				<version>${jaxb-api.version}</version>
			</dependency>

			<dependency>
				<groupId>javax.xml.stream</groupId>
				<artifactId>stax-api</artifactId>
				<version>${stax-api.version}</version>
			</dependency>

			<dependency>
				<groupId>com.sun.xml.bind</groupId>
				<artifactId>jaxb</artifactId>
				<version>${jaxb.version}</version>
			</dependency>

			<!-- xstream dependencies -->
			<dependency>
				<groupId>com.thoughtworks.xstream</groupId>
				<artifactId>xstream</artifactId>
				<version>${xstream.version}</version>
			</dependency>

			<dependency>
				<groupId>javax.ws.rs</groupId>
				<artifactId>jsr311-api</artifactId>
				<version>${jsr311-api.version}</version>
			</dependency>

			<!-- The artifact xml-apis:xml-apis:jar:2.0.2 is relocated to xml-apis:xml-apis:jar:1.0.b2 -->
			<dependency>
				<groupId>xml-apis</groupId>
				<artifactId>xml-apis</artifactId>
				<version>${xml-apis.version}</version>
				<scope>provided</scope>
				<optional>true</optional>
			</dependency>

			<dependency>
				<groupId>xalan</groupId>
				<artifactId>xalan</artifactId>
				<version>${xalan.version}</version>
			</dependency>

			<dependency>
				<groupId>org.springframework.ws</groupId>
				<artifactId>spring-ws-core</artifactId>
				<version>${spring-ws-core.version}</version>
				<exclusions>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>commons-jxpath</groupId>
				<artifactId>commons-jxpath</artifactId>
				<version>${commons-jxpath.version}</version>
			</dependency>
			<dependency>
				<groupId>xerces</groupId>
				<artifactId>xercesImpl</artifactId>
				<version>${xercesImpl.version}</version>
			</dependency>
			<dependency>
				<groupId>xerces</groupId>
				<artifactId>xmlParserAPIs</artifactId>
				<version>${xmlParserAPIs.version}</version>
			</dependency>

			<dependency>
				<groupId>com.sun.xml.wss</groupId>
				<artifactId>xws-security</artifactId>
				<version>${xws-security.version}</version>
			</dependency>

			<dependency>
				<groupId>org.owasp.esapi</groupId>
				<artifactId>esapi</artifactId>
				<version>${esapi.version}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-logging</artifactId>
						<groupId>commons-logging</groupId>
					</exclusion>
					<exclusion>
						<groupId>log4j</groupId>
						<artifactId>log4j</artifactId>
					</exclusion>
				</exclusions>
			</dependency>

			<dependency>
				<groupId>net.tanesha.recaptcha4j</groupId>
				<artifactId>recaptcha4j</artifactId>
				<version>${recaptcha4j.version}</version>
			</dependency>

			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcprov-jdk15on</artifactId>
				<version>${bcprov-jdk15on.version}</version>
			</dependency>
			<dependency>
				<groupId>activesoap</groupId>
				<artifactId>jaxb-xercesImpl</artifactId>
				<version>${jaxb-xercesImpl.version}</version>
			</dependency>

			<dependency>
				<groupId>net.taldius</groupId>
				<artifactId>libclamav</artifactId>
				<version>${libclamav.version}</version>
			</dependency>

			<dependency>
				<groupId>org.flywaydb</groupId>
				<artifactId>flyway-core</artifactId>
				<version>${flyway.version}</version>
			</dependency>
			<!-- Jasypt -->
			<dependency>
				<groupId>org.jasypt</groupId>
				<artifactId>jasypt-spring31</artifactId>
				<version>${jasypt.version}</version>
			</dependency>

			<!-- JasperReports dependencies Start -->
			<dependency>
				<groupId>net.sf.jasperreports</groupId>
				<artifactId>jasperreports</artifactId>
				<version>${jasperreports.version}</version>
				<exclusions>
					<exclusion>
						<artifactId>commons-collections</artifactId>
						<groupId>commons-collections</groupId>
					</exclusion>
					<exclusion>
						<artifactId>commons-digester</artifactId>
						<groupId>commons-digester</groupId>
					</exclusion>
					<exclusion>
						<groupId>commons-logging</groupId>
						<artifactId>commons-logging</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.lowagie</groupId>
						<artifactId>itext</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-core</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-annotations</artifactId>
					</exclusion>
					<exclusion>
						<groupId>org.olap4j</groupId>
						<artifactId>olap4j</artifactId>
					</exclusion>
					<exclusion>
						<groupId>com.fasterxml.jackson.core</groupId>
						<artifactId>jackson-databind</artifactId>
					</exclusion>
				</exclusions>
			</dependency>
			<dependency>
				<groupId>com.lowagie</groupId>
				<artifactId>itext</artifactId>
				<version>${itext.version}</version>
			</dependency>
			<dependency>
				<groupId>org.olap4j</groupId>
				<artifactId>olap4j</artifactId>
				<version>${olap4j.version}</version>
			</dependency>
			<dependency>
				<groupId>net.sf.jasperreports</groupId>
				<artifactId>jasperreports-fonts</artifactId>
				<version>${jasperreports-fonts.version}</version>
			</dependency>
			<!-- JasperReports dependencies End -->

		</dependencies>

	</dependencyManagement>

	<dependencies>
		<!-- Test -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-module-junit4</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-api-mockito</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-library</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.hamcrest</groupId>
			<artifactId>hamcrest-core</artifactId>
			<scope>test</scope>
		</dependency>

		<!-- Logging -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>log4j-over-slf4j</artifactId>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jul-to-slf4j</artifactId>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
		</dependency>
	</dependencies>

	<build>

		<plugins>

			<!-- Must present in plugins section for enforcer to run in the default
				build lifecyle -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
			</plugin>

			<!-- Must present in plugins section for buildnumber-maven-plugin to run
				in the default build lifecyle -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>buildnumber-maven-plugin</artifactId>
			</plugin>

		</plugins>

		<pluginManagement>

			<plugins>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${maven-compiler-plugin.version}</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
						<encoding>${project.build.sourceEncoding}</encoding>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>${maven-resources-plugin.version}</version>
					<configuration>
						<encoding>${project.build.sourceEncoding}</encoding>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven-surefire-plugin.version}</version>
					<configuration>
						<printSummary>false</printSummary>
						<redirectTestOutputToFile>true</redirectTestOutputToFile>
						<includes>
							<include>**/*Test.java</include>
						</includes>
						<excludes>
							<exclude>**/*IntegrationTest.java</exclude>
							<exclude>**/*_Roo_*</exclude>
						</excludes>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>${maven-failsafe-plugin.version}</version>
					<executions>
						<execution>
							<id>integration-test</id>
							<goals>
								<goal>integration-test</goal>
							</goals>
						</execution>
						<execution>
							<id>verify</id>
							<goals>
								<goal>verify</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<!-- mvn cobertura:cobertura -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>cobertura-maven-plugin</artifactId>
					<version>${cobertura-maven-plugin.version}</version>
					<dependencies>
						<dependency>
							<groupId>org.ow2.asm</groupId>
							<artifactId>asm</artifactId>
							<version>${asm.version}</version>
						</dependency>
					</dependencies>
					<configuration>
						<formats>
							<format>html</format>
							<format>xml</format>
						</formats>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>${maven-war-plugin.version}</version>
					<configuration>
						<archive>
							<manifest>
								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
							</manifest>
							<manifestEntries>
								<Implementation-Version>${project.version}</Implementation-Version>
								<Implementation-Commit>${buildNumber}</Implementation-Commit>
							</manifestEntries>
						</archive>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${maven-jar-plugin.version}</version>
					<configuration>
						<archive>
							<!-- will put the entries into META-INF/MANIFEST.MF file -->
							<manifestEntries>
								<Implementation-Version>${project.version}</Implementation-Version>
								<Implementation-Commit>${buildNumber}</Implementation-Commit>
							</manifestEntries>
						</archive>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>${maven-assembly-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>${maven-deploy-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>${build-helper-maven-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>sql-maven-plugin</artifactId>
					<version>${sql-maven-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.apache.cxf</groupId>
					<artifactId>cxf-codegen-plugin</artifactId>
					<version>${cxf.version}</version>
					<dependencies>
						<dependency>
							<groupId>xerces</groupId>
							<artifactId>xercesImpl</artifactId>
							<version>${xercesImpl.version}</version>
						</dependency>
						<dependency>
							<groupId>org.slf4j</groupId>
							<artifactId>jcl-over-slf4j</artifactId>
							<version>${slf4j.version}</version>
						</dependency>
					</dependencies>
				</plugin>

				<plugin>
					<groupId>org.apache.cxf</groupId>
					<artifactId>cxf-xjc-plugin</artifactId>
					<version>${cxf-xjc-plugin.version}</version>
				</plugin>

				<!-- mvn tomcat7:run -->
				<plugin>
					<groupId>org.apache.tomcat.maven</groupId>
					<artifactId>tomcat7-maven-plugin</artifactId>
					<version>${tomcat7-maven-plugin.version}</version>
					<configuration>
						<path>/${project.build.finalName}</path>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.jboss.as.plugins</groupId>
					<artifactId>jboss-as-maven-plugin</artifactId>
					<version>${jboss-as-maven-plugin.version}</version>
				</plugin>

				<!-- mvn jetty:run -->
				<plugin>
					<groupId>org.mortbay.jetty</groupId>
					<artifactId>jetty-maven-plugin</artifactId>
					<version>${jetty-maven-plugin.version}</version>
					<configuration>
						<webAppConfig>
							<contextPath>/${project.build.finalName}</contextPath>
						</webAppConfig>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>selenium-maven-plugin</artifactId>
					<version>${selenium-maven-plugin}</version>
					<!-- <configuration> -->
					<!-- <browser>*firefox</browser> -->
					<!-- <trustAllSSLCertificates>true</trustAllSSLCertificates> -->
					<!-- <suite>src/main/webapp/selenium/test-suite.xhtml</suite> -->
					<!-- <results>${project.build.directory}/selenium.html</results> -->
					<!-- <startURL>http://localhost:4444/</startURL> -->
					<!-- </configuration> -->
					<dependencies>
						<dependency>
							<groupId>org.seleniumhq.selenium</groupId>
							<artifactId>selenium-server</artifactId>
							<version>${selenium-server.version}</version>
							<exclusions>
								<exclusion>
									<groupId>javax.servlet</groupId>
									<artifactId>servlet-api</artifactId>
								</exclusion>
							</exclusions>
						</dependency>
					</dependencies>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-eclipse-plugin</artifactId>
					<version>${maven-eclipse-plugin.version}</version>
					<!-- Note 2.8 does not work with AspectJ aspect path -->
					<configuration>
						<downloadSources>true</downloadSources>
						<downloadJavadocs>false</downloadJavadocs>
						<wtpversion>${maven-eclipse-plugin.wtpversion}</wtpversion>
						<additionalBuildcommands>
							<buildCommand>
								<name>org.eclipse.ajdt.core.ajbuilder</name>
								<arguments>
									<aspectPath>org.springframework.aspects</aspectPath>
								</arguments>
							</buildCommand>
							<buildCommand>
								<name>org.springframework.ide.eclipse.core.springbuilder</name>
							</buildCommand>
						</additionalBuildcommands>
						<additionalProjectnatures>
							<projectnature>org.eclipse.ajdt.ui.ajnature</projectnature>
							<projectnature>com.springsource.sts.roo.core.nature</projectnature>
							<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
						</additionalProjectnatures>
					</configuration>
				</plugin>
				<!-- Build the Executable JAR -->
				<plugin>
					<groupId>org.dstovall</groupId>
					<artifactId>onejar-maven-plugin</artifactId>
					<version>${onejar-maven-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>${exec-maven-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>${maven.enforcer.plugin}</version>
					<executions>
						<execution>
							<id>enforce-banned-dependencies</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<rules>
									<DependencyConvergence>
										<uniqueVersions>true</uniqueVersions>
									</DependencyConvergence>
									<bannedDependencies>
										<searchTransitive>true</searchTransitive>
										<excludes>
											<exclude>javassist:javassist</exclude>
											<exclude>commons-logging</exclude>
											<exclude>aspectj:aspectj*</exclude>
											<exclude>hsqldb:hsqldb</exclude>
											<exclude>log4j:log4j</exclude>
											<exclude>org.slf4j:1.5*</exclude>
											<exclude>org.springframework:2.*</exclude>
											<exclude>org.springframework:3.*</exclude>
											<exclude>org.springframework:4.0.*</exclude>
											<exclude>joda-time:1.*</exclude>
										</excludes>
									</bannedDependencies>
									<requireMavenVersion>
										<version>${maven.version.range}</version>
									</requireMavenVersion>
									<requireJavaVersion>
										<version>${java.version}</version>
									</requireJavaVersion>
								</rules>
								<fail>true</fail>
							</configuration>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>org.jvnet.jax-ws-commons</groupId>
					<artifactId>jaxws-maven-plugin</artifactId>
					<version>${jaxws-maven-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>${lifecycle-mapping.version}</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-enforcer-plugin</artifactId>
										<versionRange>[1.0.0,)</versionRange>
										<goals>
											<goal>enforce</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.jvnet.jax-ws-commons
										</groupId>
										<artifactId>
											jaxws-maven-plugin
										</artifactId>
										<versionRange>
											[2.2,)
										</versionRange>
										<goals>
											<goal>wsimport</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.codehaus.mojo
										</groupId>
										<artifactId>
											build-helper-maven-plugin
										</artifactId>
										<versionRange>
											[1.7,)
										</versionRange>
										<goals>
											<goal>add-source</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute>
                                    		<runOnConfiguration>true</runOnConfiguration>
                                    		<runOnIncremental>true</runOnIncremental>
                                		</execute>
										<ignore></ignore>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.cxf
										</groupId>
										<artifactId>
											cxf-codegen-plugin
										</artifactId>
										<versionRange>
											[2.6.0,)
										</versionRange>
										<goals>
											<goal>wsdl2java</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.cxf
										</groupId>
										<artifactId>
											cxf-xjc-plugin
										</artifactId>
										<versionRange>
											[2.6.0,)
										</versionRange>
										<goals>
											<goal>xsdtojava</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.owasp</groupId>
					<artifactId>dependency-check-maven</artifactId>
					<version>${dependency-check-maven.version}</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>versions-maven-plugin</artifactId>
					<version>${versions-maven-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>${maven-clean-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>${maven-install-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>${maven-site-plugin.version}</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>buildnumber-maven-plugin</artifactId>
					<version>${buildnumber-maven-plugin.version}</version>
					<executions>
						<execution>
							<phase>validate</phase>
							<goals>
								<goal>create</goal>
							</goals>
						</execution>
					</executions>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>${maven-javadoc-plugin.version}</version>
					<configuration>
						<show>private</show>
						<nohelp>true</nohelp>
					</configuration>
				</plugin>

				<plugin>
					<groupId>com.github.eirslett</groupId>
					<artifactId>frontend-maven-plugin</artifactId>
					<version>${frontend-maven-plugin.verion}</version>
				</plugin>

			</plugins>

		</pluginManagement>

	</build>

	<profiles>

		<!-- mvn clean install -->
		<!-- mvn clean install -Pdev -->
		<!-- mvn clean install -Denvironment.type=dev -->
		<profile>
			<id>dev</id>
			<activation>
				<!-- activeByDefault option will only work if no other profiles are active -->
				<activeByDefault>true</activeByDefault>
				<property>
					<name>environment.type</name>
					<value>dev</value>
				</property>
			</activation>

			<properties>
				<maven.database.url>
					jdbc:mysql://localhost:3306/consent2share?autoReconnect=true
				</maven.database.url>
				<maven.database-test.url>
					jdbc:mysql://localhost:3306/test?autoReconnect=true
				</maven.database-test.url>

			</properties>

		</profile>

		<!-- mvn clean install -Pqa -->
		<!-- mvn clean install -Denvironment.type=qa -->
		<profile>
			<id>qa</id>
			<activation>
				<property>
					<name>environment.type</name>
					<value>qa</value>
				</property>
			</activation>
		</profile>

		<!-- mvn clean install -Pdemo -->
		<!-- mvn clean install -Denvironment.type=demo -->
		<profile>
			<id>demo</id>
			<activation>
				<property>
					<name>environment.type</name>
					<value>demo</value>
				</property>
			</activation>
		</profile>

		<!-- mvn clean install -Pintegration-tests -->
		<profile>
			<id>integration-tests</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-failsafe-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- mvn clean install -Pdev,integration-tests-surefire -->
		<!-- mvn clean install -Pintegration-tests-surefire -Denvironment.type=dev -->
		<!-- mvn clean install -Denvironment.type=dev -Dincluding-intergration-tests=true -->
		<!-- mvn clean install -Pintegration-tests-surefire -Denvironment.type=qa -->
		<!-- mvn clean install -Denvironment.type=qa -Dincluding-intergration-tests=true -->
		<profile>
			<id>integration-tests-surefire</id>
			<activation>
				<property>
					<name>including-intergration-tests</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-surefire-plugin</artifactId>
						<configuration>
							<includes>
								<include>**/*IntegrationTest.java</include>
							</includes>
							<excludes>
								<exclude>**/*StagingIntegrationTest.java</exclude>
							</excludes>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>

		<!-- mvn clean install -Pjenkins -->
		<!-- mvn clean install -Denv.BUILD_NUMBER=1 -->
		<!-- Jenkins by default defines a property BUILD_NUMBER which is used to
			enable the profile. -->
		<profile>
			<id>jenkins</id>
			<activation>
				<property>
					<name>env.BUILD_NUMBER</name>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>cobertura-maven-plugin</artifactId>
					</plugin>
				</plugins>
				<pluginManagement>
					<plugins>
						<plugin>
							<groupId>org.codehaus.mojo</groupId>
							<artifactId>cobertura-maven-plugin</artifactId>
							<version>${cobertura-maven-plugin.version}</version>
							<configuration>
								<formats>
									<format>html</format>
									<format>xml</format>
								</formats>
							</configuration>
							<executions>
								<execution>
									<phase>package</phase>
									<goals>
										<goal>cobertura</goal>
									</goals>
								</execution>
							</executions>
						</plugin>
					</plugins>
				</pluginManagement>
			</build>
		</profile>
	</profiles>

</project>