diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..cef18d1
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,18 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_size = 2
+indent_style = space
+insert_final_newline = true
+trim_trailing_whitespace = true
+max_line_length = 120
+tab_width = 2
+
+[*.java]
+indent_size = 2
+tab_width = 2
+
+[{*.yaml,*.yml,*.xml,*.sh}]
+indent_size = 2
diff --git a/.gitignore b/.gitignore
index c484bb3..49c11a0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,299 @@
-.vagrant
Vagrant/datadisk.vmdk
Vagrant/swapdisk.vdi
+
+
+# Created by https://www.toptal.com/developers/gitignore/api/git,linux,macos,vagrant,eclipse,windows,virtualenv,visualstudiocode,intellij+all
+# Edit at https://www.toptal.com/developers/gitignore?templates=git,linux,macos,vagrant,eclipse,windows,virtualenv,visualstudiocode,intellij+all
+
+### Eclipse ###
+.metadata
+bin/
+tmp/
+*.tmp
+*.bak
+*.swp
+*~.nib
+local.properties
+.settings/
+.loadpath
+.recommenders
+
+# External tool builders
+.externalToolBuilders/
+
+# Locally stored "Eclipse launch configurations"
+*.launch
+
+# PyDev specific (Python IDE for Eclipse)
+*.pydevproject
+
+# CDT-specific (C/C++ Development Tooling)
+.cproject
+
+# CDT- autotools
+.autotools
+
+# Java annotation processor (APT)
+.factorypath
+
+# PDT-specific (PHP Development Tools)
+.buildpath
+
+# sbteclipse plugin
+.target
+
+# Tern plugin
+.tern-project
+
+# TeXlipse plugin
+.texlipse
+
+# STS (Spring Tool Suite)
+.springBeans
+
+# Code Recommenders
+.recommenders/
+
+# Annotation Processing
+.apt_generated/
+.apt_generated_test/
+
+# Scala IDE specific (Scala & Java development for Eclipse)
+.cache-main
+.scala_dependencies
+.worksheet
+
+# Uncomment this line if you wish to ignore the project description file.
+# Typically, this file would be tracked if it contains build/dependency configurations:
+#.project
+
+### Eclipse Patch ###
+# Spring Boot Tooling
+.sts4-cache/
+
+### Git ###
+# Created by git for backups. To disable backups in Git:
+# $ git config --global mergetool.keepBackup false
+*.orig
+
+# Created by git when using merge tools for conflicts
+*.BACKUP.*
+*.BASE.*
+*.LOCAL.*
+*.REMOTE.*
+*_BACKUP_*.txt
+*_BASE_*.txt
+*_LOCAL_*.txt
+*_REMOTE_*.txt
+
+### Intellij+all ###
+# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
+# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
+
+# User-specific stuff
+.idea/**/workspace.xml
+.idea/**/tasks.xml
+.idea/**/usage.statistics.xml
+.idea/**/dictionaries
+.idea/**/shelf
+
+# AWS User-specific
+.idea/**/aws.xml
+
+# Generated files
+.idea/**/contentModel.xml
+
+# Sensitive or high-churn files
+.idea/**/dataSources/
+.idea/**/dataSources.ids
+.idea/**/dataSources.local.xml
+.idea/**/sqlDataSources.xml
+.idea/**/dynamic.xml
+.idea/**/uiDesigner.xml
+.idea/**/dbnavigator.xml
+
+# Gradle
+.idea/**/gradle.xml
+.idea/**/libraries
+
+# Gradle and Maven with auto-import
+# When using Gradle or Maven with auto-import, you should exclude module files,
+# since they will be recreated, and may cause churn. Uncomment if using
+# auto-import.
+# .idea/artifacts
+# .idea/compiler.xml
+# .idea/jarRepositories.xml
+# .idea/modules.xml
+# .idea/*.iml
+# .idea/modules
+# *.iml
+# *.ipr
+
+# CMake
+cmake-build-*/
+
+# Mongo Explorer plugin
+.idea/**/mongoSettings.xml
+
+# File-based project format
+*.iws
+
+# IntelliJ
+out/
+
+# mpeltonen/sbt-idea plugin
+.idea_modules/
+
+# JIRA plugin
+atlassian-ide-plugin.xml
+
+# Cursive Clojure plugin
+.idea/replstate.xml
+
+# SonarLint plugin
+.idea/sonarlint/
+
+# Crashlytics plugin (for Android Studio and IntelliJ)
+com_crashlytics_export_strings.xml
+crashlytics.properties
+crashlytics-build.properties
+fabric.properties
+
+# Editor-based Rest Client
+.idea/httpRequests
+
+# Android studio 3.1+ serialized cache file
+.idea/caches/build_file_checksums.ser
+
+### Intellij+all Patch ###
+# Ignores the whole .idea folder and all .iml files
+# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360
+
+.idea/*
+
+# Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
+
+*.iml
+modules.xml
+.idea/misc.xml
+*.ipr
+
+# Sonarlint plugin
+.idea/sonarlint
+
+### Linux ###
+*~
+
+# temporary files which can be created if a process still has a handle open of a deleted file
+.fuse_hidden*
+
+# KDE directory preferences
+.directory
+
+# Linux trash folder which might appear on any partition or disk
+.Trash-*
+
+# .nfs files are created when an open file is removed but is still being accessed
+.nfs*
+
+### macOS ###
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+### Vagrant ###
+# General
+.vagrant/
+
+# Log files (if you are creating logs in debug mode, uncomment this)
*.log
+
+### Vagrant Patch ###
+*.box
+
+### VirtualEnv ###
+# Virtualenv
+# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
+.Python
+[Bb]in
+[Ii]nclude
+[Ll]ib
+[Ll]ib64
+[Ll]ocal
+[Ss]cripts
+pyvenv.cfg
+.venv
+pip-selfcheck.json
+
+### VisualStudioCode ###
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+!.vscode/*.code-snippets
+
+# Local History for Visual Studio Code
+.history/
+
+# Built Visual Studio Code Extensions
+*.vsix
+
+### VisualStudioCode Patch ###
+# Ignore all local history of files
+.history
+.ionide
+
+# Support for Project snippet scope
+
+### Windows ###
+# Windows thumbnail cache files
+Thumbs.db
+Thumbs.db:encryptable
+ehthumbs.db
+ehthumbs_vista.db
+
+# Dump file
+*.stackdump
+
+# Folder config file
+[Dd]esktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
+
+# End of https://www.toptal.com/developers/gitignore/api/git,linux,macos,vagrant,eclipse,windows,virtualenv,visualstudiocode,intellij+all
diff --git a/README.md b/README.md
index d675da5..26f7c03 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,35 @@
# Entorn de desenvolupament del framework Canigó
-Informació a https://canigo.ctti.gencat.cat/canigo/entorn-desenvolupament/
+Informació a
+
+## Software base
+
+> El software base s’ha instal·lat un conjunt de programari per a les tasques complementàries de desenvolupament. Aquest software addicional s’ha instal·lat dins el directori /opt
+
+1. Open JDK 8
+1. Open JDK 11
+1. Visual VM
+1. Clients per diferents BBDD (Mysql, PostgreSQL, MongoDB i Redis)
+1. Navegador Mozilla FireFox Quantum
+1. Client VPNC per accés a XCAT
+1. Navegador Google Chrome
+1. Engine Docker i Docker Compose Tool per l’execució de contenidors Docker
+1. Servidor Apache HTTP (2.4)
+
+## Software addicional
+
+> A banda del software base s’ha instal·lat i configurat un conjunt de programari addicional dins el directori /opt, amb les versions alineades al full de ruta del programari.
+
+1. LanguageTool 5.3 - Per revisar gramàtica, ortografia i formes correctes del català.
+1. DBeaver 6.0.2 - Eina multi-paradigma (SQL, No-SQL, etc.) per a BBDD.
+1. SoapUI 5.7.0 - Eina per treballar amb serveis SOAP i REST.
+1. jMeter 5.1.1 - Eina per fer validacions funcionals, proves de càrrega i mesures de rendiment d’aplicacions.
+1. NodeJS - Servidor d’aplicacions JS. Les versions instal·lades són 14.19.3 i 16.15.0.
+1. Visual Studio Code - Editor altament extensible (mitjançant plugins). Recomanable principalment per a treballar amb tecnologies frontend (AngularJS, Javascript, Typescript, etc.)
+1. Maven 3.8.5
+1. Tomcat 10.0.21
+1. jEdit 5.5.0 - Editor de textos (més lleuger que VS Code) basat en Java. Recomanable per a l’edició de fitxers grans (logs).
+1. IDE - Spring Tool Suite 4.13.0, i els següents plugins:
+ * Plugin CTTI Canigó per creació aplicacions Canigó 3.6.x basades en arquitectura REST+HTML5/JS.
+ * Spring Tool Suite per facilitar el desenvolupament d’aplicacions basades en Spring.
+ * SonarLint permet detectar i solucionar problemes de qualitat al codi SonarLint.
diff --git a/Vagrant/Vagrantfile b/Vagrant/Vagrantfile
index 7e53697..e626333 100644
--- a/Vagrant/Vagrantfile
+++ b/Vagrant/Vagrantfile
@@ -1,62 +1,56 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
-Vagrant.require_version ">= 2.2.4"
-
-Vagrant.configure(2) do |config|
-
- config.vm.box = "ubuntu/bionic64"
- config.vm.box_version = "20190411.0.0"
-
- config.vm.box_check_update = false
-
- config.vm.hostname = "canigodev"
-
- config.vm.provider "virtualbox" do |vb|
- vb.default_nic_type = "virtio"
- vb.gui = true
- vb.memory = "6124" # 6G
- vb.cpus = 2
- # vb.customize ["modifyvm", :id, "--cpuexecutioncap", "50"]
-
- # https://everythingshouldbevirtual.com/virtualization/vagrant-adding-a-second-hard-drive/
-
- swapdisk = './swapdisk.vdi'
- unless File.exist?(swapdisk)
- # vb.customize ['createhd', '--filename', swapdisk, '--variant', 'Dynamic', '--size', 100 * 1024]
- vb.customize ['createmedium', 'disk', '--filename', swapdisk, '--size', 8 * 1024 , '--format', 'VDI']
- end
- vb.customize ['storageattach', :id, '--storagectl', 'SCSI', '--port', 2, '--device', 0, '--type', 'hdd', '--medium', swapdisk]
-
- datadisk = './datadisk.vmdk'
- unless File.exist?(datadisk)
- # vb.customize ['createhd', '--filename', datadisk, '--variant', 'Dynamic', '--size', 100 * 1024]
- vb.customize ['createmedium', 'disk', '--filename', datadisk, '--size', 100 * 1024 , '--format', 'VMDK']
- end
- vb.customize ['storageattach', :id, '--storagectl', 'SCSI', '--port', 3, '--device', 0, '--type', 'hdd', '--medium', datadisk]
-
- # See https://github.com/chef/bento/issues/682
- vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
- # vb.customize ["modifyvm", :id, "--accelerate3d", "on"]
- vb.customize ['modifyvm', :id, '--hwvirtex', 'on']
- vb.customize ["modifyvm", :id, "--vram", "32"]
-
- # audio
- # vb.customize ["modifyvm", :id, "--audio", "coreaudio"]
- # vb.customize ["modifyvm", :id, "--audiocontroller", "hda"]
- vb.customize ["modifyvm", :id, "--audioout", "on"]
-
- vb.customize ["modifyvm", :id, "--clipboard", "bidirectional"]
- vb.customize ["modifyvm", :id, "--draganddrop", "bidirectional"]
-
- vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
-
- vb.name = "CanigoDev-3.0.6"
-
- end
-
- # config.vm.provision "file", source: "resources", destination: "/tmp/resources"
- config.vm.provision "shell", path: "./provision.sh"
-
- # config.vm.synced_folder "resources", "/tmp/vagrant", owner: "root", group: "root"
+Vagrant.require_version ">= 2.2.19"
+
+Vagrant.configure("2") do |config|
+ config.vagrant.plugins = "vagrant-disksize"
+
+ config.vm.box = "ubuntu/focal64"
+ config.vm.box_version = "20220520.0.0"
+ config.vm.box_check_update = false
+ config.vm.hostname = "canigodev"
+ config.disksize.size = "80GB"
+
+ config.vm.provider "virtualbox" do |vb|
+ vb.default_nic_type = "virtio"
+ vb.gui = true
+ vb.memory = "6124" # 6GB
+ vb.cpus = 2
+ vb.customize ["modifyvm", :id, "--cpuexecutioncap", "80"]
+
+ # https://everythingshouldbevirtual.com/virtualization/vagrant-adding-a-second-hard-drive/
+ swapdisk = './swapdisk.vdi'
+ unless File.exist?(swapdisk)
+ vb.customize ['createmedium', 'disk', '--filename', swapdisk, '--size', 8 * 1024 , '--format', 'VDI']
+ end
+ vb.customize ['storageattach', :id, '--storagectl', 'SCSI', '--port', 2, '--device', 0, '--type', 'hdd', '--medium', swapdisk]
+
+ datadisk = './datadisk.vmdk'
+ unless File.exist?(datadisk)
+ vb.customize ['createmedium', 'disk', '--filename', datadisk, '--size', 100 * 1024 , '--format', 'VMDK']
+ end
+ vb.customize ['storageattach', :id, '--storagectl', 'SCSI', '--port', 3, '--device', 0, '--type', 'hdd', '--medium', datadisk]
+
+ # See https://github.com/chef/bento/issues/682
+ vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
+ #vb.customize ["modifyvm", :id, "--accelerate3d", "on"]
+ vb.customize ['modifyvm', :id, '--hwvirtex', 'on']
+ vb.customize ["modifyvm", :id, "--vram", "32"]
+
+ # audio
+ #vb.customize ["modifyvm", :id, "--audio", "pulse"]
+ vb.customize ["modifyvm", :id, "--audiocontroller", "hda"]
+ vb.customize ["modifyvm", :id, "--audioout", "on"]
+ vb.customize ["modifyvm", :id, "--clipboard", "bidirectional"]
+ vb.customize ["modifyvm", :id, "--draganddrop", "bidirectional"]
+ vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
+ vb.customize ["modifyvm", :id, "--graphicscontroller", "vboxvga"]
+
+ vb.name = "CanigoDev-3.1.0"
+ end
+
+ # config.vm.provision "file", source: "resources", destination: "/tmp/resources"
+ config.vm.provision "shell", path: "./provision.sh"
+ # config.vm.synced_folder "resources", "/tmp/vagrant", owner: "root", group: "root"
end
diff --git a/Vagrant/provision.sh b/Vagrant/provision.sh
index 0d45e47..e79a2e7 100644
--- a/Vagrant/provision.sh
+++ b/Vagrant/provision.sh
@@ -1,8 +1,7 @@
-#!/bin/bash
+#!/usr/bin/env bash
# DISABLE_VBOX_GUEST_ADD=1
# DISABLE_INSTALL_SOFTWARE=1
-REBOOT_SLEEP=10
LOG_FILE=/vagrant/provision.sh.log
# https://unix.stackexchange.com/questions/146283/how-to-prevent-prompt-that-ask-to-restart-services-when-installing-libpq-dev
@@ -10,16 +9,16 @@ export DEBIAN_FRONTEND=noninteractive
pwd
-. /vagrant/resources/provision-common.sh || exit 127
+# shellcheck disable=SC1091
+source /vagrant/resources/provision-common.sh || exit 127
#
# Fase 1 de l'aprovisionament
#
-fase1 () {
+function fase1() {
+ log 'Inicialitzant swap ...'
- log 'Inicialitzant swap ...'
-
-cat<> /etc/fstab
-
- if [ ! "$DISC_DADES_INIT_SKIP" = '1' ]; then
+ mkswap /dev/sdc1
+ swapon /dev/sdc1
+ echo '/dev/sdc1 none swap sw,discard=once 0 0' >>/etc/fstab
- log 'Inicialitzant disc de dades ...'
+ if [ ! "$DISC_DADES_INIT_SKIP" = '1' ]; then
+ log 'Inicialitzant disc de dades ...'
-cat<<-EOF|fdisk /dev/sdd
+ cat <<-EOF | fdisk /dev/sdd
n
p
@@ -49,238 +47,219 @@ p
w
EOF
- #yes | mkfs.ext4 -T small -m0 /dev/sdd1
- yes | mkfs.ext4 -m0 /dev/sdd1
-
- mkdir -p /mnt/datadisk
- egrep '/mnt/datadisk|/dev/sdd1' /etc/fstab || echo '/dev/sdd1 /mnt/datadisk ext4 rw,defaults,noatime,noacl,nouser_xattr,barrier=0,commit=3600,delalloc,max_batch_time=150000,min_batch_time=1500 0 0' >> /etc/fstab
+ #yes | mkfs.ext4 -T small -m0 /dev/sdd1
+ yes | mkfs.ext4 -m0 /dev/sdd1
- log 'Optimitzant FS ...'
+ mkdir -p /mnt/datadisk
+ grep -E '/mnt/datadisk|/dev/sdd1' /etc/fstab || echo '/dev/sdd1 /mnt/datadisk ext4 rw,defaults,noatime,noacl,nouser_xattr,barrier=0,commit=3600,delalloc,max_batch_time=150000,min_batch_time=1500 0 0' >>/etc/fstab
- for feat in ^acl ^user_xattr ; do
- tune2fs -o $feat /dev/sda1
- tune2fs -o $feat /dev/sdd1
- done
- tune2fs -o journal_data_writeback /dev/sdd1
+ log 'Optimitzant FS ...'
- # /etc/fstab
- sed -ie 's/ext4\tdefaults/ext4\trw,defaults,noatime,noacl,nouser_xattr,commit=3600,delalloc/' /etc/fstab
-
- # optimització de SDA1 durant la instal·lació
- mount -o remount,rw,defaults,noatime,noacl,nouser_xattr,barrier=0,commit=3600,delalloc,max_batch_time=150000,min_batch_time=1500 /dev/sda1 /
+ for feat in ^acl ^user_xattr; do
+ tune2fs -o $feat /dev/sda1
+ tune2fs -o $feat /dev/sdd1
+ done
+ tune2fs -o journal_data_writeback /dev/sdd1
- mount /mnt/datadisk
- mv /opt /opt.old
- mkdir -p /mnt/datadisk/opt
- ln -s /mnt/datadisk/opt /opt
+ # /etc/fstab
+ sed -ie 's/ext4\tdefaults/ext4\trw,defaults,noatime,noacl,nouser_xattr,commit=3600,delalloc/' /etc/fstab
- mv -t /opt /opt.old/*
+ # optimització de SDA1 durant la instal·lació
+ mount -o remount,rw,defaults,noatime,noacl,nouser_xattr,barrier=0,commit=3600,delalloc,max_batch_time=150000,min_batch_time=1500 /dev/sda1 /
- log 'Inicialitzat disc de dades'
- fi
+ mount /mnt/datadisk
+ mv /opt /opt.old
+ mkdir -p /mnt/datadisk/opt
+ ln -s /mnt/datadisk/opt /opt
- log 'Optimitzant sistema ...'
+ mv -t /opt /opt.old/*
- systemctl stop apparmor
- systemctl disable apparmor
+ log 'Inicialitzat disc de dades'
+ fi
- apparmor_parser -R /etc/apparmor.d/* 2> /dev/null
+ log 'Optimitzant sistema ...'
- aa-status
+ systemctl stop apparmor
+ systemctl disable apparmor
- # FIX /tmp ha d'apuntar a /mnt/datadisk/tmp (principalment per temes d'espai)
- mkdir /mnt/datadisk/tmp
- chmod --reference /tmp /mnt/datadisk/tmp
- mv /tmp /tmp2 || die 1
- ln -s /mnt/datadisk/tmp /tmp || die 2
+ apparmor_parser -R /etc/apparmor.d/* 2>/dev/null
- echo 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT apparmor=0"' | tee /etc/default/grub.d/apparmor.cfg
- # https://wiki.tizen.org/Security:Smack#How_to_disable_SMACK.3F
- echo 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT security=none"' | tee /etc/default/grub.d/security.cfg
+ aa-status
- update-grub
+ # FIX /tmp ha d'apuntar a /mnt/datadisk/tmp (principalment per temes d'espai)
+ mkdir /mnt/datadisk/tmp
+ chmod --reference /tmp /mnt/datadisk/tmp
+ mv /tmp /tmp2 || die 1
+ ln -s /mnt/datadisk/tmp /tmp || die 2
- ufw disable
+ echo 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT apparmor=0"' | tee /etc/default/grub.d/apparmor.cfg
+ # https://wiki.tizen.org/Security:Smack#How_to_disable_SMACK.3F
+ echo 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT security=none"' | tee /etc/default/grub.d/security.cfg
- apt update || die 3
+ update-grub
- if [ ! "$DISABLE_VBOX_GUEST_ADD" = '1' ]; then
+ ufw disable
- # https://www.vagrantup.com/docs/virtualbox/boxes.html
- log 'Instal·lant de VirtualBox Guest Additions ...'
+ apt update || die 3
- _apt_get install linux-headers-$(uname -r) build-essential dkms || die 4
+ if [ ! "$DISABLE_VBOX_GUEST_ADD" = '1' ]; then
+ # https://www.vagrantup.com/docs/virtualbox/boxes.html
+ log 'Instal·lant de VirtualBox Guest Additions ...'
- VBOX_VERSION=$(VBoxService | head -1 | cut -f2 -d" " | cut -f1 -d_)
+ _apt_get install linux-headers-"$(uname -r)" build-essential dkms || die 4
- log "Reported VirtualBox version : $VBOX_VERSION"
+ declare -r VBOX_VERSION=$(VBoxService | head -1 | cut -d" " -f8 | cut -d_ -f1)
+ log "Reported VirtualBox version : ${VBOX_VERSION}"
- wget -nv http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso || die 5
- mkdir /media/VBoxGuestAdditions
- mount -o loop,ro VBoxGuestAdditions_$VBOX_VERSION.iso /media/VBoxGuestAdditions
- echo yes | sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run --nox11
- rm VBoxGuestAdditions_$VBOX_VERSION.iso
- umount /media/VBoxGuestAdditions
- rmdir /media/VBoxGuestAdditions
+ wget -nv "http://download.virtualbox.org/virtualbox/${VBOX_VERSION}/VBoxGuestAdditions_${VBOX_VERSION}.iso" || die 5
+ mkdir /media/VBoxGuestAdditions
+ mount -o loop,ro "VBoxGuestAdditions_${VBOX_VERSION}.iso" /media/VBoxGuestAdditions
+ echo yes | sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run --nox11
+ rm "VBoxGuestAdditions_${VBOX_VERSION}.iso"
+ umount /media/VBoxGuestAdditions
+ rmdir /media/VBoxGuestAdditions
- log 'Instal·lat VirtualBox Guest Additions'
- fi
+ log 'Instal·lat VirtualBox Guest Additions'
+ fi
- # https://www.techrepublic.com/article/how-to-disable-ipv6-on-linux/
- log 'Deshabilitant IPv6'
+ # https://www.techrepublic.com/article/how-to-disable-ipv6-on-linux/
+ log 'Deshabilitant IPv6'
- sysctl -w net.ipv6.conf.all.disable_ipv6=1
- sysctl -w net.ipv6.conf.default.disable_ipv6=1
+ sysctl -w net.ipv6.conf.all.disable_ipv6=1
+ sysctl -w net.ipv6.conf.default.disable_ipv6=1
- log 'Creant user canigo ...'
+ log 'Creant user canigo ...'
- #Create canigo user
- useradd -m canigo
- echo canigo:canigo | /usr/sbin/chpasswd
- usermod -s /bin/bash canigo
+ #Create canigo user
+ useradd -m canigo
+ echo canigo:canigo | /usr/sbin/chpasswd
+ usermod -s /bin/bash canigo
- adduser canigo sudo
- adduser canigo vboxsf
+ adduser canigo sudo
+ adduser canigo vboxsf
- # Clonar grups de l'usuari ubuntu
- for f in `grep ubuntu /etc/group | grep -v canigo | cut -f1 -d: | grep -v ubuntu` ; do
- adduser canigo $f
- done
+ # Clonar grups de l'usuari ubuntu
+ for f in $(grep ubuntu /etc/group | grep -v canigo | cut -f1 -d: | grep -v ubuntu); do
+ adduser canigo $f
+ done
- # sudo sense password
- echo 'canigo ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/canigo
+ # sudo sense password
+ echo 'canigo ALL=(ALL) NOPASSWD:ALL' >/etc/sudoers.d/canigo
- log 'Creat user canigo'
+ log 'Creat user canigo'
}
#
# Fase 2 de l'aprovisionament
#
-fase2 () {
-
- log 'Afegint nous repositoris ...'
-
- _apt_get install software-properties-common
- #add-apt-repository -y ppa:webupd8team/java
-
- if [ ! -e /etc/apt/sources.list.d/google.list ]; then
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
- sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
- fi
-
- log 'Preparant instal·lació ...'
-
- apt update
-
- PACKAGE_INSTALL_LIST="visualvm"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST openjdk-8-jdk openjdk-8-source"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST libsvn-java"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST mysql-client-5.7 postgresql-client-10 mongodb-clients redis-tools"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST lubuntu-desktop xinit"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST language-pack-ca language-pack-gnome-ca language-pack-ca-base language-pack-gnome-ca-base"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST aspell-ca hunspell-ca firefox-locale-ca gnome-user-docs-ca wcatalan"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST vpnc subversion"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST curl lynx links w3m"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST vim vim-syntax-docker"
- # PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST gimp gimp-help-ca"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST geany"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST google-chrome-stable"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST docker.io"
- PACKAGE_INSTALL_LIST="$PACKAGE_INSTALL_LIST apache2 libapache2-mod-auth-openid libapache2-mod-auth-openidc"
-
- log "Software base: $PACKAGE_INSTALL_LIST"
-
- # _apt_get install $PACKAGE_INSTALL_LIST && apt -y upgrade || die 1
- _apt_get install $PACKAGE_INSTALL_LIST || die 1
-
- # S'ha instal·lat com a dependència. S'elimina
- _apt_get remove openjdk-11-jre openjdk-11-jre-headless
-
- log 'Configurant "Timezone & Language"...'
-
- timedatectl set-timezone Europe/Madrid
- update-locale LANG=ca_ES.UTF-8 LC_MESSAGES=POSIX
-
- log 'Configurant aplicacions de sistema...'
-
- log 'Configurant Firefox...'
-
- # Per defecte Firefox (en comptes de Chrome)
- update-alternatives --set x-www-browser /usr/bin/firefox
-
- # Català per defecte per Firefox
- echo 'pref("intl.locale.requested", "ca,en-US-u-va-posix");' >> /etc/firefox/syspref.js
-
+function fase2() {
+ log 'Afegint nous repositoris ...'
+
+ _apt_get install software-properties-common
+
+ if [ ! -e /etc/apt/sources.list.d/google.list ]; then
+ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
+ sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
+ fi
+
+ log 'Preparant instal·lació ...'
+
+ apt update
+
+ local -r PACKAGE_INSTALL_LIST="\
+ lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings\
+ visualvm\
+ openjdk-8-jdk openjdk-8-source\
+ openjdk-11-jdk openjdk-11-source openjdk-11-doc\
+ libsvn-java\
+ mysql-client-8.0 postgresql-client-12 mongodb-clients redis-tools\
+ lubuntu-desktop xinit\
+ language-pack-ca language-pack-gnome-ca language-pack-ca-base language-pack-gnome-ca-base\
+ aspell-ca hunspell-ca firefox-locale-ca gnome-user-docs-ca wcatalan\
+ vpnc\
+ curl lynx links w3m\
+ vim vim-syntax-docker\
+ gimp gimp-help-ca\
+ geany\
+ google-chrome-stable\
+ docker.io\
+ apache2 libapache2-mod-auth-openid libapache2-mod-auth-openidc"
+
+ log "Software base: ${PACKAGE_INSTALL_LIST}"
+ _apt_get "install ${PACKAGE_INSTALL_LIST}" || die 1
+
+ log 'Configurant Language ...'
+ update-locale LANG=ca_ES.UTF-8 LC_MESSAGES=POSIX
+
+ log 'Configurant JDK 11 per defecte ...'
+ update-alternatives --set java /usr/lib/jvm/java-11-openjdk-amd64/bin/java
+ update-alternatives --set javac /usr/lib/jvm/java-11-openjdk-amd64/bin/javac
+ update-alternatives --set jar /usr/lib/jvm/java-11-openjdk-amd64/bin/jar
+
+ log 'Configurant Firefox ...'
+ # Per defecte Firefox (en comptes de Chrome)
+ update-alternatives --set x-www-browser /usr/bin/firefox
+ # Català per defecte per Firefox
+ echo 'pref("intl.locale.requested", "ca,en-US-u-va-posix");' >>/etc/firefox/syspref.js
}
#
# Fase 3 de l'aprovisionament
#
-fase3 () {
-
- log "Configuració de docker ..."
-
- #Add canigo user to docker group
- sudo gpasswd -a canigo docker || die 1
- sudo service docker restart
-
- log "Instal·lant docker-compose ..."
-
- # https://docs.docker.com/compose/install/
- # curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- curl -L "https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- chmod +x /usr/local/bin/docker-compose
- docker-compose --version || die 2
- # curl -L https://raw.githubusercontent.com/docker/compose/1.23.2/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
- curl -L https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/raw.githubusercontent.com/docker/compose/1.23.2/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
-
- # do_install https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb || die 3
- # do_install https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz || die 3
- do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz || die 3
- # do_install https://languagetool.org/download/LanguageTool-4.5.zip || die 3
- do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/languagetool.org/download/LanguageTool-4.5.zip || die 3
- # do_install https://dbeaver.io/files/6.0.2/dbeaver-ce-6.0.2-linux.gtk.x86_64.tar.gz || die 3
- do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/dbeaver.io/files/6.0.2/dbeaver-ce-6.0.2-linux.gtk.x86_64.tar.gz || die 3
- # do_install https://s3.amazonaws.com/downloads.eviware/soapuios/5.5.0/SoapUI-5.5.0-linux-bin.tar.gz || die 3
- do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/s3.amazonaws.com/downloads.eviware/soapuios/5.5.0/SoapUI-5.5.0-linux-bin.tar.gz || die 3
- # do_install https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.1.1.tgz || die 3
- do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.1.1.tgz || die 3
- # do_install https://archive.apache.org/dist/groovy/2.5.6/distribution/apache-groovy-binary-2.5.6.zip || die 3
- do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/archive.apache.org/dist/groovy/2.5.6/distribution/apache-groovy-binary-2.5.6.zip || die 3
- # do_install2 'http://groovy-lang.org/download.html' 'https://.*apache-groovy-binary-2.5.*' || die 3
- # do_install https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.21/bin/apache-tomcat-9.0.21.tar.gz || die 3
- do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/archive.apache.org/dist/tomcat/tomcat-9/v9.0.21/bin/apache-tomcat-9.0.21.tar.gz || die 3
-
- log 'Installing Node 8.x & 10.x versions ...'
-
- # do_install https://nodejs.org/dist/v8.15.1/node-v8.15.1-linux-x64.tar.gz || die 3
- do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/nodejs.org/dist/v8.15.1/node-v8.15.1-linux-x64.tar.gz || die 3
-
- # do_install https://nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.gz || die 3
- do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/nodejs.org/dist/v10.15.3/node-v10.15.3-linux-x64.tar.gz || die 3
-
- log 'Instal·lant VS Studio ...'
-
- snap install code --classic || die 4
-
- log 'Instal·lant software aprovisionat per script propi ...'
-
- for f in maven eclipse jedit ; do
- cd /tmp
- bash /vagrant/resources/$f/provision.sh || die 5 "$f"
- done
-
+function fase3() {
+ log "Configurant docker ..."
+ #Add canigo user to docker group
+ gpasswd -a canigo docker || die 1
+ service docker restart
+
+ log "Instal·lant docker-compose ..."
+ # https://docs.docker.com/compose/install/
+ # curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
+ curl -L "https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
+ chmod +x /usr/local/bin/docker-compose
+ docker-compose --version || die 2
+ # curl -L https://raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
+ curl -L https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/raw.githubusercontent.com/docker/compose/1.29.2/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
+
+ # do_install https://languagetool.org/download/LanguageTool-4.5.zip || die 3
+ do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/languagetool.org/download/LanguageTool-4.5.zip || die 3
+ # do_install https://dbeaver.io/files/6.0.2/dbeaver-ce-6.0.2-linux.gtk.x86_64.tar.gz || die 3
+ do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/dbeaver.io/files/6.0.2/dbeaver-ce-6.0.2-linux.gtk.x86_64.tar.gz || die 3
+ # do_install https://s3.amazonaws.com/downloads.eviware/soapuios/5.7.0/SoapUI-5.7.0-linux-bin.tar.gz || die 3
+ do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/s3.amazonaws.com/downloads.eviware/soapuios/5.7.0/SoapUI-5.7.0-linux-bin.tar.gz || die 3
+ # do_install https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.1.1.tgz || die 3
+ do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.1.1.tgz || die 3
+ # do_install https://archive.apache.org/dist/groovy/2.5.6/distribution/apache-groovy-binary-2.5.6.zip || die 3
+ do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/archive.apache.org/dist/groovy/2.5.6/distribution/apache-groovy-binary-2.5.6.zip || die 3
+ # do_install https://archive.apache.org/dist/tomcat/tomcat-10/v10.0.21/bin/apache-tomcat-10.0.21.tar.gz || die 3
+ do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/archive.apache.org/dist/tomcat/tomcat-10/v10.0.21/bin/apache-tomcat-10.0.21.tar.gz || die 3
+
+ log 'Installing Node 14.x & 16.x versions ...'
+ # do_install https://nodejs.org/dist/latest-v14.x/node-v14.19.3-linux-x64.tar.gz || die 3
+ do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/nodejs.org/dist/latest-v14.x/node-v14.19.3-linux-x64.tar.gz || die 3
+ # do_install https://nodejs.org/dist/latest-v16.x/node-v16.15.0-linux-x64.tar.gz || die 3
+ do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/nodejs.org/dist/latest-v16.x/node-v16.15.0-linux-x64.tar.gz || die 3
+
+ log 'Instal·lant VS Studio ...'
+ snap install code --classic || die 4
+
+ log 'Instal·lant software aprovisionat per script propi ...'
+ for resource in maven eclipse jedit; do
+ cd /tmp || exit
+ bash /vagrant/resources/${resource}/provision.sh || die 5 "${resource}"
+ done
}
#
# Fase 4 de l'aprovisionament
#
-fase4 () {
-
- # https://www.cyberciti.biz/faq/how-to-disable-ssh-motd-welcome-message-on-ubuntu-linux/
- /bin/ls -1 /etc/update-motd.d/* | grep -v 00-header | xargs chmod -x
+function fase4() {
+ log 'Deshabilitant missatges de benvinguda ...'
+ # https://www.cyberciti.biz/faq/how-to-disable-ssh-motd-welcome-message-on-ubuntu-linux/
+ /bin/ls -1 /etc/update-motd.d/* | grep -v 00-header | xargs chmod -x
-cat>/etc/default/keyboard</etc/default/keyboard < /etc/X11/default-display-manager << EOF
+/usr/bin/lightdm
+EOF
+ dpkg-reconfigure -f noninteractive lightdm
- # autologin canigo
-cat>/etc/lightdm/lightdm.conf.d/10-autologin.conf</etc/lightdm/lightdm.conf.d/10-autologin.conf </etc/apt/apt.conf.d/20auto-upgrades</etc/apt/apt.conf.d/20auto-upgrades </etc/cron.weekly/canigo.cleanup</etc/cron.weekly/canigo.cleanup </etc/cron.weekly/canigo.cleanup<> /etc/bash.bashrc
+ # Permisos més "amigables" per defecte
+ printf '\numask 0002\n' >>/etc/bash.bashrc
+
+ # set wallpaper
+ sed -i 's:Exec=pcmanfm-qt --desktop --profile=lxqt:Exec=pcmanfm-qt --desktop --profile=lxqt --set-wallpaper /home/canigo/Pictures/fonspantalla_1280.png:g' /etc/xdg/autostart/lxqt-desktop.desktop
}
#
# main
#
-main () {
-
- # file version
- log "main :: $0 $(/bin/ls --full-time $0 | egrep -o ' [0-9]{4}[-0-9 :]+') ($(md5sum $0|cut -f1 -d' '))" | tee -a $LOG_FILE
-
- echo "" > /dev/tty1
-
- log "FASE 1/4 :: Configuració inicial del sistema" | tee -a $LOG_FILE
-
- fase1 |& tee /dev/tty1 >> $LOG_FILE
- [ ${PIPESTATUS[0]} -eq 0 ] || die 1
-
- log "FASE 2/4 :: Instal·lació i configuració de software base" | tee -a $LOG_FILE
-
- fase2 |& tee /dev/tty1 >> $LOG_FILE
- [ ${PIPESTATUS[0]} -eq 0 ] || die 2
-
- log "FASE 3/4 :: Instal·lació i configuració de software addicional" | tee -a $LOG_FILE
-
- fase3 |& tee /dev/tty1 >> $LOG_FILE
- [ ${PIPESTATUS[0]} -eq 0 ] || die 3
+function main() {
+ # file version
+ timedatectl set-timezone Europe/Madrid
+ log "main :: $0 $(/bin/ls --full-time "${0}" | grep -E -o ' [0-9]{4}[-0-9 :]+') ($(md5sum "${0}" | cut -f1 -d' '))" | tee -a "${LOG_FILE}"
- log "FASE 4/4 :: Configuració final del sistema" | tee -a $LOG_FILE
+ echo "" >/dev/tty1
- fase4 |& tee /dev/tty1 >> $LOG_FILE
- [ ${PIPESTATUS[0]} -eq 0 ] || die 4
+ log "FASE 1/4 :: Configuració inicial del sistema" | tee -a "${LOG_FILE}"
+ fase1 |& tee /dev/tty1 >>$LOG_FILE
+ [ "${PIPESTATUS[0]}" -eq 0 ] || die 1
- sync
+ log "FASE 2/4 :: Instal·lació i configuració de software base" | tee -a "${LOG_FILE}"
+ fase2 |& tee /dev/tty1 >>$LOG_FILE
+ [ "${PIPESTATUS[0]}" -eq 0 ] || die 2
- log "Entorn de desenvolupament configurat. Aturant en 5 segons..." | tee -a $LOG_FILE
+ log "FASE 3/4 :: Instal·lació i configuració de software addicional" | tee -a "${LOG_FILE}"
+ fase3 |& tee /dev/tty1 >>$LOG_FILE
+ [ "${PIPESTATUS[0]}" -eq 0 ] || die 3
- uptime | tee -a $LOG_FILE
+ log "FASE 4/4 :: Configuració final del sistema" | tee -a "${LOG_FILE}"
+ fase4 |& tee /dev/tty1 >>$LOG_FILE
+ [ "${PIPESTATUS[0]}" -eq 0 ] || die 4
- sleep 5
+ sync
- # exit 0
+ log "Entorn de desenvolupament configurat. Aturant en 5 segons..." | tee -a "${LOG_FILE}"
+ uptime | tee -a "${LOG_FILE}"
- poweroff
+ sleep 5
+ # exit 0
+ poweroff
}
-if [ $USER = "root" ] ; then
- main $*
+if [ "${USER}" = "root" ]; then
+ main "${*}"
else
- # sudo itself if not root
- sudo $0
+ # sudo itself if not root
+ sudo "${0}"
fi
diff --git a/Vagrant/resources/eclipse/eclipse-preferencies.epf b/Vagrant/resources/eclipse/eclipse-preferencies.epf
index 830297f..024a3a7 100644
--- a/Vagrant/resources/eclipse/eclipse-preferencies.epf
+++ b/Vagrant/resources/eclipse/eclipse-preferencies.epf
@@ -1,65 +1,6 @@
-#Tue Apr 16 18:07:56 CEST 2019
+#Wed Jun 01 00:33:59 CEST 2022
\!/=
-/configuration/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
-/configuration/org.eclipse.ui.ide/MAX_RECENT_WORKSPACES=10
-/configuration/org.eclipse.ui.ide/RECENT_WORKSPACES=/opt/workspaces/workspace-canigo
-/configuration/org.eclipse.ui.ide/RECENT_WORKSPACES_PROTOCOL=3
-/configuration/org.eclipse.ui.ide/SHOW_RECENT_WORKSPACES=false
-/configuration/org.eclipse.ui.ide/SHOW_WORKSPACE_SELECTION_DIALOG=false
-/configuration/org.sonarlint.eclipse.ui/ruleExclusions=
-/configuration/org.sonarlint.eclipse.ui/ruleInclusions=
-/instance/org.dadacoalition.yedit/org.dadacoalition.yedit.template=
-/instance/org.eclipse.ant.launching/timeout=20000
-/instance/org.eclipse.ant.ui/useAnnotationsPrefPage=true
-/instance/org.eclipse.ant.ui/useQuickDiffPrefPage=true
-/instance/org.eclipse.buildship.core/arguments=
-/instance/org.eclipse.buildship.core/auto.sync=false
-/instance/org.eclipse.buildship.core/gradle.build.scans=false
-/instance/org.eclipse.buildship.core/gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
-/instance/org.eclipse.buildship.core/gradle.offline.mode=false
-/instance/org.eclipse.buildship.core/jvm.arguments=
-/instance/org.eclipse.buildship.core/show.console.view=true
-/instance/org.eclipse.buildship.core/show.executions.view=true
-/instance/org.eclipse.core.resources/refresh.enabled=true
-/instance/org.eclipse.core.resources/version=1
-/instance/org.eclipse.core.variables/org.eclipse.core.variables.valueVariables=\n\n\n\n\n
-/instance/org.eclipse.debug.core/org.eclipse.debug.core.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE=false
-/instance/org.eclipse.debug.core/org.eclipse.debug.core.USE_STEP_FILTERS=false
-/instance/org.eclipse.debug.core/prefWatchExpressions=\n\n
-/instance/org.eclipse.debug.ui/Console.highWaterMark=10008000
-/instance/org.eclipse.debug.ui/Console.limitConsoleOutput=false
-/instance/org.eclipse.debug.ui/Console.lowWaterMark=10000000
-/instance/org.eclipse.debug.ui/DEBUG.consoleOpenOnErr=false
-/instance/org.eclipse.debug.ui/DEBUG.consoleOpenOnOut=false
-/instance/org.eclipse.debug.ui/StringVariablePreferencePage=307,256,255,204,
-/instance/org.eclipse.debug.ui/org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=\n\n
-/instance/org.eclipse.debug.ui/pref_state_memento.org.eclipse.debug.ui.BreakpointView=\n\n\n\n\n
-/instance/org.eclipse.debug.ui/pref_state_memento.org.eclipse.debug.ui.DebugVieworg.eclipse.debug.ui.DebugView=\n
-/instance/org.eclipse.debug.ui/pref_state_memento.org.eclipse.debug.ui.ExpressionView=\n\n\n\n\n\n\n
-/instance/org.eclipse.debug.ui/pref_state_memento.org.eclipse.debug.ui.VariableView=\n\n\n\n\n
-/instance/org.eclipse.debug.ui/preferredDetailPanes=DefaultDetailPane\:DefaultDetailPane|
-/instance/org.eclipse.debug.ui/preferredTargets=default\:default|
-/instance/org.eclipse.e4.ui.css.swt.theme/themeid=org.eclipse.e4.ui.css.theme.e4_default
-/instance/org.eclipse.e4.ui.workbench.renderers.swt/enableMRU=true
-/instance/org.eclipse.e4.ui.workbench.renderers.swt/themeEnabled=true
-/instance/org.eclipse.egit.core/GitRepositoriesView.GitDirectories=
-/instance/org.eclipse.egit.core/GitRepositoriesView.GitDirectories.relative=
-/instance/org.eclipse.egit.core/core_autoIgnoreDerivedResources=false
-/instance/org.eclipse.egit.core/core_preferredMergeStrategy=jgit-default-mergeStrategy
-/instance/org.eclipse.egit.ui/resourcehistory_show_email_addresses=true
-/instance/org.eclipse.egit.ui/resourcehistory_show_notes=true
-/instance/org.eclipse.help.base/always_external_browser=false
-/instance/org.eclipse.help.base/dialog_infopop=false
-/instance/org.eclipse.help.base/help_view_open_mode=in_place
-/instance/org.eclipse.help.base/search_from_browser=false
-/instance/org.eclipse.help.base/window_infopop=false
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.ECLIPSE_HOME=/opt/sts-4.2.0.RELEASE/
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.JRE_LIB=/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.JRE_SRC=/usr/lib/jvm/java-8-openjdk-amd64/src.zip
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.JRE_SRCROOT=
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.JUNIT_HOME=/opt/sts-4.2.0.RELEASE/plugins/org.junit_4.12.0.v201504281640/
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.M2_REPO=/home/canigo/.m2/repository
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.argumentPrefixes=
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.argumentSuffixes=
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.fieldPrefixes=
@@ -70,55 +11,410 @@
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.codeComplete.visibilityCheck=enabled
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.compliance=1.8
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.compliance=11
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.release=disabled
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.source=1.8
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.source=11
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.align_selector_in_method_invocation_on_expression_first_line=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.align_with_spaces=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_annotations_on_enum_constant=49
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_annotations_on_field=49
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable=49
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method=49
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_annotations_on_package=49
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type=49
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_assertion_message=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_expressions_in_switch_case_with_arrow=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_expressions_in_switch_case_with_colon=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_record_components=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_switch_case_with_arrow=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_type_annotations=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_before_field=0
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_record_constructor=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_record_declaration=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.format_block_comments=true
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.format_header=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.format_html=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.format_source_code=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.indent_tag_description=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.line_length=120
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=true
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.compact_else_if=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.continuation_indentation=2
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_record_header=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_empty_lines=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.indentation.size=4
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_permitted_types=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_not_operator=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_record_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_permitted_types=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_record_components=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_constructor=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=insert
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.join_lines_in_comments=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_record_constructor_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_switch_body_block_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_switch_case_with_arrow_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.lineSplit=120
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.tabulation.char=tab
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.tabulation.size=4
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.text_block_indentation=0
/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.use_on_off_tags=true
-/instance/org.eclipse.jdt.debug.ui/org.eclipse.debug.ui.DebugView.org.eclipse.jdt.debug.ui.show_qualified_names=true
-/instance/org.eclipse.jdt.debug.ui/org.eclipse.debug.ui.ExpressionView.org.eclipse.jdt.debug.ui.show_null_entries=true
-/instance/org.eclipse.jdt.debug.ui/org.eclipse.debug.ui.VariableView.org.eclipse.jdt.debug.ui.show_null_entries=true
-/instance/org.eclipse.jdt.debug.ui/org.eclipse.jdt.debug.ui.active_filters=org.eclipse.jdt.launching.internal.*,java.lang.ClassLoader
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.PREF_HCR_WITH_COMPILATION_ERRORS=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_before_switch_case_arrow_operator=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.PREF_JAVA_LOGICAL_STRUCTURES=
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.PREF_REQUEST_TIMEOUT=3000
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.PREF_SHOW_STEP_RESULT=true
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.PREF_SHOW_STEP_TIMEOUT=7000
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug._all_references_max_count=100
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.all_instances_max_count=100
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.default_breakpoint_suspend_policy=2
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.do_not_install_breakpoints_from_unrelated_sources=true
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.enable_advanced_sourcelookup=true
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.enable_hcr=true
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.show_references_in_var_view=false
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debug.suspend_for_breakpoints_during_evaluation=true
-/instance/org.eclipse.jdt.debug/org.eclipse.jdt.debugdefault_watchpoint_suspend_policy=0
-/instance/org.eclipse.jdt.junit.core/org.eclipse.jdt.junit.enable_assertions=true
-/instance/org.eclipse.jdt.junit/org.eclipse.jdt.junit.content_assist_favorite_static_members_migrated=true
-/instance/org.eclipse.jdt.junit/org.eclipse.jdt.junit.show_in_all_views=false
-/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_CONNECT_TIMEOUT=20000
/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_DEFAULT_ENVIRONMENTS_XML=
-/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_VM_XML=\n\n\n\n\n\n\n
-/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.only_include_exported_classpath_entries=false
-/instance/org.eclipse.jdt.ui/breadcrumb.org.eclipse.jdt.ui.JavaPerspective=true
+/instance/org.eclipse.jdt.launching/org.eclipse.jdt.launching.PREF_VM_XML=\n\n\n\n\n\n\n
/instance/org.eclipse.jdt.ui/cleanup.add_default_serial_version_id=true
/instance/org.eclipse.jdt.ui/cleanup.add_generated_serial_version_id=false
/instance/org.eclipse.jdt.ui/cleanup.add_missing_annotations=true
@@ -180,34 +476,12 @@
/instance/org.eclipse.jdt.ui/cleanup.use_this_for_non_static_method_access_only_if_necessary=true
/instance/org.eclipse.jdt.ui/cleanup_profile=_Canig\u00F3 3.0.0
/instance/org.eclipse.jdt.ui/cleanup_settings_version=2
-/instance/org.eclipse.jdt.ui/content_assist_autoactivation_delay=40
-/instance/org.eclipse.jdt.ui/content_assist_autoactivation_triggers_java=.(
-/instance/org.eclipse.jdt.ui/content_assist_autoactivation_triggers_javadoc=@{\#
-/instance/org.eclipse.jdt.ui/content_assist_category_order=org.eclipse.jdt.ui.templateProposalCategory\:0\u0000org.eclipse.jdt.ui.swtProposalCategory\:65536\u0000org.eclipse.jdt.ui.javaNoTypeProposalCategory\:65537\u0000org.eclipse.jdt.ui.javaTypeProposalCategory\:65538\u0000org.eclipse.jdt.ui.textProposalCategory\:65539\u0000org.eclipse.jdt.ui.javaAllProposalCategory\:65540\u0000org.eclipse.jdt.ui.defaultProposalCategory\:6\u0000org.eclipse.pde.api.tools.ui.apitools_proposal_category\:7\u0000
-/instance/org.eclipse.jdt.ui/content_assist_disabled_computers=org.eclipse.jdt.ui.swtProposalCategory\u0000org.eclipse.jdt.ui.javaNoTypeProposalCategory\u0000org.eclipse.jdt.ui.javaTypeProposalCategory\u0000org.eclipse.jdt.ui.textProposalCategory\u0000
-/instance/org.eclipse.jdt.ui/content_assist_favorite_static_members=org.assertj.core.api.Assertions.*;org.mockito.Matchers.*;org.mockito.Mockito.*;org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestBuilders.*;org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.*;org.springframework.security.test.web.servlet.response.SecurityMockMvcResultMatchers.*;org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.*;org.springframework.restdocs.mockmvc.MockMvcRestDocumentation.*;org.springframework.test.web.client.match.MockRestRequestMatchers.*;org.springframework.test.web.client.response.MockRestResponseCreators.*;org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;org.springframework.test.web.servlet.result.MockMvcResultHandlers.*;org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;org.hamcrest.CoreMatchers.*;org.junit.Assert.*;org.junit.Assume.*;org.junit.jupiter.api.Assertions.*;org.junit.jupiter.api.Assumptions.*;org.junit.jupiter.api.DynamicContainer.*;org.junit.jupiter.api.DynamicTest.*
-/instance/org.eclipse.jdt.ui/content_assist_guess_method_arguments=true
-/instance/org.eclipse.jdt.ui/content_assist_number_of_computers=15
-/instance/org.eclipse.jdt.ui/content_assist_proposals_background=255,255,255
-/instance/org.eclipse.jdt.ui/content_assist_proposals_foreground=51,51,51
-/instance/org.eclipse.jdt.ui/content_assist_sorter=org.eclipse.jdt.ui.AlphabeticSorter
-/instance/org.eclipse.jdt.ui/editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-/instance/org.eclipse.jdt.ui/enclosingBrackets=true
-/instance/org.eclipse.jdt.ui/escapeStringsNonAscii=true
-/instance/org.eclipse.jdt.ui/escape\u00A5Strings=true
/instance/org.eclipse.jdt.ui/formatter_profile=_Canig\u00F3 3.0.0
-/instance/org.eclipse.jdt.ui/formatter_settings_version=16
-/instance/org.eclipse.jdt.ui/highlightBracketAtCaretLocation=true
-/instance/org.eclipse.jdt.ui/hoverModifierMasks=org.eclipse.jdt.ui.BestMatchHover;0;org.eclipse.jdt.internal.debug.ui.JavaDebugHover;0;org.springframework.boot.ide.java.servers.hoverprovider;0;org.eclipse.jdt.ui.ProblemHover;0;org.eclipse.jdt.ui.NLSStringHover;327680;org.eclipse.jdt.ui.JavadocHover;393216;org.eclipse.jdt.ui.AnnotationHover;0;org.eclipse.jdt.ui.JavaSourceHover;131072;
-/instance/org.eclipse.jdt.ui/hoverModifiers=org.eclipse.jdt.ui.BestMatchHover;0;org.eclipse.jdt.internal.debug.ui.JavaDebugHover;\!0;org.springframework.boot.ide.java.servers.hoverprovider;\!0;org.eclipse.jdt.ui.ProblemHover;\!0;org.eclipse.jdt.ui.NLSStringHover;Ctrl+Alt;org.eclipse.jdt.ui.JavadocHover;Ctrl+Shift;org.eclipse.jdt.ui.AnnotationHover;\!0;org.eclipse.jdt.ui.JavaSourceHover;Shift;
-/instance/org.eclipse.jdt.ui/java_string=255,0,99
-/instance/org.eclipse.jdt.ui/org.eclipse.jdt.internal.ui.navigator.layout=2
-/instance/org.eclipse.jdt.ui/org.eclipse.jdt.internal.ui.navigator.librariesnode=true
+/instance/org.eclipse.jdt.ui/formatter_settings_version=22
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.cleanupprofiles=\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
-/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.cleanupprofiles.version=2
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.exception.name=e
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.formatterprofiles=\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
-/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.formatterprofiles.version=16
+/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.formatterprofiles.version=22
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.gettersetter.use.is=true
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.ignorelowercasenames=true
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.importorder=cat.gencat.ctti.canigo;cat.gencat.ctti;cat.gencat;java;javax;org;com;
@@ -215,357 +489,18 @@
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.ondemandthreshold=99
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.overrideannotation=true
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.staticondemandthreshold=99
-/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.text.code_templates_migrated=true
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.text.custom_code_templates=
-/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.text.custom_templates=${displayType\:newType(org.eclipse.swt.widgets.Display)} ${display\:newName(org.eclipse.swt.widgets.Display)} \= new ${displayType}();\n${shellType\:newType(org.eclipse.swt.widgets.Shell)} ${shell\:newName(org.eclipse.swt.widgets.Shell)} \= new ${shellType}(${display});\n${shell}.setLayout(new ${layoutType\:newType(org.eclipse.swt.layout.GridLayout)}(${numberColumns\:link(1, 2, 3, 4, 5)}, ${equalColumns\:link(false, true)}));\n\n${cursor}\n\n${shell}.pack();\n${shell}.open();\nwhile (\!${shell}.isDisposed()) {\n\tif (\!${display}.readAndDispatch ()) \n\t\t${display}.sleep();\n}\n${display}.dispose();${display\:var(org.eclipse.swt.widgets.Display)}.${kind\:link(syncExec, asyncExec)}(new ${runnable\:newType(java.lang.Runnable)}(){\n\tpublic void run(){\n\t\t${cursor}\n\t}\n});${control\:var(org.eclipse.swt.widgets.Widget)}.addListener(${type\:link(\n\tSWT.Activate,\n\tSWT.Arm,\n\tSWT.Close,\n\tSWT.Collapse,\n\tSWT.Deactivate,\n\tSWT.DefaultSelection,\n\tSWT.Deiconify,\n\tSWT.Dispose,\n\tSWT.DragDetect,\n\tSWT.EraseItem,\n\tSWT.Expand,\n\tSWT.FocusIn,\n\tSWT.FocusOut,\n\tSWT.HardKeyDown,\n\tSWT.HardKeyUp,\n\tSWT.Help,\n\tSWT.Hide,\n\tSWT.Iconify,\n\tSWT.ImeComposition,\n\tSWT.KeyDown,\n\tSWT.KeyUp,\n\tSWT.MeasureItem,\n\tSWT.MenuDetect,\n\tSWT.Modify,\n\tSWT.MouseDoubleClick,\n\tSWT.MouseDown,\n\tSWT.MouseEnter,\n\tSWT.MouseExit,\n\tSWT.MouseHover,\n\tSWT.MouseMove,\n\tSWT.MouseUp,\n\tSWT.MouseWheel,\n\tSWT.Move,\n\tSWT.Paint,\n\tSWT.PaintItem,\n\tSWT.Resize,\n\tSWT.Selection,\n\tSWT.SetData,\n\tSWT.Settings,\n\tSWT.Show,\n\tSWT.Traverse,\n\tSWT.Verify)}, new ${listener\:newType(org.eclipse.swt.widgets.Listener)}(){\n\tpublic void handleEvent(${event\:newType(org.eclipse.swt.widgets.Event)} e) {\n\t\t${imp\:import(org.eclipse.swt.SWT)}${cursor}\t\t\t\t\n\t}\n});${gridLayout\:newType(org.eclipse.swt.layout.GridLayout)} ${layout\:newName(org.eclipse.swt.layout.GridLayout)} \= new ${gridLayout}(${columns\:link(1, 2, 3, 4, 5)}, ${width\:link(false, true)});\n${layout}.marginWidth \= ${marginW\:link(5, 0)};\n${layout}.marginHeight \= ${marginH\:link(5, 0)};\n${layout}.verticalSpacing \= ${vSpacing\:link(0, 5)};\n${layout}.horizontalSpacing \= ${hSpacing\:link(0, 5)};\n${parent\:var(org.eclipse.swt.widgets.Composite)}.setLayout(${layout});\n${cursor}${gridData\:newType(org.eclipse.swt.layout.GridData)} ${layoutData\:newName(org.eclipse.swt.layout.GridData)} \= new ${gridData}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(false, true)});\n${layoutData}.widthHint\= ${width\:link(SWT.DEFAULT)};\n${layoutData}.heightHint\= ${height\:link(SWT.DEFAULT)};\n${parent\:var(org.eclipse.swt.widgets.Control)}.setLayoutData(${layoutData});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}GridDataFactory.fillDefaults().grab(true, false).applyTo(${parent\:var(org.eclipse.swt.widgets.Control)});\n${imp\:import(org.eclipse.jface.layout.GridDataFactory)}${cursor}${labelType\:newType(org.eclipse.swt.widgets.Label)} ${label\:newName(org.eclipse.swt.widgets.Label)}\= new ${labelType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.NONE, SWT.WRAP, 'SWT.SEPARATOR | SWT.HORIZONTAL', 'SWT.SEPARATOR | SWT.VERTICAL')});\n${label}.setLayoutData(new ${type\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(BEGINNING, CENTER, END, FILL)}, SWT.${vertical\:link(CENTER, TOP, BOTTOM, FILL)}, ${hex\:link(false, true)}, ${vex\:link(false, true)}));\n${label}.setText(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${labelType\:newType(org.eclipse.swt.widgets.Label)} ${image\:newName(org.eclipse.swt.widgets.Label)}\= new ${labelType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.NONE, SWT.BORDER)});\n${image}.setLayoutData(new ${type\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(BEGINNING, CENTER, END, FILL)}, SWT.${vertical\:link(CENTER, TOP, BOTTOM, FILL)}, ${hex\:link(false, true)}, ${vex\:link(false, true)}));\n${image}.setImage(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${buttonType\:newType(org.eclipse.swt.widgets.Button)} ${button\:newName(org.eclipse.swt.widgets.Button)}\= new ${buttonType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.PUSH, SWT.TOGGLE, SWT.RADIO, SWT.CHECK, SWT.FLAT)});\n${button}.setLayoutData(new ${type\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(BEGINNING, CENTER, END, FILL)}, SWT.${vertical\:link(CENTER, TOP, BOTTOM, FILL)}, ${hex\:link(false, true)}, ${vex\:link(false, true)}));\n${button}.setText(${word_selection}${});\n${button}.addSelectionListener(new SelectionAdapter() {\n\t\t\t@Override\n\t\t\tpublic void widgetSelected(SelectionEvent e) {\n\t\t\t\t${listener\:link('')}\n\t\t\t}\n\t\t});\n${imp\:import(org.eclipse.swt.SWT, org.eclipse.swt.events.SelectionAdapter, org.eclipse.swt.events.SelectionEvent)}${cursor}${linkType\:newType(org.eclipse.swt.widgets.Link)} ${link\:newName(org.eclipse.swt.widgets.Link)}\= new ${linkType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, SWT.NONE);\n${link}.setLayoutData(new ${type\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(BEGINNING, CENTER, END, FILL)}, SWT.${vertical\:link(CENTER, TOP, BOTTOM, FILL)}, ${hex\:link(false, true)}, ${vex\:link(false, true)}));\n${link}.setText(${word_selection}${});\n${link}.addSelectionListener(new SelectionAdapter() {\n\t\t\t@Override\n\t\t\tpublic void widgetSelected(SelectionEvent e) {\n\t\t\t\t${listener\:link('')}\n\t\t\t}\n\t\t});\n${imp\:import(org.eclipse.swt.SWT, org.eclipse.swt.events.SelectionAdapter, org.eclipse.swt.events.SelectionEvent)}${cursor}${comboType\:newType(org.eclipse.swt.widgets.Combo)} ${combo\:newName(org.eclipse.swt.widgets.Combo)}\= new ${comboType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.DROP_DOWN, 'SWT.DROP_DOWN | SWT.READ_ONLY')});\n${combo}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(CENTER, TOP, BOTTOM, FILL)}, ${hex\:link(true, false)}, ${vex\:link(false, true)}));\n${combo}.setItems(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${scaleType\:newType(org.eclipse.swt.widgets.Scale)} ${scale\:newName(org.eclipse.swt.widgets.Scale)}\= new ${scaleType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.HORIZONTAL, SWT.VERTICAL)});\n${scale}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(BEGINNING, FILL, CENTER, END)}, SWT.${vertical\:link(CENTER, TOP, BOTTOM, FILL)}, ${hex\:link(false, true)}, ${vex\:link(false, true)}));\n${scale}.setMaximum(${max\:link(100)});\n${scale}.setIncrement(${inc\:link(5)});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${spinnerType\:newType(org.eclipse.swt.widgets.Spinner)} ${spinner\:newName(org.eclipse.swt.widgets.Spinner)}\= new ${spinnerType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.BORDER, 'SWT.WRAP | SWT.BORDER', 'SWT.READ_ONLY | SWT.BORDER', 'SWT.READ_ONLY | SWT.WRAP | SWT.BORDER', SWT.WRAP, SWT.READ_ONLY)});\n${spinner}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(BEGINNING, CENTER, END, FILL)}, SWT.${vertical\:link(CENTER, TOP, BOTTOM, FILL)}, ${hex\:link(false, true)}, ${vex\:link(false, true)}));\n${spinner}.setMaximum(${max\:link(10)});\n${spinner}.setIncrement(${inc\:link(1)});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${browserType\:newType(org.eclipse.swt.browser.Browser)} ${browser\:newName(org.eclipse.swt.browser.Browser)}\= new ${browserType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.NONE, SWT.WEBKIT)});\n${browser}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${browser}.setUrl(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${dateType\:newType(org.eclipse.swt.widgets.DateTime)} ${dateTime\:newName(org.eclipse.swt.widgets.DateTime)}\= new ${dateType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link('SWT.CALENDAR | SWT.SHORT', 'SWT.CALENDAR | SWT.MEDIUM', 'SWT.CALENDAR | SWT.LONG', 'SWT.TIME | SWT.SHORT', 'SWT.TIME | SWT.MEDIUM', 'SWT.TIME | SWT.LONG', 'SWT.DATE | SWT.SHORT', 'SWT.DATE | SWT.MEDIUM', 'SWT.DATE | SWT.LONG')});\n${dateTime}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${shellType\:newType(org.eclipse.swt.widgets.Shell)} ${shell\:newName(org.eclipse.swt.widgets.Shell)} \= new ${shellType}(${parent\:var(org.eclipse.swt.widgets.Shell)}, ${style\:link('SWT.DIALOG_TRIM | SWT.PRIMARY_MODAL', 'SWT.DIALOG_TRIM | SWT.MODELESS', 'SWT.SHELL_TRIM | SWT.MODELESS', 'SWT.SHELL_TRIM | SWT.PRIMARY_MODAL')});\n${shell}.setLayout(new ${layoutType\:newType(org.eclipse.swt.layout.GridLayout)}(${numberColumns\:link(1, 2, 3, 4, 5)}, ${equalColumns\:link(false, true)}));\n\n${imp\:import(org.eclipse.swt.SWT)}${cursor}\n\n${shell}.pack();\n\n${shell}.open();${compositeType\:newType(org.eclipse.swt.widgets.Composite)} ${composite\:newName(org.eclipse.swt.widgets.Composite)}\= new ${compositeType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.NONE, SWT.BORDER)});\n${composite}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${composite}.setLayout(new ${layoutType\:newType(org.eclipse.swt.layout.GridLayout)}(${numberColumns\:link(1, 2, 3, 4, 5)}, ${equalColumns\:link(false, true)}));\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${compositeType\:newType(org.eclipse.swt.custom.ScrolledComposite)} ${scrolled\:newName(org.eclipse.swt.custom.ScrolledComposite)} \= new ${compositeType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link('SWT.H_SCROLL | SWT.V_SCROLL', SWT.H_SCROLL, SWT.V_SCROLL)});\n${scrolled}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${scrolled}.setExpandVertical(${exV\:link(false, true)});\n${scrolled}.setExpandHorizontal(${exH\:link(false, true)});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}\n\n${scrolled}.setContent(${content});\nPoint ${contentSize\:newName(org.eclipse.swt.graphics.Point)} \= ${content}.computeSize(SWT.DEFAULT, SWT.DEFAULT);\n${content}.setSize(${contentSize});\n${scrolled}.setMinSize(${contentSize});${groupType\:newType(org.eclipse.swt.widgets.Group)} ${group\:newName(org.eclipse.swt.widgets.Group)}\= new ${groupType}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.NONE, SWT.SHADOW_ETCHED_IN, SWT.SHADOW_ETCHED_OUT, SWT.SHADOW_IN, SWT.SHADOW_OUT, SWT.SHADOW_NONE)});\n${group}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(false, true)}));\n${group}.setLayout(new ${layoutType\:newType(org.eclipse.swt.layout.GridLayout)}(${numberColumns\:link(1, 2, 3, 4, 5)}, ${equalColumns\:link(false, true)}));\n${group}.setText(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.custom.SashForm)} ${sash\:newName(org.eclipse.swt.custom.SashForm)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.HORIZONTAL, SWT.VERTICAL)});\n${sash}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${imp\:import(org.eclipse.swt.SWT)}${cursor}\n\n${sash}.setWeights(new int[] {1, 1});${type\:newType(org.eclipse.swt.widgets.ExpandBar)} ${bar\:newName(org.eclipse.swt.widgets.ExpandBar)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.V_SCROLL, SWT.NONE)});\n${bar}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.widgets.ExpandItem)} ${item\:newName(org.eclipse.swt.widgets.ExpandItem)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.ExpandBar)}, SWT.NONE);\n${item}.setText(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}\n\n${item}.setControl(${control});\n${item}.setHeight(${control}.computeSize(SWT.DEFAULT, SWT.DEFAULT).y);${type\:newType(org.eclipse.swt.widgets.TabFolder)} ${folder\:newName(org.eclipse.swt.widgets.TabFolder)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.TOP, SWT.BOTTOM)});\n${folder}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.widgets.TabItem)} ${item\:newName(org.eclipse.swt.widgets.TabItem)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.TabFolder)}, SWT.NONE);\n${item}.setText(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}\n\n${item}.setControl(${control});${type\:newType(org.eclipse.swt.widgets.ToolBar)} ${bar\:newName(org.eclipse.swt.widgets.ToolBar)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link(SWT.FLAT, SWT.WRAP, SWT.RIGHT, SWT.HORIZONTAL, SWT.VERTICAL, SWT.SHADOW_OUT)});\n${bar}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.widgets.ToolItem)} ${item\:newName(org.eclipse.swt.widgets.ToolItem)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.ToolBar)}, ${style\:link(SWT.PUSH, SWT.CHECK, SWT.RADIO, SWT.SEPARATOR, SWT.DROP_DOWN)});\n${item}.setText(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.widgets.Text)} ${text\:newName(org.eclipse.swt.widgets.Text)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link('SWT.SINGLE | SWT.LEAD | SWT.BORDER', 'SWT.SINGLE | SWT.LEAD | SWT.READ_ONLY | SWT.BORDER', 'SWT.SINGLE | SWT.LEAD | SWT.PASSWORD | SWT.BORDER', 'SWT.MULTI | SWT.WRAP | SWT.V_SCROLL | SWT.BORDER', 'SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER')});\n${text}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(CENTER, TOP, BOTTOM, FILL)}, ${hex\:link(true, false)}, ${vex\:link(false, true)}));\n${text}.setText(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.custom.StyledText)} ${text\:newName(org.eclipse.swt.custom.StyledText)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link('SWT.V_SCROLL | SWT.H_SCROLL', 'SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY', 'SWT.WRAP | SWT.V_SCROLL', SWT.NONE, SWT.BORDER, SWT.FULL_SELECTION)});\n${text}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${text}.setText(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.custom.StyleRange)} ${range\:newName(org.eclipse.swt.custom.StyleRange)}\= new ${type}();\n${range}.start\= ${start\:link(0)};\n${range}.length\= ${length\:link(0)};\n${range}.foreground\= ${fColor\:link(null, 'Display.getDefault().getSystemColor(SWT.COLOR_BLACK)', 'Display.getDefault().getSystemColor(SWT.COLOR_WHITE)', 'Display.getDefault().getSystemColor(SWT.COLOR_RED)', 'Display.getDefault().getSystemColor(SWT.COLOR_BLUE)', 'Display.getDefault().getSystemColor(SWT.COLOR_GREEN)')};\n${range}.background\= ${bColor\:link(null, 'Display.getDefault().getSystemColor(SWT.COLOR_BLACK)', 'Display.getDefault().getSystemColor(SWT.COLOR_WHITE)', 'Display.getDefault().getSystemColor(SWT.COLOR_RED)', 'Display.getDefault().getSystemColor(SWT.COLOR_BLUE)', 'Display.getDefault().getSystemColor(SWT.COLOR_GREEN)')};\n${range}.fontStyle\= ${fStyle\:link(SWT.NORMAL, SWT.ITALIC, SWT.BOLD)};\n${text\:var(org.eclipse.swt.custom.StyledText)}.setStyleRange(${range});\n${imp\:import(org.eclipse.swt.SWT, org.eclipse.swt.widgets.Display)}${cursor}${type\:newType(org.eclipse.swt.widgets.List)} ${list\:newName(org.eclipse.swt.widgets.List)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link('SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL', 'SWT.MULTI | SWT.V_SCROLL', SWT.MULTI, 'SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL', 'SWT.SINGLE | SWT.V_SCROLL', SWT.SINGLE)});\n${list}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${list}.setItems(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.widgets.Table)} ${table\:newName(org.eclipse.swt.widgets.Table)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link('SWT.SINGLE | SWT.FULL_SELECTION', 'SWT.MULTI | SWT.FULL_SELECTION', SWT.CHECK, SWT.NONE, SWT.VIRTUAL)});\n${table}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${table}.setLinesVisible(${line\:link(true, false)});\n${table}.setHeaderVisible(${header\:link(true, false)});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}\n\nfor (int ${index} \= 0; ${index} < ${table}.getColumnCount(); ${index}++) {\n\t${table}.getColumn(${index}).pack();\n}${type\:newType(org.eclipse.swt.widgets.TableColumn)} ${column\:newName(org.eclipse.swt.widgets.TableColumn)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Table)}, ${style\:link(SWT.LEAD, SWT.CENTER, SWT.TRAIL)});\n${column}.setText(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.widgets.TableItem)} ${item\:newName(org.eclipse.swt.widgets.TableItem)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Table)}, SWT.NONE);\n${item}.setText(${count\:link(0, 1, 2, 3, 4, 5)}, ${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.widgets.Tree)} ${tree\:newName(org.eclipse.swt.widgets.Tree)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Composite)}, ${style\:link('SWT.SINGLE | SWT.FULL_SELECTION', 'SWT.MULTI | SWT.FULL_SELECTION', SWT.CHECK, SWT.NONE, SWT.VIRTUAL)});\n${tree}.setLayoutData(new ${gridDataType\:newType(org.eclipse.swt.layout.GridData)}(SWT.${horizontal\:link(FILL, BEGINNING, CENTER, END)}, SWT.${vertical\:link(FILL, TOP, CENTER, BOTTOM)}, ${hex\:link(true, false)}, ${vex\:link(true, false)}));\n${tree}.setLinesVisible(${line\:link(true, false)});\n${tree}.setHeaderVisible(${header\:link(true, false)});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}\n\nfor (int ${index} \= 0; ${index} < ${tree}.getColumnCount(); ${index}++) {\n\t${tree}.getColumn(${index}).pack();\n}${type\:newType(org.eclipse.swt.widgets.TreeColumn)} ${column\:newName(org.eclipse.swt.widgets.TreeColumn)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Tree)}, ${style\:link(SWT.LEAD, SWT.CENTER, SWT.TRAIL)});\n${column}.setText(${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}${type\:newType(org.eclipse.swt.widgets.TreeItem)} ${item\:newName(org.eclipse.swt.widgets.TreeItem)}\= new ${type}(${parent\:var(org.eclipse.swt.widgets.Tree, org.eclipse.swt.widgets.TreeItem)}, SWT.NONE);\n${item}.setText(${count\:link(0, 1, 2, 3, 4, 5)}, ${word_selection}${});\n${imp\:import(org.eclipse.swt.SWT)}${cursor}
-/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.text.templates_migrated=true
/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.visibility.order=B,V,R,D,
/instance/org.eclipse.jdt.ui/outlinesortoption=T,SF,SI,SM,F,I,C,M,
-/instance/org.eclipse.jdt.ui/semanticHighlighting.number.bold=true
-/instance/org.eclipse.jdt.ui/semanticHighlighting.number.color=216,0,216
-/instance/org.eclipse.jdt.ui/semanticHighlighting.number.enabled=true
-/instance/org.eclipse.jdt.ui/smartPaste=true
-/instance/org.eclipse.jdt.ui/smart_backspace=true
-/instance/org.eclipse.jdt.ui/smart_opening_brace=true
-/instance/org.eclipse.jdt.ui/smart_semicolon=true
-/instance/org.eclipse.jdt.ui/smart_tab=true
-/instance/org.eclipse.jdt.ui/sourceHoverBackgroundColor=255,255,255
-/instance/org.eclipse.jdt.ui/sp_cleanup.add_default_serial_version_id=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.add_generated_serial_version_id=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.add_missing_annotations=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.add_missing_deprecated_annotations=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.add_missing_methods=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.add_missing_nls_tags=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.add_missing_override_annotations=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.add_missing_override_annotations_interface_methods=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.add_serial_version_id=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.always_use_blocks=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.always_use_parentheses_in_expressions=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.always_use_this_for_non_static_field_access=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.always_use_this_for_non_static_method_access=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.convert_functional_interfaces=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.convert_to_enhanced_for_loop=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.correct_indentation=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.format_source_code=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.format_source_code_changes_only=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.insert_inferred_type_arguments=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.make_local_variable_final=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.make_parameters_final=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.make_private_fields_final=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.make_type_abstract_if_missing_method=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.make_variable_declarations_final=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.never_use_blocks=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.never_use_parentheses_in_expressions=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.on_save_use_additional_actions=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.organize_imports=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_private_constructors=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_redundant_modifiers=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_redundant_semicolons=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_redundant_type_arguments=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_trailing_whitespaces=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_trailing_whitespaces_all=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_unnecessary_casts=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_unnecessary_nls_tags=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_unused_imports=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_unused_local_variables=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_unused_private_fields=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_unused_private_members=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_unused_private_methods=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.remove_unused_private_types=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.sort_members=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.sort_members_all=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.use_anonymous_class_creation=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.use_blocks=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.use_blocks_only_for_return_and_throw=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.use_lambda=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.use_parentheses_in_expressions=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.use_this_for_non_static_field_access=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-/instance/org.eclipse.jdt.ui/sp_cleanup.use_this_for_non_static_method_access=false
-/instance/org.eclipse.jdt.ui/sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-/instance/org.eclipse.jdt.ui/spelling_ignore_ampersand_in_properties=true
-/instance/org.eclipse.jdt.ui/spelling_ignore_digits=true
-/instance/org.eclipse.jdt.ui/spelling_ignore_java_strings=true
-/instance/org.eclipse.jdt.ui/spelling_ignore_mixed=true
-/instance/org.eclipse.jdt.ui/spelling_ignore_non_letters=true
-/instance/org.eclipse.jdt.ui/spelling_ignore_sentence=true
-/instance/org.eclipse.jdt.ui/spelling_ignore_single_letters=true
-/instance/org.eclipse.jdt.ui/spelling_ignore_upper=true
-/instance/org.eclipse.jdt.ui/spelling_ignore_urls=true
-/instance/org.eclipse.jdt.ui/spelling_locale_initialized=true
-/instance/org.eclipse.jdt.ui/spelling_user_dictionary_encoding=
-/instance/org.eclipse.jdt.ui/stickyOccurrences=false
-/instance/org.eclipse.jdt.ui/useAnnotationsPrefPage=true
-/instance/org.eclipse.jdt.ui/useQuickDiffPrefPage=true
-/instance/org.eclipse.jsch.core/org.eclipse.jsch.core.hasMigratedSsh2Preferences=true
-/instance/org.eclipse.jst.jsp.core/org.eclipse.jst.jsp.core.internal.java.search.JSPIndexManager=JSP Index v3.10_20180412_01
-/instance/org.eclipse.jst.jsp.ui/jsp_content_assist_default_page_sort_order=org.eclipse.wst.html.ui.proposalCategory.htmlTags\u0000org.eclipse.wst.xml.ui.proposalCategory.xmlTags\u0000org.eclipse.wst.css.ui.proposalCategory.css\u0000org.eclipse.jst.jsp.ui.proposalCategory.jsp\u0000org.eclipse.jst.jsp.ui.proposalCategory.jspJava\u0000org.eclipse.jst.jsp.ui.proposalCategory.jspTemplates\u0000org.eclipse.wst.html.ui.proposalCategory.htmlTemplates\u0000org.eclipse.wst.xml.ui.proposalCategory.xmlTemplates\u0000org.eclipse.wst.css.ui.proposalCategory.cssTemplates\u0000
-/instance/org.eclipse.jst.jsp.ui/jsp_content_assist_own_page_sort_order=org.eclipse.jst.jsp.ui.proposalCategory.jspTemplates\u0000org.eclipse.wst.html.ui.proposalCategory.htmlTemplates\u0000org.eclipse.wst.xml.ui.proposalCategory.xmlTemplates\u0000org.eclipse.wst.css.ui.proposalCategory.cssTemplates\u0000org.eclipse.wst.html.ui.proposalCategory.htmlTags\u0000org.eclipse.wst.xml.ui.proposalCategory.xmlTags\u0000org.eclipse.jst.jsp.ui.proposalCategory.jsp\u0000org.eclipse.jst.jsp.ui.proposalCategory.jspJava\u0000org.eclipse.wst.css.ui.proposalCategory.css\u0000
-/instance/org.eclipse.m2e.core/eclipse.m2.WorkspacelifecycleMappingsLocation=/opt/workspaces/workspace-canigo/.metadata/.plugins/org.eclipse.m2e.core/lifecycle-mapping-metadata.xml
-/instance/org.eclipse.m2e.core/eclipse.m2.defaultPomEditorPage=true
-/instance/org.eclipse.m2e.core/eclipse.m2.defaultRuntime=apache-maven-3.5.3
-/instance/org.eclipse.m2e.core/eclipse.m2.globalChecksumPolicy=warn
-/instance/org.eclipse.m2e.core/eclipse.m2.hideFoldersOfNestedProjects=true
-/instance/org.eclipse.m2e.core/eclipse.m2.runtimes=apache-maven-3.5.3
-/instance/org.eclipse.m2e.core/eclipse.m2.runtimesNodes/apache-maven-3.5.3/location=/opt/apache-maven-3.5.3
-/instance/org.eclipse.m2e.core/eclipse.m2.runtimesNodes/apache-maven-3.5.3/type=EXTERNAL
-/instance/org.eclipse.m2e.core/eclipse.m2.updateIndexes=false
-/instance/org.eclipse.m2e.discovery/org.eclipse.m2e.discovery.pref.projects=
-/instance/org.eclipse.m2e.editor.xml/org.eclipse.m2e.editor.xml.templates=
-/instance/org.eclipse.pde.api.tools/knownEEFragments=
-/instance/org.eclipse.pde.core/workspace_target_handle=local\:1554213675370.target
-/instance/org.eclipse.pde.ui/Preferences.MainPage.overwriteBuildFilesOnExport=prompt
-/instance/org.eclipse.team.core/file_types=css\n1\nfactorypath\n1\nmod\n1\nbmp\n2\nproject\n1\nmxsd\n1\ntif\n2\nexe\n2\njava\n1\nico\n2\nxmi\n1\nxml\n1\noptions\n1\nMF\n1\nhtml\n1\njar\n2\nshtml\n1\nzip\n2\npng\n2\nindex\n1\nhistory\n1\napi_filters\n1\ndoc\n2\necore\n1\nhtpl\n1\nshtm\n1\ntiff\n2\ngif\n2\nxsd\n1\njs\n1\nnst\n1\nemof\n1\nxsl\n1\nwsdl\n1\ndtd\n1\nwml\n1\njpeg\n2\nso\n2\nclass\n2\nhtm\n1\njpg\n2\nproduct\n1\nclasspath\n1\ndll\n2\nini\n1\nent\n1\nlaunch\n1\nexsd\n1\nprefs\n1\nxhtml\n1\ntxt\n1\njpage\n1\npdf\n2\nppt\n2\nxslt\n1\njardesc\n1\nproperties\n1\nxls\n2\ndadx\n1\n
-/instance/org.eclipse.team.ui/org.eclipse.team.ui.show_author_in_compare_editor=true
-/instance/org.eclipse.team.ui/org.eclipse.team.ui.view_syncinfo_in_label=true
-/instance/org.eclipse.ui.browser/browser-choice=1
-/instance/org.eclipse.ui.browser/browsers=\n\n\n\n\n
-/instance/org.eclipse.ui.editors/isBookmarkGoToNextNavigationTarget=true
-/instance/org.eclipse.ui.editors/isTaskGoToNextNavigationTarget=true
-/instance/org.eclipse.ui.editors/overviewRuler_migration=migrated_3.1
-/instance/org.eclipse.ui.editors/printMargin=true
-/instance/org.eclipse.ui.editors/printMarginColumn=120
-/instance/org.eclipse.ui.editors/spacesForTabs=true
-/instance/org.eclipse.ui.editors/spellingEnabled=false
-/instance/org.eclipse.ui.ide/EXIT_PROMPT_ON_CLOSE_LAST_WINDOW=false
-/instance/org.eclipse.ui.ide/IMPORT_FILES_AND_FOLDERS_MODE=prompt
-/instance/org.eclipse.ui.ide/IMPORT_FILES_AND_FOLDERS_VIRTUAL_FOLDER_MODE=prompt
-/instance/org.eclipse.ui.ide/PROBLEMS_FILTERS_MIGRATE=true
-/instance/org.eclipse.ui.ide/SHOW_PERSPECTIVE_IN_TITLE=true
-/instance/org.eclipse.ui.ide/SYSTEM_EXPLORER=pcmanfm "${selected_resource_parent_loc}"
-/instance/org.eclipse.ui.ide/platformState=1555411907178
-/instance/org.eclipse.ui.ide/quickStart=false
-/instance/org.eclipse.ui.ide/tipsAndTricks=true
-/instance/org.eclipse.ui.monitoring/noninteresting_thread_filter=java.*,org.eclipse.core.internal.jobs.Worker.run,org.eclipse.core.internal.jobs.WorkerPool.sleep,org.eclipse.core.internal.jobs.WorkerPool.startJob,org.eclipse.equinox.internal.util.impl.tpt.threadpool.Executor.run,org.eclipse.equinox.internal.util.impl.tpt.timer.TimerImpl.run,org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.getNextEvent,org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run,sun.*
/instance/org.eclipse.ui.trace/tracingEnabled=false
/instance/org.eclipse.ui.trace/tracingEntries=
-/instance/org.eclipse.ui.trace/tracingFilePath=/opt/workspaces/workspace-canigo/.metadata/trace.log
/instance/org.eclipse.ui.trace/tracingMaxFileCount=10
/instance/org.eclipse.ui.trace/tracingMaxFileSize=1000
-/instance/org.eclipse.ui.trace/tracingOutputStandard=false
-/instance/org.eclipse.ui.views.log/activate=false
-/instance/org.eclipse.ui.views.log/column2=300
-/instance/org.eclipse.ui.views.log/column3=150
-/instance/org.eclipse.ui.views.log/column4=980
-/instance/org.eclipse.ui.views.log/groupBy=0
-/instance/org.eclipse.ui.views.log/maxLogTailSize=1
-/instance/org.eclipse.ui.views.log/orderType=2
-/instance/org.eclipse.ui.views.log/orderValue=-1
-/instance/org.eclipse.ui.views.log/show_filter_text=true
-/instance/org.eclipse.ui.workbench//org.eclipse.ui.commands/state/org.eclipse.ui.navigator.resources.nested.changeProjectPresentation/org.eclipse.ui.commands.radioState=false
-/instance/org.eclipse.ui.workbench/Debug_e4persp=\n\n \n \n persp.actionSet\:org.eclipse.ui.cheatsheets.actionSet\n persp.actionSet\:org.eclipse.search.searchActionSet\n persp.actionSet\:org.eclipse.ui.edit.text.actionSet.annotationNavigation\n persp.actionSet\:org.eclipse.ui.edit.text.actionSet.navigation\n persp.actionSet\:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo\n persp.actionSet\:org.eclipse.ui.externaltools.ExternalToolsSet\n persp.actionSet\:org.eclipse.ui.actionSet.keyBindings\n persp.actionSet\:org.eclipse.ui.actionSet.openFiles\n persp.actionSet\:org.eclipse.wst.jsdt.chromium.debug.ui.actionSets\n persp.actionSet\:org.springsource.ide.eclipse.quicksearch.actionSet\n persp.actionSet\:org.springsource.ide.eclipse.commons.launch.actionSet\n persp.viewSC\:org.eclipse.ui.views.ProgressView\n persp.viewSC\:org.eclipse.ui.texteditor.TemplatesView\n persp.actionSet\:org.eclipse.debug.ui.launchActionSet\n persp.actionSet\:org.eclipse.debug.ui.debugActionSet\n persp.actionSet\:org.eclipse.ui.NavigateActionSet\n persp.viewSC\:org.eclipse.debug.ui.DebugView\n persp.viewSC\:org.eclipse.debug.ui.VariableView\n persp.viewSC\:org.eclipse.debug.ui.BreakpointView\n persp.viewSC\:org.eclipse.debug.ui.ExpressionView\n persp.viewSC\:org.eclipse.ui.views.ContentOutline\n persp.viewSC\:org.eclipse.ui.console.ConsoleView\n persp.viewSC\:org.eclipse.ui.views.ProblemView\n persp.viewSC\:org.eclipse.ui.navigator.ProjectExplorer\n persp.viewSC\:org.eclipse.pde.runtime.LogView\n persp.actionSet\:org.eclipse.debug.ui.breakpointActionSet\n persp.perspSC\:org.eclipse.wst.xml.ui.perspective\n persp.perspSC\:org.eclipse.jdt.ui.JavaPerspective\n persp.perspSC\:org.eclipse.jdt.ui.JavaBrowsingPerspective\n persp.actionSet\:org.eclipse.jdt.ui.JavaActionSet\n persp.showIn\:org.eclipse.jdt.ui.PackageExplorer\n persp.perspSC\:org.eclipse.wst.jsdt.ui.JavaPerspective\n persp.showIn\:org.eclipse.wst.jsdt.ui.PackageExplorer\n persp.actionSet\:org.eclipse.jdt.debug.ui.JDTDebugActionSet\n persp.viewSC\:org.eclipse.jdt.debug.ui.DisplayView\n persp.showIn\:org.eclipse.egit.ui.RepositoriesView\n persp.viewSC\:org.eclipse.tm.terminal.view.ui.TerminalsView\n persp.showIn\:org.eclipse.tm.terminal.view.ui.TerminalsView\n persp.viewSC\:org.eclipse.jdt.junit.ResultView\n persp.viewSC\:org.eclipse.ant.ui.views.AntView\n \n \n \n \n org.eclipse.e4.primaryNavigationStack\n \n View\n categoryTag\:Debug\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:Java\n \n \n View\n categoryTag\:Java\n \n \n View\n categoryTag\:Java\n \n \n View\n categoryTag\:Other\n \n \n \n \n \n \n View\n categoryTag\:Server\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:General\n active\n \n \n View\n categoryTag\:Debug\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:Debug\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:Terminal\n \n \n \n \n \n noFocus\n active\n \n View\n categoryTag\:Debug\n \n \n View\n categoryTag\:Debug\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:Ant\n \n \n \n Other\n \n View\n categoryTag\:Debug\n \n \n \n \n\n
-/instance/org.eclipse.ui.workbench/ENABLED_DECORATORS=org.eclipse.m2e.core.mavenVersionDecorator\:false,org.eclipse.wst.jsdt.chromium.debug.ui.decorators.ChromiumJavaScript\:true,org.eclipse.wst.server.ui.decorator\:false,org.eclipse.ui.LinkedResourceDecorator\:true,org.eclipse.ui.SymlinkDecorator\:true,org.eclipse.ui.VirtualResourceDecorator\:true,org.eclipse.ui.ContentTypeDecorator\:true,org.eclipse.ui.ResourceFilterDecorator\:false,org.eclipse.egit.gitflow.ui.internal.decorators.GitflowLightweightDecorator\:true,org.eclipse.wst.json.bower.ui.bower\:true,org.eclipse.wst.json.bower.ui.bowerrc\:true,org.eclipse.wst.json.eslint.ui.ESLint\:true,org.eclipse.wst.json.jshint.ui.jshint\:true,org.eclipse.wst.json.npm.ui.NPM\:true,org.eclipse.debug.ui.prototype.decorator\:true,org.eclipse.m2e.core.maven2decorator\:true,org.sonarlint.eclipse.ui.navigatorDecorator\:true,org.sonarlint.eclipse.ui.sonarlintDecorator\:true,org.eclipse.jdt.ui.override.decorator\:true,org.eclipse.jdt.ui.interface.decorator\:true,org.eclipse.jdt.ui.buildpath.decorator\:true,org.eclipse.jdt.internal.ui.without.test.code.decorator\:true,org.eclipse.wst.jsdt.ui.override.decorator\:true,org.eclipse.wst.server.ui.navigatorDecorator\:true,org.eclipse.buildship.ui.gradledecorator\:true,org.eclipse.egit.ui.internal.decorators.GitLightweightDecorator\:true,org.eclipse.egit.ui.internal.repository.RepositoryTreeNodeDecorator\:true,org.eclipse.pde.ui.binaryProjectDecorator\:false,org.springframework.ide.eclipse.boot.ui.DevtoolsProjectDecorator\:true,
-/instance/org.eclipse.ui.workbench/Git_e4persp=\n\n \n \n persp.actionSet\:org.eclipse.ui.cheatsheets.actionSet\n persp.actionSet\:org.eclipse.search.searchActionSet\n persp.actionSet\:org.eclipse.ui.edit.text.actionSet.annotationNavigation\n persp.actionSet\:org.eclipse.ui.edit.text.actionSet.navigation\n persp.actionSet\:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo\n persp.actionSet\:org.eclipse.ui.externaltools.ExternalToolsSet\n persp.actionSet\:org.eclipse.ui.actionSet.keyBindings\n persp.actionSet\:org.eclipse.ui.actionSet.openFiles\n persp.actionSet\:org.eclipse.wst.jsdt.chromium.debug.ui.actionSets\n persp.actionSet\:org.springsource.ide.eclipse.quicksearch.actionSet\n persp.actionSet\:org.springsource.ide.eclipse.commons.launch.actionSet\n persp.viewSC\:org.eclipse.jdt.ui.PackageExplorer\n persp.viewSC\:org.eclipse.team.ui.GenericHistoryView\n persp.viewSC\:org.eclipse.team.sync.views.SynchronizeView\n persp.viewSC\:org.eclipse.egit.ui.StagingView\n persp.viewSC\:org.eclipse.egit.ui.ReflogView\n persp.viewSC\:org.eclipse.egit.ui.RepositoriesView\n persp.perspSC\:org.eclipse.ui.resourcePerspective\n persp.perspSC\:org.eclipse.team.ui.TeamSynchronizingPerspective\n persp.actionSet\:org.eclipse.egit.ui.navigation\n persp.actionSet\:org.eclipse.egit.ui.SearchActionSet\n persp.newWizSC\:org.eclipse.egit.ui.CreateRepositoryWizard\n persp.showIn\:org.eclipse.tm.terminal.view.ui.TerminalsView\n \n \n \n \n active\n noFocus\n \n View\n categoryTag\:Git\n \n \n \n \n View\n categoryTag\:Java\n \n \n \n \n \n \n \n \n View\n categoryTag\:Team\n \n \n View\n categoryTag\:Team\n \n \n View\n categoryTag\:Git\n \n \n View\n categoryTag\:General\n \n \n \n \n View\n categoryTag\:Git\n \n \n \n \n\n
-/instance/org.eclipse.ui.workbench/HeapStatus.showMax=true
-/instance/org.eclipse.ui.workbench/Java_e4persp=\n\n \n \n persp.actionSet\:org.eclipse.ui.cheatsheets.actionSet\n persp.actionSet\:org.eclipse.search.searchActionSet\n persp.actionSet\:org.eclipse.ui.edit.text.actionSet.annotationNavigation\n persp.actionSet\:org.eclipse.ui.edit.text.actionSet.navigation\n persp.actionSet\:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo\n persp.actionSet\:org.eclipse.ui.externaltools.ExternalToolsSet\n persp.actionSet\:org.eclipse.ui.actionSet.keyBindings\n persp.actionSet\:org.eclipse.ui.actionSet.openFiles\n persp.actionSet\:org.eclipse.wst.jsdt.chromium.debug.ui.actionSets\n persp.actionSet\:org.springsource.ide.eclipse.quicksearch.actionSet\n persp.actionSet\:org.springsource.ide.eclipse.commons.launch.actionSet\n persp.actionSet\:org.eclipse.debug.ui.launchActionSet\n persp.actionSet\:org.eclipse.jdt.ui.JavaActionSet\n persp.actionSet\:org.eclipse.jdt.ui.JavaElementCreationActionSet\n persp.actionSet\:org.eclipse.ui.NavigateActionSet\n persp.viewSC\:org.eclipse.jdt.ui.PackageExplorer\n persp.viewSC\:org.eclipse.jdt.ui.TypeHierarchy\n persp.viewSC\:org.eclipse.jdt.ui.SourceView\n persp.viewSC\:org.eclipse.jdt.ui.JavadocView\n persp.viewSC\:org.eclipse.search.ui.views.SearchView\n persp.viewSC\:org.eclipse.ui.console.ConsoleView\n persp.viewSC\:org.eclipse.ui.views.ContentOutline\n persp.viewSC\:org.eclipse.ui.views.ProblemView\n persp.viewSC\:org.eclipse.ui.views.ResourceNavigator\n persp.viewSC\:org.eclipse.ui.views.TaskList\n persp.viewSC\:org.eclipse.ui.views.ProgressView\n persp.viewSC\:org.eclipse.ui.navigator.ProjectExplorer\n persp.viewSC\:org.eclipse.ui.texteditor.TemplatesView\n persp.viewSC\:org.eclipse.pde.runtime.LogView\n persp.newWizSC\:org.eclipse.jdt.ui.wizards.JavaProjectWizard\n persp.newWizSC\:org.eclipse.jdt.ui.wizards.NewPackageCreationWizard\n persp.newWizSC\:org.eclipse.jdt.ui.wizards.NewClassCreationWizard\n persp.newWizSC\:org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard\n persp.newWizSC\:org.eclipse.jdt.ui.wizards.NewEnumCreationWizard\n persp.newWizSC\:org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard\n persp.newWizSC\:org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard\n persp.newWizSC\:org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard\n persp.newWizSC\:org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard\n persp.newWizSC\:org.eclipse.ui.wizards.new.folder\n persp.newWizSC\:org.eclipse.ui.wizards.new.file\n persp.newWizSC\:org.eclipse.ui.editors.wizards.UntitledTextFileWizard\n persp.perspSC\:org.eclipse.jdt.ui.JavaBrowsingPerspective\n persp.perspSC\:org.eclipse.debug.ui.DebugPerspective\n persp.showIn\:org.eclipse.jdt.ui.PackageExplorer\n persp.showIn\:org.eclipse.team.ui.GenericHistoryView\n persp.showIn\:org.eclipse.ui.views.ResourceNavigator\n persp.showIn\:org.eclipse.ui.navigator.ProjectExplorer\n persp.perspSC\:org.eclipse.wst.jsdt.ui.JavaPerspective\n persp.newWizSC\:org.springsource.ide.eclipse.commons.gettingstarted.wizard.boot.NewSpringBootWizard\n persp.newWizSC\:org.springsource.ide.eclipse.gettingstarted.wizards.import.generic.newalias\n persp.actionSet\:org.eclipse.debug.ui.breakpointActionSet\n persp.actionSet\:org.eclipse.jdt.debug.ui.JDTDebugActionSet\n persp.showIn\:org.eclipse.egit.ui.RepositoriesView\n persp.viewSC\:org.eclipse.tm.terminal.view.ui.TerminalsView\n persp.showIn\:org.eclipse.tm.terminal.view.ui.TerminalsView\n persp.newWizSC\:org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard\n persp.actionSet\:org.eclipse.jdt.junit.JUnitActionSet\n persp.viewSC\:org.eclipse.ant.ui.views.AntView\n \n \n \n \n org.eclipse.e4.primaryNavigationStack\n \n View\n categoryTag\:Java\n \n \n View\n categoryTag\:Java\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:Java\n \n \n \n org.eclipse.e4.secondaryNavigationStack\n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:Ant\n \n \n \n \n \n View\n categoryTag\:Git\n \n \n \n \n \n \n org.eclipse.e4.secondaryDataStack\n active\n Maven\n noFocus\n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:Java\n \n \n View\n categoryTag\:Java\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:Terminal\n \n \n View\n categoryTag\:Maven\n \n \n View\n categoryTag\:Other\n \n \n View\n categoryTag\:General\n \n \n View\n categoryTag\:General\n \n \n \n \n\n
-/instance/org.eclipse.ui.workbench/PLUGINS_NOT_ACTIVATED_ON_STARTUP=org.eclipse.m2e.discovery;
-/instance/org.eclipse.ui.workbench/editors=\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
/instance/org.eclipse.ui.workbench/org.eclipse.ui.commands=\n
-/instance/org.eclipse.ui.workbench/overridepresentation=true
-/instance/org.eclipse.ui.workbench/resourcetypes=\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
-/instance/org.eclipse.ui/SHOW_MEMORY_MONITOR=true
-/instance/org.eclipse.ui/SHOW_TEXT_ON_PERSPECTIVE_BAR=true
-/instance/org.eclipse.ui/showIntro=false
-/instance/org.eclipse.wst.css.core/lineWidth=112
-/instance/org.eclipse.wst.css.ui/PROPERTY_VALUE=\#2a00e1 | null | false | false | false | false
-/instance/org.eclipse.wst.css.ui/css_content_assist_default_page_sort_order=org.eclipse.wst.css.ui.proposalCategory.css\u0000org.eclipse.wst.css.ui.proposalCategory.cssTemplates\u0000
-/instance/org.eclipse.wst.css.ui/css_content_assist_own_page_sort_order=org.eclipse.wst.css.ui.proposalCategory.cssTemplates\u0000org.eclipse.wst.css.ui.proposalCategory.css\u0000
-/instance/org.eclipse.wst.css.ui/org.eclipse.wst.sse.ui.custom_templates=
-/instance/org.eclipse.wst.dtd.ui/org.eclipse.wst.sse.ui.custom_templates=
-/instance/org.eclipse.wst.html.core/inlineElements=small,big,sub,img,strong,select,basefont,title,sup,br,abbr,a,b,acronym,strike,em,i,label,td,input,q,s,th,u,cite,li,font,span
-/instance/org.eclipse.wst.html.core/lineWidth=112
-/instance/org.eclipse.wst.html.ui/autoProposeDelay=250
-/instance/org.eclipse.wst.html.ui/html_content_assist_default_page_sort_order=org.eclipse.wst.html.ui.proposalCategory.htmlTags\u0000org.eclipse.wst.css.ui.proposalCategory.css\u0000org.eclipse.wst.html.ui.proposalCategory.htmlTemplates\u0000org.eclipse.wst.css.ui.proposalCategory.cssTemplates\u0000
-/instance/org.eclipse.wst.html.ui/html_content_assist_own_page_sort_order=org.eclipse.wst.html.ui.proposalCategory.htmlTemplates\u0000org.eclipse.wst.css.ui.proposalCategory.cssTemplates\u0000org.eclipse.wst.html.ui.proposalCategory.htmlTags\u0000org.eclipse.wst.css.ui.proposalCategory.css\u0000
-/instance/org.eclipse.wst.html.ui/org.eclipse.wst.sse.ui.custom_templates=
-/instance/org.eclipse.wst.html.ui/tagAttributeValue=\#2a00ff | null | false | false | false | false
-/instance/org.eclipse.wst.jsdt.core/org.eclipse.wst.jsdt.core.PREF_JS_RUNTIME_INSTALLS_XML=\n\n
-/instance/org.eclipse.wst.jsdt.core/org.eclipse.wst.jsdt.core.codeComplete.argumentPrefixes=
-/instance/org.eclipse.wst.jsdt.core/org.eclipse.wst.jsdt.core.codeComplete.argumentSuffixes=
-/instance/org.eclipse.wst.jsdt.core/org.eclipse.wst.jsdt.core.codeComplete.localPrefixes=
-/instance/org.eclipse.wst.jsdt.core/org.eclipse.wst.jsdt.core.codeComplete.localSuffixes=
-/instance/org.eclipse.wst.jsdt.core/org.eclipse.wst.jsdt.core.compiler.taskCaseSensitive=enabled
-/instance/org.eclipse.wst.jsdt.core/org.eclipse.wst.jsdt.core.compiler.taskPriorities=NORMAL,HIGH,NORMAL
-/instance/org.eclipse.wst.jsdt.core/org.eclipse.wst.jsdt.core.compiler.taskTags=TODO,FIXME,XXX
-/instance/org.eclipse.wst.jsdt.core/org.eclipse.wst.jsdt.core.timeoutForParameterNameFromAttachedJavadoc=50
-/instance/org.eclipse.wst.jsdt.debug.core/org.eclipse.wst.jsdt.debug.core.suspend_on_all_script_loads=false
-/instance/org.eclipse.wst.jsdt.debug.core/org.eclipse.wst.jsdt.debug.core.suspend_on_thrown_exceptions=true
-/instance/org.eclipse.wst.jsdt.ui/=**/*.min.js,**/node_modules/*,**/bower_components/*
-/instance/org.eclipse.wst.jsdt.ui/fontPropagated=true
-/instance/org.eclipse.wst.jsdt.ui/hoverModifierMasks=org.eclipse.wst.jsdt.ui.BestMatchHover;0;org.eclipse.wst.jsdt.debug.ui.variable.value.hover;0;org.eclipse.wst.jsdt.ui.ProblemHover;0;org.eclipse.wst.jsdt.ui.NLS;0;org.eclipse.wst.jsdt.ui.JavadocHover;0;org.eclipse.wst.jsdt.ui.JavaSourceHover;131072;
-/instance/org.eclipse.wst.jsdt.ui/hoverModifiers=org.eclipse.wst.jsdt.ui.BestMatchHover;0;org.eclipse.wst.jsdt.debug.ui.variable.value.hover;\!0;org.eclipse.wst.jsdt.ui.ProblemHover;\!0;org.eclipse.wst.jsdt.ui.NLS;\!0;org.eclipse.wst.jsdt.ui.JavadocHover;\!0;org.eclipse.wst.jsdt.ui.JavaSourceHover;Shift;
-/instance/org.eclipse.wst.jsdt.ui/java_string=239,41,41
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.jface.textfont=1|Monospace|10.0|0|GTK|1|;
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.wst.jsdt.ui.editor.tab.width=
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.wst.jsdt.ui.exception.name=e
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.wst.jsdt.ui.formatterprofiles.version=11
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.wst.jsdt.ui.gettersetter.use.is=true
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.wst.jsdt.ui.javadoclocations.migrated=true
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.wst.jsdt.ui.text.code_templates_migrated=true
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.wst.jsdt.ui.text.custom_code_templates=
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.wst.jsdt.ui.text.custom_templates=
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.wst.jsdt.ui.text.templates_migrated=true
-/instance/org.eclipse.wst.jsdt.ui/org.eclipse.wst.jsdt.ui.visibility.order=B,V,R,D,
-/instance/org.eclipse.wst.jsdt.ui/outlinesortoption=T,I,F,C,M,
-/instance/org.eclipse.wst.jsdt.ui/proposalOrderMigrated=true
-/instance/org.eclipse.wst.jsdt.ui/sourceHoverBackgroundColor=51,51,51
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.add_default_serial_version_id=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.add_generated_serial_version_id=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.add_missing_annotations=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.add_missing_deprecated_annotations=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.add_missing_nls_tags=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.add_missing_override_annotations=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.add_serial_version_id=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.always_use_blocks=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.always_use_parentheses_in_expressions=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.always_use_this_for_non_static_field_access=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.always_use_this_for_non_static_method_access=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.convert_to_enhanced_for_loop=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.format_source_code=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.make_local_variable_final=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.make_parameters_final=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.make_private_fields_final=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.make_variable_declarations_final=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.never_use_blocks=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.never_use_parentheses_in_expressions=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.on_save_use_additional_actions=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.organize_imports=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_private_constructors=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_trailing_whitespaces=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_trailing_whitespaces_all=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_unnecessary_casts=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_unnecessary_nls_tags=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_unused_imports=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_unused_local_variables=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_unused_private_fields=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_unused_private_members=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_unused_private_methods=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.remove_unused_private_types=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.sort_members=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.sort_members_all=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.use_blocks=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.use_blocks_only_for_return_and_throw=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.use_parentheses_in_expressions=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.use_this_for_non_static_field_access=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.use_this_for_non_static_method_access=false
-/instance/org.eclipse.wst.jsdt.ui/sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-/instance/org.eclipse.wst.jsdt.ui/tabWidthPropagated=true
-/instance/org.eclipse.wst.jsdt.ui/useAnnotationsPrefPage=true
-/instance/org.eclipse.wst.jsdt.ui/useQuickDiffPrefPage=true
-/instance/org.eclipse.wst.jsdt.web.core/jspIndexState=1
-/instance/org.eclipse.wst.json.core/lineWidth=112
-/instance/org.eclipse.wst.json.ui/catalogEntries=\n\n
-/instance/org.eclipse.wst.json.ui/org.eclipse.wst.json.ui.custom_templates=
-/instance/org.eclipse.wst.json.ui/suggestionStrategy=Lax
-/instance/org.eclipse.wst.server.core/module-start-timeout=300000
-/instance/org.eclipse.wst.server.ui/cache-frequency=0
-/instance/org.eclipse.wst.server.ui/show-on-activity=false
-/instance/org.eclipse.wst.sse.core/task-tags/enabled=true
-/instance/org.eclipse.wst.sse.ui/content_assist_number_of_computers=13
-/instance/org.eclipse.wst.sse.ui/hoverModifiers=combinationHover|true|0;problemHover|false|0;documentationHover|false|0;annotationHover|true|Shift;
-/instance/org.eclipse.wst.sse.ui/useAnnotationsPrefPage=true
-/instance/org.eclipse.wst.sse.ui/useQuickDiffPrefPage=true
-/instance/org.eclipse.wst.validation/DELEGATES_PREFERENCE=delegateValidatorList
-/instance/org.eclipse.wst.validation/USER_BUILD_PREFERENCE=enabledBuildValidatorList
-/instance/org.eclipse.wst.validation/USER_MANUAL_PREFERENCE=enabledManualValidatorList
-/instance/org.eclipse.wst.validation/USER_PREFERENCE=saveAutomaticallyfalseprojectsCanOverridetruedisableAllValidationtrueversion1.2.701.v201810290944
-/instance/org.eclipse.wst.validation/confirmDialog=true
-/instance/org.eclipse.wst.validation/override=true
-/instance/org.eclipse.wst.validation/saveAuto=false
-/instance/org.eclipse.wst.validation/stateTS=0
-/instance/org.eclipse.wst.validation/suspend=true
-/instance/org.eclipse.wst.validation/vf.version=3
-/instance/org.eclipse.wst.xml.core/lineWidth=112
-/instance/org.eclipse.wst.xml.ui/autoProposeDelay=250
-/instance/org.eclipse.wst.xml.ui/org.eclipse.wst.sse.ui.custom_templates=
-/instance/org.eclipse.wst.xml.ui/tagAttributeValue=\#2a00ff | null | false | false | false | false
-/instance/org.eclipse.wst.xml.ui/xml_content_assist_default_page_sort_order=org.eclipse.wst.xml.ui.proposalCategory.xmlTags\u0000org.eclipse.wst.xml.ui.proposalCategory.xmlTemplates\u0000
-/instance/org.eclipse.wst.xml.ui/xml_content_assist_own_page_sort_order=org.eclipse.wst.xml.ui.proposalCategory.xmlTemplates\u0000org.eclipse.wst.xml.ui.proposalCategory.xmlTags\u0000
-/instance/org.springframework.ide.eclipse.boot.dash/ngroks=
-/instance/org.springframework.ide.eclipse.boot.dash/remote-apps=
-/instance/org.springframework.ide.eclipse.boot.dash\:Cloud\ Foundry/runTargets=[]
-/instance/org.springframework.ide.eclipse.boot/default.install=Boot 2.0.4.RELEASE
-/instance/org.springframework.ide.eclipse.boot/installs=https\://repo.spring.io/release/org/springframework/boot/spring-boot-cli/2.0.4.RELEASE/spring-boot-cli-2.0.4.RELEASE-bin.zip\\;Boot 2.0.4.RELEASE\\;;
-/instance/org.springframework.ide.eclipse.boot/org.springframework.ide.eclipse.boot.FastStartupJvmArgs=-client -Xverify\:none -noverify -XX\:TieredStopAtLevel\=1 -XX\:CICompilerCount\=1 -XX\:+UseSerialGC -Xms1g -Xmx1g
-/instance/org.springframework.ide.eclipse.boot/org.springframework.ide.eclipse.boot.wizard.initializr.url=https\://start.spring.io\n
-/instance/org.springframework.ide.eclipse.imports/org.springframework.ide.eclipse.imports.importStaticsInstanceScope=true
-/instance/org.springsource.ide.eclipse.commons.frameworks.core/org.springsource.ide.eclipse.commons.frameworks.ui.legacyconversion.done=true
-/instance/org.springsource.ide.eclipse.commons.ui/egit.pref.fixed.core_autoIgnoreDerivedResources=true
-/instance/org.springsource.ide.eclipse.quicksearch/LineReader.MAX_LINE_LEN=1000
-/instance/org.springsource.ide.eclipse.quicksearch/ignored.extensions=.class, .gif, .exe, .png, .jpg, .zip, .jar, .svg, .psd, ~, .CLASS, .GIF, .EXE, .PNG, .JPG, .ZIP, .JAR, .SVG, .PSD, .pdf, .p12, .odt, .odp, .doc, .pptx, .ppt, .bin, .docx, .xls, .xlsx, .PDF, .P12, .ODT, .ODP, .DOC, .PPTX, .PPT, .BIN, .DOCX, .XLS, .XLSX
-/instance/org.springsource.ide.eclipse.quicksearch/ignored.names=bin, target, build
-/instance/org.springsource.ide.eclipse.quicksearch/ignored.prefixes=.
-@org.dadacoalition.yedit=1.0.18.201602092025-RELEASE-SIGNED
-@org.eclipse.ant.launching=1.2.400.v20190205-2142
-@org.eclipse.ant.ui=3.7.400.v20190218-1426
-@org.eclipse.buildship.core=3.0.1.v20181217-1554
-@org.eclipse.core.resources=3.13.300.v20190218-2054
-@org.eclipse.core.variables=3.4.400.v20190214-1545
-@org.eclipse.debug.core=3.13.200.v20190216-1557
-@org.eclipse.debug.ui=3.14.0.v20190301-0916
-@org.eclipse.e4.ui.css.swt.theme=0.12.200.v20190212-2214
-@org.eclipse.e4.ui.workbench.renderers.swt=0.14.500.v20190220-1002
-@org.eclipse.egit.core=5.3.0.201903130848-r
-@org.eclipse.egit.ui=5.3.0.201903130848-r
-@org.eclipse.help.base=4.2.500.v20190307-0500
-@org.eclipse.jdt.core=3.17.0.v20190306-2240
-@org.eclipse.jdt.debug=3.12.200.v20190218-2230
-@org.eclipse.jdt.debug.ui=3.10.200.v20190226-0733
-@org.eclipse.jdt.junit=3.11.300.v20190130-1425
-@org.eclipse.jdt.junit.core=3.10.200.v20181025-0713
-@org.eclipse.jdt.launching=3.13.0.v20190222-0937
-@org.eclipse.jdt.ui=3.17.0.v20190304-0658
-@org.eclipse.jsch.core=1.3.400.v20190214-2156
-@org.eclipse.m2e.core=1.11.0.20190220-2119
-@org.eclipse.m2e.discovery=1.11.0.20190220-2119
-@org.eclipse.m2e.editor.xml=1.11.0.20190220-2119
-@org.eclipse.pde.api.tools=1.1.600.v20190215-1035
-@org.eclipse.pde.core=3.12.300.v20190214-2042
-@org.eclipse.pde.ui=3.10.600.v20190222-1655
-@org.eclipse.team.core=3.8.500.v20190216-2155
-@org.eclipse.team.ui=3.8.400.v20190216-2155
-@org.eclipse.ui=3.112.0.v20190205-1313
-@org.eclipse.ui.browser=3.6.300.v20180828-0837
-@org.eclipse.ui.editors=3.11.400.v20190218-1547
-@org.eclipse.ui.ide=3.15.0.v20190301-1127
-@org.eclipse.ui.monitoring=1.1.300.v20180828-1350
-@org.eclipse.ui.trace=1.1.400.v20190214-1655
-@org.eclipse.ui.views.log=1.2.500.v20190218-0617
-@org.eclipse.ui.workbench=3.113.0.v20190219-1432
-@org.eclipse.wst.css.core=1.2.0.v201901071922
-@org.eclipse.wst.css.ui=1.1.100.v201901071922
-@org.eclipse.wst.dtd.ui=1.1.100.v201901071922
-@org.eclipse.wst.html.core=1.3.0.v201901310548
-@org.eclipse.wst.html.ui=1.1.100.v201901071922
-@org.eclipse.wst.jsdt.core=2.0.302.v201804042202
-@org.eclipse.wst.jsdt.debug.core=3.2.200.v201610211901
-@org.eclipse.wst.jsdt.ui=2.0.301.v201710051729
-@org.eclipse.wst.jsdt.web.core=1.1.0.v201901071922
-@org.eclipse.wst.json.core=1.1.0.v201901152013
-@org.eclipse.wst.json.ui=1.0.200.v201901071922
-@org.eclipse.wst.server.core=1.10.0.v201901310132
-@org.eclipse.wst.server.ui=1.5.401.v201901310132
-@org.eclipse.wst.sse.core=1.2.100.v201901310548
-@org.eclipse.wst.sse.ui=1.5.100.v201903050402
-@org.eclipse.wst.validation=1.2.701.v201810290944
-@org.eclipse.wst.xml.core=1.2.200.v201901071922
-@org.eclipse.wst.xml.ui=1.2.200.v201901071922
-@org.springframework.ide.eclipse.boot=3.9.8.201903260659-RELEASE
-@org.springframework.ide.eclipse.boot.dash=3.9.8.201903260659-RELEASE
-@org.springframework.ide.eclipse.imports=3.9.8.201903260659-RELEASE
-@org.springsource.ide.eclipse.commons.frameworks.core=3.9.8.201903260646-RELEASE
-@org.springsource.ide.eclipse.commons.ui=3.9.8.201903260646-RELEASE
+@org.eclipse.jdt.core=3.29.0.v20220214-1307
+@org.eclipse.jdt.debug=3.19.100.v20220301-0551
+@org.eclipse.jdt.launching=3.19.500.v20220125-2008
+@org.eclipse.jdt.ui=3.26.0.v20220222-0629
+@org.eclipse.ui.trace=1.2.100.v20211215-1038
+@org.eclipse.ui.workbench=3.125.0.v20220308-0722
file_export_version=3.0
diff --git a/Vagrant/resources/eclipse/provision.sh b/Vagrant/resources/eclipse/provision.sh
index f7cd904..3138b4f 100644
--- a/Vagrant/resources/eclipse/provision.sh
+++ b/Vagrant/resources/eclipse/provision.sh
@@ -1,57 +1,56 @@
-#!/bin/bash
+#!/usr/bin/env bash
-. /vagrant/resources/provision-common.sh || exit 127
+# shellcheck disable=SC1091
+source /vagrant/resources/provision-common.sh || exit 127
-cd /opt
+cd /opt || exit
-# do_install https://download.springsource.com/release/STS4/4.2.0.RELEASE/dist/e4.11/spring-tool-suite-4-4.2.0.RELEASE-e4.11.0-linux.gtk.x86_64.tar.gz || die 1
-do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/download.springsource.com/release/STS4/4.2.0.RELEASE/dist/e4.11/spring-tool-suite-4-4.2.0.RELEASE-e4.11.0-linux.gtk.x86_64.tar.gz || die 1
+# do_install https://download.springsource.com/release/STS4/4.13.0.RELEASE/dist/e4.22/spring-tool-suite-4-4.13.0.RELEASE-e4.22.0-linux.gtk.x86_64.tar.gz || die 1
+do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/download.springsource.com/release/STS4/4.13.0.RELEASE/dist/e4.22/spring-tool-suite-4-4.13.0.RELEASE-e4.22.0-linux.gtk.x86_64.tar.gz || die 1
log "Configurant Eclipse ..."
-cd sts-4.2* || die 2
+cd sts-4.13* || die 2
#
# cp to multiple targets
#
-multi_cp () {
- local SRC=$1
- shift
- /bin/ls -d $* | xargs -L1 cp -vfr $SRC
+function multi_cp () {
+ local SRC="${1}"
+ shift
+ /bin/ls -d $* | xargs -L1 cp -vfr "${SRC}"
}
#
# @param 1 URL
# @see https://stackoverflow.com/a/52887282/97799
#
-marketplace_install_cli () {
+function marketplace_install_cli () {
+ local -r URL="${1}"
+ local -r MID=$(echo "${URL}" | grep -E -o '=[0-9]+$' | cut -f2 -d=)
- URL=$1
- MID=$(echo $URL | egrep -o '=[0-9]+$' | cut -f2 -d=)
+ rm p 2>/dev/null
+ # wget -nv https://marketplace.eclipse.org/node/$MID/api/p || die 3
+ wget -nv "https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/marketplace.eclipse.org/node/${MID}/api/p" || die 3
- rm p 2>/dev/null
- # wget -nv https://marketplace.eclipse.org/node/$MID/api/p || die 3
- wget -nv https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/marketplace.eclipse.org/node/$MID/api/p || die 3
+ local -r UPDATE_URL=$(grep -E -i '' p | grep -E -o '>[^<]+' | cut -c2-)
+ local -r IUS=$(grep -e '' p | grep -E -o '>[^<]+' | cut -c2-)
+ local PARAMS="-repository ${UPDATE_URL}"
+ rm p
+ for iu in $IUS ; do
+ PARAMS="${PARAMS} -installIU ${iu}"
+ done
- UPDATE_URL=$(egrep -i '' p | egrep -o '>[^<]+' | cut -c2-)
- PARAMS="-repository $UPDATE_URL"
+ log "marketplace_install_cli ${URL} :: [${PARAMS}]"
- IUS=$(egrep '' p | egrep -o '>[^<]+' | cut -c2-)
- rm p
- for iu in $IUS ; do
- PARAMS="$PARAMS -installIU $iu"
- done
-
- log "marketplace_install_cli $URL :: [$PARAMS]"
-
- ./SpringToolSuite4 -nosplash -application org.eclipse.equinox.p2.director $PARAMS || die 4
+ ./SpringToolSuite4 -nosplash -application org.eclipse.equinox.p2.director $PARAMS || die 4
}
-_RESOURCES=/vagrant/resources/eclipse
-
-multi_cp $_RESOURCES/splash.bmp ./plugins/org.eclipse.platform_*/splash.bmp ./plugins/org.springframework.boot.ide.branding_*/splash.bmp
+declare -r _RESOURCES=/vagrant/resources/eclipse
-cp -vfr $_RESOURCES/icon.xpm .
+multi_cp "${_RESOURCES}/splash.bmp" ./plugins/org.springframework.boot.ide.branding_*/splash.bmp
+cp -vfr "${_RESOURCES}/splash.bmp" ./plugins/org.eclipse.platform_*/
+cp -vfr "${_RESOURCES}/icon.xpm" .
./SpringToolSuite4 -nosplash -application org.eclipse.equinox.p2.director -repository 'https://hudson.intranet.gencat.cat/nexus/repository/canigo-group-maven2/cat/gencat/ctti/canigo.plugin/update-site/' -installIU cat.gencat.ctti.canigo.feature.feature.group || die 5
@@ -68,9 +67,9 @@ marketplace_install_cli 'http://marketplace.eclipse.org/marketplace-client-intro
cat split_eclipse-conf-patch* > eclipse-conf-patch.tar.xz
-for f in eclipse-conf-patch.tar.xz workspaces.tar.xz ; do
- log "Treballant amb l'arxiu $f ..."
- tar -xJf $_RESOURCES/$f -C /opt
+for file in eclipse-conf-patch.tar.xz workspaces.tar.xz ; do
+ log "Treballant amb l'arxiu ${file} ..."
+ tar -xJf "${_RESOURCES}/${file}" -C /opt
done
# WARNING :: Si hi ha canvis de la ruta del WORKSPACE s'ha de canviar també a /resources/home_canigo/provision.sh
diff --git a/Vagrant/resources/home_canigo/provision.sh b/Vagrant/resources/home_canigo/provision.sh
index 346d335..7320a3f 100644
--- a/Vagrant/resources/home_canigo/provision.sh
+++ b/Vagrant/resources/home_canigo/provision.sh
@@ -1,13 +1,13 @@
-#!/bin/bash
+#!/usr/bin/env bash
-. /vagrant/resources/provision-common.sh || exit 127
+# shellcheck disable=SC1091
+source /vagrant/resources/provision-common.sh || exit 127
log "Configurant usuari canigo ..."
#if [ -d /home/canigo ]; then
-#
-# rm -fr /home/canigo || die 1
-# mkdir -p /home/canigo || die 8
+# rm -fr /home/canigo || die 1
+# mkdir -p /home/canigo || die 8
#fi
cd /home || die 2
@@ -18,27 +18,34 @@ cd /home || die 2
# mkdir t1; cp -r [D-V]* .[c-l]* .mozilla/ .pki/ .[s-x]* .Xauthority .xsession-errors* t1
# cd ..
-_RESOURCES=/vagrant/resources/home_canigo
+declare -r _RESOURCES=/vagrant/resources/home_canigo
-tar -xvJf $_RESOURCES/init.tar.xz --overwrite -C /home || die 3
+tar -xvJf ${_RESOURCES}/init.tar.xz --overwrite -C /home || die 3
+cp -vfr ${_RESOURCES}/resources/* /home/canigo || die 4
+cp -vfr ${_RESOURCES}/resources/.[a-z]* /home/canigo || die 5
+tar -xvJf ${_RESOURCES}/.jedit.tar.xz --overwrite -C /home/canigo || die 6
-cp -vfr $_RESOURCES/resources/* /home/canigo || die 4
-cp -vfr $_RESOURCES/resources/.[a-z]* /home/canigo || die 5
+for folder in Documents Downloads Music Templates Videos .m2 ; do mkdir -p "/home/canigo/${folder}" ; done
-tar -xvJf $_RESOURCES/.jedit.tar.xz --overwrite -C /home/canigo || die 6
-
-for f in Documents Downloads Music Templates Videos; do mkdir /home/canigo/$f; done
+# ADD Desktop icons
+cp -vfr ${_RESOURCES}/resources/Desktop/* /home/canigo/.local/share/applications/ || die 7
+chmod -R a+w /home/canigo/.local/share/applications/
# FIX INTCAN-1792 Problemes integració plugin de Canigó
-ln -s /opt/apache-maven-*/conf/settings.xml /home/canigo/.m2/settings.xml || die 7
+ln -s /opt/apache-maven-*/conf/settings.xml /home/canigo/.m2/settings.xml || die 8
# FIX Keyboard xset rate https://askubuntu.com/a/1014269/507470
sed -i -E 's:r rate [0-9]+ [0-9]+:r rate 300 50:' /home/canigo/.config/autostart/LXinput-setup.desktop
# Històricament a Documents/ hi havia el workspace, i per aquest motiu es crea un enllaç
-ln -s /opt/workspaces/workspace-canigo /home/canigo/Documents/workspace-canigo || die 8
+ln -s /opt/workspaces/workspace-canigo /home/canigo/Documents/workspace-canigo || die 9
# FIX Informació .desktop des-alineada amb la versió que es pot instal·lar via snap
-ln -s /var/lib/snapd/desktop/applications/code_code.desktop /home/canigo/Desktop/code_code.desktop || die 9
+ln -s /var/lib/snapd/desktop/applications/code_code.desktop /home/canigo/Desktop/code_code.desktop || die 10
chown -R canigo:canigo /home/canigo
+
+# Mark trusted desktop's files
+# https://askubuntu.com/questions/1056591/how-do-i-mark-a-desktop-file-as-trusted-in-ubuntu-18-04
+chmod ug+wx /home/canigo/Desktop/*.desktop
+for file in /home/canigo/Desktop/*.desktop; do su - canigo -c "dbus-launch gio set ${file} \"metadata::trusted\" true" ; done
diff --git a/Vagrant/resources/home_canigo/resources/.bash_aliases b/Vagrant/resources/home_canigo/resources/.bash_aliases
index 3690b5d..f8904b6 100644
--- a/Vagrant/resources/home_canigo/resources/.bash_aliases
+++ b/Vagrant/resources/home_canigo/resources/.bash_aliases
@@ -42,5 +42,5 @@ unalias -a
alias java8='export JAVA_HOME=$JAVA_HOME8; export PATH=$JAVA_HOME/bin:$PATH'
alias java11='export JAVA_HOME=$JAVA_HOME11; export PATH=$JAVA_HOME/bin:$PATH'
## Entorns node
- alias node8='export PATH=$NODE_V8/bin:$PATH'
- alias node10='export PATH=$NODE_V10/bin:$PATH'
+ alias node14='export PATH=$NODE_V14/bin:$PATH'
+ alias node16='export PATH=$NODE_V16/bin:$PATH'
diff --git a/Vagrant/resources/home_canigo/resources/.bashrc b/Vagrant/resources/home_canigo/resources/.bashrc
index 2dc9ca0..0d1e571 100644
--- a/Vagrant/resources/home_canigo/resources/.bashrc
+++ b/Vagrant/resources/home_canigo/resources/.bashrc
@@ -74,14 +74,11 @@ esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
- test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
- alias ls='ls --color=auto'
- #alias dir='dir --color=auto'
- #alias vdir='vdir --color=auto'
-
- alias grep='grep --color=auto'
- alias fgrep='fgrep --color=auto'
- alias egrep='egrep --color=auto'
+ test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
+ alias ls='ls --color=auto'
+ alias grep='grep --color=auto'
+ alias fgrep='fgrep --color=auto'
+ alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
@@ -98,7 +95,7 @@ alias l='ls -CF'
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
- . ~/.bash_aliases
+ . ~/.bash_aliases
fi
# Add an "alert" alias for long running commands. Use like so:
@@ -107,7 +104,7 @@ alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo
if [ -f ~/.bash_functions ]; then
- . ~/.bash_functions
+ . ~/.bash_functions
fi
# enable programmable completion features (you don't need to enable
@@ -121,6 +118,5 @@ if ! shopt -oq posix; then
fi
fi
-# setxkbmap -layout 'es,es' -model pc105
-java8
-
+java11
+node16
diff --git a/Vagrant/resources/home_canigo/resources/.profile b/Vagrant/resources/home_canigo/resources/.profile
index b110ca5..7ea5b48 100644
--- a/Vagrant/resources/home_canigo/resources/.profile
+++ b/Vagrant/resources/home_canigo/resources/.profile
@@ -12,41 +12,38 @@ export GIT_SSH=/usr/bin/ssh
export GIT_EDITOR="vim"
export JAVA_HOME8=/usr/lib/jvm/java-8-openjdk-amd64
-export JAVA_HOME11=/opt/jdk-11.0.2
-export JAVA_HOME=$JAVA_HOME8
-
+export JAVA_HOME11=/usr/lib/jvm/java-11-openjdk-amd64
# export JAVA_OPTS="-verbose:gc"
export JAVA_OPTS="$JAVA_OPTS -Xms256m -Djava.net.preferIPv4Stack=true"
-export NODE_V8=/opt/node-v8.15.1-linux-x64
-export NODE_V10=/opt/node-v10.15.3-linux-x64
+export NODE_V14=/opt/node-v14.19.3-linux-x64
+export NODE_V16=/opt/node-v16.15.0-linux-x64
# MAVEN
export M2_HOME=/opt/apache-maven*
export MAVEN_HOME=$M2_HOME
-export MAVEN_OPTS="$MAVEN_OPTS -Xmx1024m -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=30000"
+export MAVEN_OPTS="$MAVEN_OPTS -Xmx2048m -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=30000"
export MAVEN_OPTS="$JAVA_OPTS $MAVEN_OPTS"
# if running bash
if [ -n "$BASH_VERSION" ]; then
- # include .bashrc if it exists
- if [ -f "$HOME/.bashrc" ]; then
- . "$HOME/.bashrc"
- fi
+ # include .bashrc if it exists
+ if [ -f "$HOME/.bashrc" ]; then
+ . "$HOME/.bashrc"
+ fi
fi
# afegir al PATH groovy i apache
for f in `/bin/ls -d /opt/groovy* /opt/apache*` ; do
- export PATH="$f/bin:$PATH"
+ export PATH="$f/bin:$PATH"
done
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
- PATH="$HOME/bin:$PATH"
+ PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
- PATH="$HOME/.local/bin:$PATH"
+ PATH="$HOME/.local/bin:$PATH"
fi
-
diff --git a/Vagrant/resources/home_canigo/resources/Desktop/00LLEGEIX-ME.desktop b/Vagrant/resources/home_canigo/resources/Desktop/00LLEGEIX-ME.desktop
index 6f03928..57c6894 100644
--- a/Vagrant/resources/home_canigo/resources/Desktop/00LLEGEIX-ME.desktop
+++ b/Vagrant/resources/home_canigo/resources/Desktop/00LLEGEIX-ME.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=LLEGEIX-ME
-Type=Link
-URL=http://canigo.ctti.gencat.cat/canigo/entorn-desenvolupament/
+Type=Application
+Exec=firefox http://canigo.ctti.gencat.cat/canigo/entorn-desenvolupament/
#Icon=text-html
Icon=/home/canigo/Pictures/favicon.ico
diff --git a/Vagrant/resources/home_canigo/resources/Desktop/documentacio-framework.desktop b/Vagrant/resources/home_canigo/resources/Desktop/documentacio-framework.desktop
index 937538a..25c4978 100644
--- a/Vagrant/resources/home_canigo/resources/Desktop/documentacio-framework.desktop
+++ b/Vagrant/resources/home_canigo/resources/Desktop/documentacio-framework.desktop
@@ -1,6 +1,6 @@
-[Desktop Entry]
-Name=Documentació Framework
-Type=Link
-URL=http://canigo.ctti.gencat.cat/canigo-documentacio-versions-3x/
-#Icon=text-html
-Icon=/home/canigo/Pictures/favicon.ico
+[Desktop Entry]
+Name=Documentació Framework
+Type=Application
+Exec=firefox http://canigo.ctti.gencat.cat/canigo-documentacio-versions-3x/
+#Icon=text-html
+Icon=/home/canigo/Pictures/favicon.ico
diff --git a/Vagrant/resources/home_canigo/resources/Desktop/eclipse.desktop b/Vagrant/resources/home_canigo/resources/Desktop/eclipse.desktop
index cef9df4..fb42c1a 100644
--- a/Vagrant/resources/home_canigo/resources/Desktop/eclipse.desktop
+++ b/Vagrant/resources/home_canigo/resources/Desktop/eclipse.desktop
@@ -1,7 +1,7 @@
-[Desktop Entry]
-Name=Spring Tool Suite 4 (Eclipse)
-Type=Application
-Exec=/opt/sts-4.2.0.RELEASE/SpringToolSuite4
-Icon=/opt/sts-4.2.0.RELEASE/icon.xpm
-NoDisplay=false
-Categories=Development;IDE;
+[Desktop Entry]
+Name=Spring Tool Suite 4 (Eclipse)
+Type=Application
+Exec=/opt/sts-4.13.0.RELEASE/SpringToolSuite4
+Icon=/opt/sts-4.13.0.RELEASE/icon.xpm
+NoDisplay=false
+Categories=Development;IDE;
diff --git a/Vagrant/resources/home_canigo/resources/Desktop/git.desktop b/Vagrant/resources/home_canigo/resources/Desktop/git.desktop
index 4c88594..bd8aefb 100644
--- a/Vagrant/resources/home_canigo/resources/Desktop/git.desktop
+++ b/Vagrant/resources/home_canigo/resources/Desktop/git.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=Git Gencat
-Type=Link
-URL=https://git.intranet.gencat.cat
+Type=Application
+Exec=firefox https://git.intranet.gencat.cat
#Icon=text-html
Icon=/home/canigo/Pictures/favicon.ico
diff --git a/Vagrant/resources/home_canigo/resources/Desktop/jenkins.desktop b/Vagrant/resources/home_canigo/resources/Desktop/jenkins.desktop
index 59ec6f8..e602b6d 100644
--- a/Vagrant/resources/home_canigo/resources/Desktop/jenkins.desktop
+++ b/Vagrant/resources/home_canigo/resources/Desktop/jenkins.desktop
@@ -1,7 +1,7 @@
-[Desktop Entry]
-Version=1.0
-Name=Jenkins SIC
-Type=Link
-URL=http://hudson.intranet.gencat.cat/hudson/
-#Icon=text-html
-Icon=/home/canigo/Pictures/favicon.ico
+[Desktop Entry]
+Version=1.0
+Name=Jenkins SIC
+Type=Application
+Exec=firefox https://icdc.sic.intranet.gencat.cat/
+#Icon=text-html
+Icon=/home/canigo/Pictures/favicon.ico
diff --git a/Vagrant/resources/home_canigo/resources/Desktop/jira.desktop b/Vagrant/resources/home_canigo/resources/Desktop/jira.desktop
index 280d55c..89d80fc 100644
--- a/Vagrant/resources/home_canigo/resources/Desktop/jira.desktop
+++ b/Vagrant/resources/home_canigo/resources/Desktop/jira.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=CSTD. Suport al desenvolupament
-Type=Link
-URL=https://cstd.ctti.gencat.cat/jiracstd
+Type=Application
+Exec=firefox https://cstd.ctti.gencat.cat/jiracstd
#Icon=text-html
Icon=/home/canigo/Pictures/favicon.ico
diff --git a/Vagrant/resources/home_canigo/resources/Desktop/soapui.desktop b/Vagrant/resources/home_canigo/resources/Desktop/soapui.desktop
index fb07bcb..9f0f60b 100644
--- a/Vagrant/resources/home_canigo/resources/Desktop/soapui.desktop
+++ b/Vagrant/resources/home_canigo/resources/Desktop/soapui.desktop
@@ -1,7 +1,7 @@
-[Desktop Entry]
-Name=SoapUI 5.5
-Type=Application
-Exec=/opt/SoapUI-5.5.0/bin/soapui.sh
-Icon=/home/canigo/Pictures/SoapUI-Logo-Green.png
-NoDisplay=false
-Categories=Development;IDE;
+[Desktop Entry]
+Name=SoapUI 5.7.0
+Type=Application
+Exec=/opt/SoapUI-5.7.0/bin/soapui.sh
+Icon=/home/canigo/Pictures/SoapUI-Logo-Green.png
+NoDisplay=false
+Categories=Development;IDE;
diff --git a/Vagrant/resources/home_canigo/resources/Desktop/web-canigo.desktop b/Vagrant/resources/home_canigo/resources/Desktop/web-canigo.desktop
index 0e6fbfc..62bc259 100644
--- a/Vagrant/resources/home_canigo/resources/Desktop/web-canigo.desktop
+++ b/Vagrant/resources/home_canigo/resources/Desktop/web-canigo.desktop
@@ -1,7 +1,7 @@
-[Desktop Entry]
-Version=1.0
-Name=Web Canigó
-Type=Link
-URL=http://canigo.ctti.gencat.cat
-#Icon=text-html
-Icon=/home/canigo/Pictures/favicon.ico
+[Desktop Entry]
+Version=1.0
+Name=Web Canigó
+Type=Application
+Exec=firefox http://canigo.ctti.gencat.cat
+#Icon=text-html
+Icon=/home/canigo/Pictures/favicon.ico
diff --git a/Vagrant/resources/home_canigo/settings.xml b/Vagrant/resources/home_canigo/settings.xml
new file mode 100755
index 0000000..3c3aeb9
--- /dev/null
+++ b/Vagrant/resources/home_canigo/settings.xml
@@ -0,0 +1,277 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.eclipse.jetty
+ cat.gencat.ctti
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ defaultProfile
+
+ true
+
+
+
+ canigo
+ https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-group-maven2/
+
+
+
+ true
+ false
+
+
+
+
+
+
+
diff --git a/Vagrant/resources/jedit/provision.sh b/Vagrant/resources/jedit/provision.sh
index 189e75d..b34a458 100644
--- a/Vagrant/resources/jedit/provision.sh
+++ b/Vagrant/resources/jedit/provision.sh
@@ -1,18 +1,19 @@
-#!/bin/bash
+#!/usr/bin/env bash
-. /vagrant/resources/provision-common.sh || exit 127
+# shellcheck disable=SC1091
+source /vagrant/resources/provision-common.sh || exit 127
-log "Instal.lant $0 ..."
+log "Instal.lant ${0} ..."
-cd $(mktemp -d) ; pwd
+cd "$(mktemp -d)" || exit ; pwd
# curl -L https://sourceforge.net/projects/jedit/files/jedit/5.5.0/jedit5.5.0install.jar/download -o jedit-install.jar
curl -L https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/sourceforge.net/projects/jedit/files/jedit/5.5.0/jedit5.5.0install.jar -o jedit-install.jar || die 1
-export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+export JAVA_HOME="${JAVA_HOME11:-"/usr/lib/jvm/java-11-openjdk-amd64"}"
export PATH=$JAVA_HOME/bin:$PATH
-cat</dev/null
for plugin in SideKick-1.8-bin.zip Highlight-2.2-bin.zip Console-5.1.4-bin.zip CommonControls-1.7.4-bin.zip ErrorList-2.3-bin.zip Code2HTML-0.7-bin.zip Navigator-2.7-bin.zip ; do
- # curl -s -S -L http://prdownloads.sourceforge.net/jedit-plugins/$plugin -o $plugin
- # wget -nv http://prdownloads.sourceforge.net/jedit-plugins/$plugin
- wget -nv https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/prdownloads.sourceforge.net/jedit-plugins/$plugin
- unzip $plugin -d /home/canigo/.jedit/jars
+ # curl -s -S -L http://prdownloads.sourceforge.net/jedit-plugins/$plugin -o $plugin
+ # wget -nv http://prdownloads.sourceforge.net/jedit-plugins/$plugin
+ wget -nv https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/prdownloads.sourceforge.net/jedit-plugins/$plugin
+ unzip $plugin -d /home/canigo/.jedit/jars
done
-log "Instal.lat $0"
+log "Instal.lat ${0}"
diff --git a/Vagrant/resources/maven/provision.sh b/Vagrant/resources/maven/provision.sh
index 34e6a64..b3bc4fd 100644
--- a/Vagrant/resources/maven/provision.sh
+++ b/Vagrant/resources/maven/provision.sh
@@ -1,42 +1,49 @@
-#!/bin/bash
+#!/usr/bin/env bash
-. /vagrant/resources/provision-common.sh || exit 127
-
-# do_install https://archive.apache.org/dist/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz
-do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/archive.apache.org/dist/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz || die 1
+# shellcheck disable=SC1091
+source /vagrant/resources/provision-common.sh || exit 127
+# do_install https://archive.apache.org/dist/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
+do_install https://sic.ctti.extranet.gencat.cat/nexus/content/groups/canigo-public-raw/archive.apache.org/dist/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz || die 1
log "Configurant Maven ..."
cd /opt/apache-maven-* || die 2
-export MAVEN_HOME=$PWD
-export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
-export PATH=$JAVA_HOME/bin:$PATH
+update-alternatives --install /usr/bin/mvn mvn /opt/apache-maven-3.8.5/bin/mvn 100
+
+declare -r _RESOURCES=/vagrant/resources/maven
-_RESOURCES=/vagrant/resources/maven
+cp -vfr "${_RESOURCES}/settings.xml" ./conf/
-cp -vfr $_RESOURCES/settings.xml ./conf/
+# To get mvn plugin help and check settings
+#su - canigo -c "mvn help:help clean:help war:help site:help deploy:help install:help compiler:help surefire:help failsafe:help eclipse:help"
-# su - canigo -c "$MAVEN_HOME/bin/mvn help:help clean:help war:help site:help deploy:help install:help compiler:help surefire:help failsafe:help eclipse:help"
+cd "$(mktemp -d)" || exit ; pwd
+declare -r TEMPO_DIR=$PWD
-cd $(mktemp -d) ; pwd
-TEMPO_DIR=$PWD
+cat< "${TEMPO_DIR}"/mvn-run.sh
-cat<$TEMPO_DIR/mvn-run.sh
+# https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/doc-files/net-properties.html
export MAVEN_OPTS="-Djava.net.preferIPv4Stack=true -Dsun.net.client.defaultConnectTimeout=60000 -Dsun.net.client.defaultReadTimeout=30000"
-cd $TEMPO_DIR;
+cd ${TEMPO_DIR};
-$MAVEN_HOME/bin/mvn -B archetype:generate -DarchetypeGroupId=cat.gencat.ctti -DarchetypeArtifactId=plugin-canigo-archetype-rest -DarchetypeVersion=LATEST -DartifactId=AppCanigo -DgroupId=cat.gencat.ctti -Dversion=1.0
+mvn -B archetype:generate \
+ -DarchetypeGroupId=cat.gencat.ctti \
+ -DarchetypeArtifactId=plugin-canigo-archetype-rest \
+ -DarchetypeVersion=LATEST \
+ -DartifactId=AppCanigo \
+ -DgroupId=cat.gencat.ctti \
+ -Dversion=1.0
cd AppCanigo
-$MAVEN_HOME/bin/mvn -B clean package failsafe:integration-test
-$MAVEN_HOME/bin/mvn -B dependency:resolve -Dclassifier=sources
-$MAVEN_HOME/bin/mvn -B dependency:resolve -Dclassifier=javadoc
+mvn -B clean package failsafe:integration-test
+mvn -B dependency:resolve -Dclassifier=sources
+mvn -B dependency:resolve -Dclassifier=javadoc
EOF
-chown -R canigo:canigo $TEMPO_DIR
+chown -R canigo:canigo "${TEMPO_DIR}"
-su - canigo -c "bash $TEMPO_DIR/mvn-run.sh"
+su - canigo -c "bash ${TEMPO_DIR}/mvn-run.sh || true"
diff --git a/Vagrant/resources/provision-common.sh b/Vagrant/resources/provision-common.sh
index 3d53bed..7871930 100644
--- a/Vagrant/resources/provision-common.sh
+++ b/Vagrant/resources/provision-common.sh
@@ -1,114 +1,100 @@
-### sourced
+#!/usr/bin/env bash
-log () {
- echo "$(date "+%d-%m-%Y %H:%M:%S") $0 [provision] $*"
+function log () {
+ echo "$(date "+%d-%m-%Y %H:%M:%S") ${0} [provision] ${*}"
}
-die () {
- log "[ERROR] $*. Exiting..."
- exit $1
+function die () {
+ log "[ERROR] ${*}. Exiting..."
+ exit "${1}"
}
-_apt_get () {
- apt-get -q -y $*
+function _apt_get () {
+ apt-get -q -y $@
}
-_wget () {
- wget -q -O $*
+function _wget () {
+ wget -q -O "$@"
}
-_prepare_and_reboot () {
+function _prepare_and_reboot () {
+ log "Preparant següent fase (${1}) ..."
- log "Preparant següent fase ($1) ..."
-
-cat > /provision.sh.crontab< /provision.sh.crontab< "${__TMP}" || die 1
- lynx -dump $1 > $__TMP || die 1
+ _URL=$(grep -E -o "${2}" $__TMP | grep -E '\.(zip|gz|tgz|xz|bz|bz2)$' | head -1)
+ [ -z "${_URL}" ] && die 2
- _URL=$(egrep -o $2 $__TMP | egrep '\.(zip|gz|tgz|xz|bz|bz2)$' | head -1)
- [ -z $_URL ] && die 2
-
- do_install $_URL
+ do_install "${_URL}"
}
wait4jobs () {
-
- while true; do
- jobs >/dev/null
- jobs -r | wc -l | grep -q ^0 && break
- sleep 3
- done
-}
\ No newline at end of file
+ while true; do
+ jobs >/dev/null
+ jobs -r | wc -l | grep -q ^0 && break
+ sleep 3
+ done
+}