Skip to content
This repository has been archived by the owner on Mar 26, 2024. It is now read-only.

Commit

Permalink
Initial release
Browse files Browse the repository at this point in the history
  • Loading branch information
baua1310 committed Apr 6, 2023
1 parent 3b56d03 commit 108eafb
Show file tree
Hide file tree
Showing 132 changed files with 26,510 additions and 2 deletions.
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/target/
.idea/
.vscode/
.settings
.project
.classpath

*.iml
.DS_Store

# The following files are generated/updated by vaadin-maven-plugin
node_modules/
frontend/generated/
pnpmfile.js
vite.generated.ts

# Browser drivers for local integration tests
drivers/
# Error screenshots generated by TestBench for failed integration tests
error-screenshots/
webpack.generated.js

# Logging
*.log*
118 changes: 118 additions & 0 deletions .mvn/wrapper/MavenWrapperDownloader.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
/*
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.io.*;
import java.net.*;
import java.nio.channels.*;
import java.util.Properties;

public class MavenWrapperDownloader {

private static final String WRAPPER_VERSION = "0.5.6";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is
* provided.
*/
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";

/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl
* property to use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH = ".mvn/wrapper/maven-wrapper.properties";

/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH = ".mvn/wrapper/maven-wrapper.jar";

/**
* Name of the property which should be used to override the default download
* url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";

public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());

// If the maven-wrapper.properties exists, read it and check if it contains a
// custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if (mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if (mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: " + url);

File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if (!outputFile.getParentFile().exists()) {
if (!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}

private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}

}
Binary file added .mvn/wrapper/maven-wrapper.jar
Binary file not shown.
18 changes: 18 additions & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.7/apache-maven-3.8.7-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar
6 changes: 6 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#
# NOTICE: this is an auto-generated file
#
# This file sets the default parameters for manual `pnpm install`.
#
shamefully-hoist=true
4 changes: 4 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module.exports = {
singleQuote: true,
printWidth: 120,
};
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2023 Julian Bauer
Copyright (c) 2022-2023 Julian Bauer

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand All @@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# IAM Reporting Module

Tool for periodically collecting IAM measurements from various sources, periodically calculating IAM metrics based on a
formula and displaying the metrics in reports for various IAM goals.

The tool was developed as part of the master thesis:
Design and implementation of an identity and access management reporting module based on metrics.
23 changes: 23 additions & 0 deletions frontend/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<!--
This file is auto-generated by Vaadin.
-->

<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
body, #outlet {
height: 100vh;
width: 100%;
margin: 0;
}
</style>
<!-- index.ts is included here automatically (either by the dev server or during the build) -->
</head>
<body>
<!-- This outlet div is where the views are rendered -->
<div id="outlet"></div>
</body>
</html>
42 changes: 42 additions & 0 deletions frontend/themes/iamreportingmodule/indicator.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
.indicator {
border-radius: var(--lumo-border-radius-l);
box-shadow: var(--lumo-box-shadow-xs);
cursor: var(--lumo-clickable-cursor);
padding: var(--lumo-space-m);
transition: box-shadow 0.3s ease-in-out;
position: relative;
text-align: center;
}

.indicator:hover {
box-shadow: var(--lumo-box-shadow-m);
}

.indicator-link {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.indicator-link:hover {
text-decoration: none;
}

.indicator-title {
font-size: var(--lumo-font-size-l);
color: var(--lumo-header-text-color);
font-weight: bold;
}

.indicator-value {
font-size: var(--lumo-font-size-xxxl);
color: var(--lumo-body-text-color);
font-weight: bold;
}

.indicator-unit {
font-size: var(--lumo-font-size-s);
color: var(--lumo-tertiary-text-color);
}
57 changes: 57 additions & 0 deletions frontend/themes/iamreportingmodule/main-layout.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
vaadin-app-layout[primary-section="navbar"]::part(navbar)::before {
background: var(--lumo-base-color) linear-gradient(var(--lumo-contrast-5pct), var(--lumo-contrast-5pct));
}

vaadin-app-layout[primary-section="drawer"]::part(navbar)::before {
background: var(--lumo-base-color);
}

vaadin-app-layout[primary-section="drawer"]::part(navbar) {
box-shadow: 0 1px 0 0 var(--lumo-contrast-10pct);
}

vaadin-app-layout[primary-section="drawer"]:not([overlay])::part(drawer) {
background: var(--lumo-shade-5pct);
border: 0;
box-shadow: 1px 0 0 0 var(--lumo-contrast-10pct), 1px 0 0 0 var(--lumo-base-color);
z-index: 1;
}

vaadin-drawer-toggle[slot="navbar"] {
color: var(--lumo-secondary-text-color);
}

::part(navbar) {
min-height: var(--lumo-size-xl);
}

::part(drawer) {
display: flex;
flex-direction: column;
}

vaadin-scroller[slot="drawer"] {
flex: 1;
padding: var(--lumo-space-s);
}

vaadin-scroller[slot="drawer"][overflow~="top"] {
border-top: 1px solid var(--lumo-contrast-10pct);
}

vaadin-scroller[slot="drawer"][overflow~="bottom"] {
border-bottom: 1px solid var(--lumo-contrast-10pct);
}

[slot="drawer"]:is(header, footer) {
display: flex;
align-items: center;
gap: var(--lumo-space-s);
padding: var(--lumo-space-s) var(--lumo-space-m);
min-height: var(--lumo-size-xl);
box-sizing: border-box;
}

[slot="drawer"]:is(header, footer):is(:empty) {
display: none;
}
2 changes: 2 additions & 0 deletions frontend/themes/iamreportingmodule/styles.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@import url('./main-layout.css');
@import url('line-awesome/dist/line-awesome/css/line-awesome.min.css');
3 changes: 3 additions & 0 deletions frontend/themes/iamreportingmodule/theme.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"lumoImports" : [ "typography", "color", "spacing", "badge", "utility" ]
}
Loading

0 comments on commit 108eafb

Please sign in to comment.