Skip to content

Instantly share code, notes, and snippets.

Avatar
👨‍💻

Samuel samuelstein

👨‍💻
View GitHub Profile
@samuelstein
samuelstein / Cookbook_Self-Hosting_Directus_9.md
Last active April 11, 2023 21:00
Cookbook Self-Hosting Directus 9 Headless CMS
@samuelstein
samuelstein / AppConfiguration.java
Created February 22, 2023 20:02
Spring Boot RestTemplate with GZIP Support
View AppConfiguration.java
package de.samuelstein.project.configuration;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Primary;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
@samuelstein
samuelstein / gitlab-ci-database.yml
Created March 4, 2021 12:56
PostgreSQL import schema and data into docker container with gitlab ci
View gitlab-ci-database.yml
.docker_build_database:
extends: .docker_base
variables:
PGPASSWORD: postgres
POSTGRES_IMAGE: "${CI_REGISTRY}/${CI_PROJECT_PATH}/postgres:latest"
SPECIFIC_IMAGE_NAME: database
DOCKER_TAG: latest
before_script: &docker_build_database_before_script
- export DOCKER_IMAGE="${CI_REGISTRY}/${CI_PROJECT_PATH}/${SPECIFIC_IMAGE_NAME}"
- *docker_base_before_script
@samuelstein
samuelstein / SeleniumHelper.java
Created November 18, 2020 08:59
HTTP Requests with Selenium
View SeleniumHelper.java
public ResponseEntity<String> doJsonRequest(HttpMethod httpMethod, String path, Object body) throws URISyntaxException {
RestTemplate restTemplate = new RestTemplate(new HttpComponentsClientHttpRequestFactory());
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add(COOKIE, getWebdriver().manage().getCookieNamed(YOUR_APP_COOKIE_NAME).toString());
headers.setAccept(List.of(MediaType.APPLICATION_JSON, MediaType.TEXT_HTML));
var request = new HttpEntity<>(body, headers);
return restTemplate.exchange(new URI("http", null, hostIpAddress, port, path, null, null), httpMethod, request, String.class);
@samuelstein
samuelstein / generic_list_gson.java
Created October 23, 2018 09:40
Deserialize generic list with gson
View generic_list_gson.java
Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType();
List<YourClass> yourClassList = new Gson().fromJson(jsonArray, listType);
View FileWatcher.java
import model.IFileWatchListener;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.IOException;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.List;
public class FileWatcher extends Thread {
View FontAwesomeOffline.java
/**
* This is a wrapper class that registers the font awesome .ttf included in the package.
* ControlsFX loads this font dynamically at run time from a CDN. Thus, it works only if Internet
* connection is available
* .
* This class registers an included version of the font. The {@link #init()} method should be called
* during the initialization procedure of the application such that the font is available early.
*
* @author albrecht
*/
@samuelstein
samuelstein / clearView.groovy
Created October 23, 2018 09:37
Clear jenkins view with jobs
View clearView.groovy
import hudson.model.ListView
import jenkins.model.*
//Parameters: In case you are running this outside Scriptler, please uncomment and fill the following line.
view_name = "ViewName";
vc = Jenkins.instance.getView(view_name).getOwner();
v = vc.getView(view_name);
//delete jobs belonging to the view
@samuelstein
samuelstein / jenkins-seed.groovy
Created February 7, 2018 10:32
Jenkins Seed job for Gitlab projects
View jenkins-seed.groovy
// jenkins job dsl plugin is required!
// This job will be run through the gitlab projects (except user owned ones) and generate jenkins jobs with maven goal. if there should be no job generated, then the label 'nojob' must be set in repository config.
// reads projects from gitlab and creates jobs
def gitUrl = '$URL'
def privateToken = '$TOKEN'
def allowedNamespaces = ['product', 'innovation']
def reposToIgnoreTag = 'nojob'
def jobNames = []
@samuelstein
samuelstein / HTTPSRedirectFilter.java
Created November 14, 2017 10:07
HTTPS Redirect filter for play framework (>=2.5)
View HTTPSRedirectFilter.java
package utils.filters;
import akka.stream.Materializer;
import play.Configuration;
import play.mvc.Filter;
import play.mvc.Http;
import play.mvc.Result;
import javax.inject.Inject;
import java.util.concurrent.CompletionStage;