Skip to content

Instantly share code, notes, and snippets.

@jeffsheets
jeffsheets / EMUserRepository.groovy
Last active March 23, 2017 17:53
UserRepository showing export false at type level, but export true at method level
//Filed Spring Data Rest bug
//https://jira.spring.io/browse/DATAREST-1034
//so check there for answers
@RepositoryRestResource(path='emUsers', exported = false)
interface EMUserRepository extends EnversRevisionRepository<EMUser, Long, Integer>, JpaSpecificationExecutor<EMUser> {
//Attempting, as an example, to expose only this /search/findByAuth0UserId endpoint
//but with @RepositoryRestResource(exported=false) this endpoint is not exported
//but with @RepositoryRestResource(exported=true) this endpoint is exported
@RestResource(exported = true)
@jeffsheets
jeffsheets / TreeTraversal.js
Created August 15, 2016 21:38
Javascript binary search, quick sort, depth first search, and breadth first search
//See full source with HTML at jsfiddle:
// https://jsfiddle.net/jeffsheets/ry2ns0s7/4/
function node(val, left, right) {
return {val: val, left: left, right: right, visited: false};
}
/*
@jeffsheets
jeffsheets / BinarySearch.groovy
Created August 8, 2016 13:53
BinarySearch, QuickSort, DepthFirstSearch, BreadthFirstSearch in groovy
class BinarySearch {
def bfs(def node, def result=[]) {
Queue queue = new LinkedList()
queue.add(node)
while (queue) {
def it = queue.poll()
result << it.val
@jeffsheets
jeffsheets / WorstFizzBuzzEver.java
Created July 14, 2016 19:35
Worst FizzBuzz Ever in Java
import java.util.Arrays;
public class WorstFizzBuzzEver {
public static final String BUZZ = "Fizz";
public static final String FIZZ = "Buzz";
/*
* This does Fizz Buzz
*/
@jeffsheets
jeffsheets / HibernatePersistenceProviderResolver.java
Created May 20, 2016 19:51
Use JPA 2.1 and Hibernate 4.3.11 on Websphere 8.5.5.x
import org.hibernate.jpa.HibernatePersistenceProvider;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
import javax.persistence.spi.PersistenceProvider;
import javax.persistence.spi.PersistenceProviderResolver;
import javax.persistence.spi.PersistenceProviderResolverHolder;
import java.util.Collections;
import java.util.List;
@jeffsheets
jeffsheets / AbstractHandlerMethodMappingTestOverride.java
Created March 24, 2016 19:49
Spring MVC unit (minimal integration) test that uses Spring config for the controller setup
package org.springframework.web.servlet.handler
import org.springframework.web.context.WebApplicationContext
/**
* Workaround to register a controller with the WebAppContext because detectHandlerMethods is protected
*
* This allows our Mvc Unit tests to use the wired up Spring Jackson converters and mappers,
* without having to specify them individually in every test
*
@jeffsheets
jeffsheets / SpringAsyncListenableFutureCallbackSpec.groovy
Created September 4, 2015 17:19
Spring Async ListenableFutureCallback Spock test to validate that onFailure is handling exceptions raised in Async method
package com.sheetsj.spring.async.test
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.scheduling.annotation.Async
import org.springframework.scheduling.annotation.AsyncResult
import org.springframework.scheduling.annotation.EnableAsync
import org.springframework.test.context.ContextConfiguration
import org.springframework.util.concurrent.ListenableFuture
import org.springframework.util.concurrent.ListenableFutureCallback
@jeffsheets
jeffsheets / sinonKarma.spec.js
Created September 1, 2015 15:17
Simple Karma spec using Sinon to mock a backend service for AngularJS testing
var someService;
beforeEach(inject(function (_someService_) {
someService = sinon.mock(_someService_);
}));
afterEach(function () {
entityServiceFactory.verify();
});
@jeffsheets
jeffsheets / ContentTypeMappingJackson2HttpMessageConverter.java
Created August 5, 2015 18:02
A MappingJackson2HttpMessageConverter that forces the response Content-Type header to be application/json
public class ContentTypeMappingJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter {
/**
* Always set the Content-Type response header to application/json when using the Jackson message converter
*
* Without this there appears to be a conflict with Meteor/Atmosphere servlet that causes Spring
* to leave the Content-Type blank in the response
* https://groups.google.com/forum/#!topic/atmosphere-framework/uZOrfXl3Bu8
*/
@Override
@jeffsheets
jeffsheets / CrazyDoodlePrivacyPolicy.txt
Created April 19, 2015 19:48
Crazy Doodle Privacy Policy
The Crazy Doodle app available on the Amazon Kindle and Google Play stores does NOT collect any information.