Skip to content
This repository was archived by the owner on May 22, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Build

on: [pull_request]

jobs:
compile:
runs-on: ubuntu-latest
name: Build
steps:
- uses: actions/checkout@master
- name: Setup java
uses: actions/setup-java@v1
with:
java-version: 1.8
- run: mvn clean install -Dcheckstyle.skip -q
15 changes: 15 additions & 0 deletions .github/workflows/checkstyle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Checkstyle

on: [pull_request]

jobs:
compile:
runs-on: ubuntu-latest
name: Checkstyle
steps:
- uses: actions/checkout@master
- name: Setup java
uses: actions/setup-java@v1
with:
java-version: 1.8
- run: mvn checkstyle:check -q
208 changes: 208 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@

# Created by https://www.gitignore.io/api/java,maven,eclipse,netbeans,intellij+all
# Edit at https://www.gitignore.io/?templates=java,maven,eclipse,netbeans,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/

# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet

### Eclipse Patch ###
# Eclipse Core
.project

# JDT-specific (Eclipse Java Development Tools)
.classpath

# Annotation Processing
.apt_generated

.sts4-cache/

### Intellij+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# 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

# 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/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

# 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

### Java ###
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

### Maven ###
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
.flattened-pom.xml

### NetBeans ###
**/nbproject/private/
**/nbproject/Makefile-*.mk
**/nbproject/Package-*.bash
build/
nbbuild/
dist/
nbdist/
.nb-gradle/

# End of https://www.gitignore.io/api/java,maven,eclipse,netbeans,intellij+all
46 changes: 46 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
![GitHub](https://img.shields.io/github/license/E-edu/java-common)
![GitHub top language](https://img.shields.io/github/languages/top/E-edu/java-common)

![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/E-edu/java-common)

![GitHub last commit (branch)](https://img.shields.io/github/last-commit/E-Edu/java-common/master?label=last%20commit%20%28master%29)
![GitHub last commit (branch)](https://img.shields.io/github/last-commit/E-Edu/java-common/experimental?label=last%20commit%20%28experimental%29)

# Gewia Common

This project contains the commonly shared code for all our
java based micro services (e.g. task and gateway).

This repository also is our reference implementation for some things.

## Scope
![Maven Central](https://img.shields.io/maven-central/v/com.gewia.common/scope)

[Based on this meeting changelog](https://github.com/E-Edu/concept/blob/master/changelog/meeting/20200420-conceptmeeting.md#8-roles--permissions)

We have a custom implementation of the widely known "scopes" used in OAuth2 for example.

This implementation standardized scopes for
every Gewia related project - so this is the reference implementation.

Some special features:
- Implementations with and without restrictions
- BasicScope (no restrictions)
- MicroServiceScope
- microService.topic.mode.scope.extra
- Merging (and de-merging)
- user.email.read+write+delete.all+beta
- Pre-defined scopes
- none (default)
- own
- self (only applicable to topics regarding a user itself)
- all
- beta
- Pre-defined modes
- read
- write
- delete

## License

This project is licensed under the MIT license.
Loading