Skip to content

Commit

Permalink
converted all Java classes to Groovy with @CompileStatic
Browse files Browse the repository at this point in the history
  • Loading branch information
burtbeckwith committed Aug 11, 2015
1 parent e6fc142 commit da06fa4
Show file tree
Hide file tree
Showing 79 changed files with 3,517 additions and 3,994 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,39 +12,40 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package grails.plugin.springsecurity;
package grails.plugin.springsecurity

import org.springframework.util.Assert;
import groovy.transform.CompileStatic

/**
* Converts a org.springframework.security.crypto.password.PasswordEncoder to a
* org.springframework.security.authentication.encoding.PasswordEncoder.
*
* @author <a href='mailto:burt@burtbeckwith.com'>Burt Beckwith</a>
*/
@SuppressWarnings("deprecation")
public class CryptoEncoderWrapper implements org.springframework.security.authentication.encoding.PasswordEncoder {
@SuppressWarnings('deprecation')
@CompileStatic
class CryptoEncoderWrapper implements org.springframework.security.authentication.encoding.PasswordEncoder {

protected final org.springframework.security.crypto.password.PasswordEncoder delegate;
protected final org.springframework.security.crypto.password.PasswordEncoder delegateEncoder

/**
* @param encoder
*/
public CryptoEncoderWrapper(org.springframework.security.crypto.password.PasswordEncoder encoder) {
delegate = encoder;
CryptoEncoderWrapper(org.springframework.security.crypto.password.PasswordEncoder encoder) {
delegateEncoder = encoder
}

public String encodePassword(String rawPass, Object salt) {
checkSalt(salt);
return delegate.encode(rawPass);
String encodePassword(String rawPass, salt) {
checkSalt salt
delegateEncoder.encode rawPass
}

public boolean isPasswordValid(String encPass, String rawPass, Object salt) {
checkSalt(salt);
return delegate.matches(rawPass, encPass);
boolean isPasswordValid(String encPass, String rawPass, salt) {
checkSalt salt
delegateEncoder.matches rawPass, encPass
}

protected void checkSalt(Object salt) {
Assert.isNull(salt, "Salt value must be null when used with crypto module PasswordEncoder");
protected void checkSalt(salt) {
assert salt == null, 'Salt value must be null when used with crypto module PasswordEncoder'
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package grails.plugin.springsecurity;
package grails.plugin.springsecurity

/**
* @author <a href='mailto:burt@burtbeckwith.com'>Burt Beckwith</a>
*/
public enum SecurityConfigType {
enum SecurityConfigType {

/** Annotations in controllers. */
Annotation,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package grails.plugin.springsecurity;
package grails.plugin.springsecurity

import groovy.lang.Closure;
import org.springframework.context.ApplicationContext
import org.springframework.context.ApplicationContextAware
import org.springframework.context.ApplicationEvent
import org.springframework.context.ApplicationListener
import org.springframework.security.access.event.AbstractAuthorizationEvent
import org.springframework.security.authentication.event.AbstractAuthenticationEvent
import org.springframework.security.authentication.event.AbstractAuthenticationFailureEvent
import org.springframework.security.authentication.event.AuthenticationSuccessEvent
import org.springframework.security.authentication.event.InteractiveAuthenticationSuccessEvent
import org.springframework.security.web.authentication.switchuser.AuthenticationSwitchUserEvent

import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.security.access.event.AbstractAuthorizationEvent;
import org.springframework.security.authentication.event.AbstractAuthenticationEvent;
import org.springframework.security.authentication.event.AbstractAuthenticationFailureEvent;
import org.springframework.security.authentication.event.AuthenticationSuccessEvent;
import org.springframework.security.authentication.event.InteractiveAuthenticationSuccessEvent;
import org.springframework.security.web.authentication.switchuser.AuthenticationSwitchUserEvent;
import groovy.transform.CompileStatic

/**
* Registers as an event listener and delegates handling of security-related events
Expand Down Expand Up @@ -57,39 +57,36 @@
*
* @author <a href='mailto:burt@burtbeckwith.com'>Burt Beckwith</a>
*/
public class SecurityEventListener implements ApplicationListener<ApplicationEvent>, ApplicationContextAware {
@CompileStatic
class SecurityEventListener implements ApplicationListener<ApplicationEvent>, ApplicationContextAware {

protected ApplicationContext applicationContext;
ApplicationContext applicationContext

public void onApplicationEvent(final ApplicationEvent e) {
void onApplicationEvent(ApplicationEvent e) {
if (e instanceof AbstractAuthenticationEvent) {
if (e instanceof InteractiveAuthenticationSuccessEvent) {
call(e, "onInteractiveAuthenticationSuccessEvent");
call e, 'onInteractiveAuthenticationSuccessEvent'
}
else if (e instanceof AbstractAuthenticationFailureEvent) {
call(e, "onAbstractAuthenticationFailureEvent");
call e, 'onAbstractAuthenticationFailureEvent'
}
else if (e instanceof AuthenticationSuccessEvent) {
call(e, "onAuthenticationSuccessEvent");
call e, 'onAuthenticationSuccessEvent'
}
else if (e instanceof AuthenticationSwitchUserEvent) {
call(e, "onAuthenticationSwitchUserEvent");
call e, 'onAuthenticationSwitchUserEvent'
}
}
else if (e instanceof AbstractAuthorizationEvent) {
call(e, "onAuthorizationEvent");
call e, 'onAuthorizationEvent'
}
}

@SuppressWarnings("rawtypes")
protected void call(final ApplicationEvent e, final String closureName) {
Object closure = SpringSecurityUtils.getSecurityConfig().get(closureName);
@SuppressWarnings('rawtypes')
protected void call(ApplicationEvent e, String closureName) {
def closure = SpringSecurityUtils.securityConfig[closureName]
if (closure instanceof Closure) {
((Closure)closure).call(new Object[] { e, applicationContext });
closure e, applicationContext
}
}

public void setApplicationContext(final ApplicationContext ctx) {
applicationContext = ctx;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package grails.plugin.springsecurity;
package grails.plugin.springsecurity

/**
* Stores the default order numbers of all Spring Security filters for use in configuration.
Expand All @@ -22,7 +22,7 @@
*
* @author <a href='mailto:burt@burtbeckwith.com'>Burt Beckwith</a>
*/
public enum SecurityFilterPosition {
enum SecurityFilterPosition {
/** First */
FIRST(Integer.MIN_VALUE),
/** HTTP/HTTPS channel filter */
Expand Down Expand Up @@ -66,25 +66,18 @@ public enum SecurityFilterPosition {
/** Switch user */
SWITCH_USER_FILTER,
/** Last */
LAST(Integer.MAX_VALUE);
LAST(Integer.MAX_VALUE)

private static final int INTERVAL = 100;
private static final int INTERVAL = 100

private final int order;
/** The position in the chain. */
final int order

private SecurityFilterPosition() {
order = ordinal() * INTERVAL;
order = ordinal() * INTERVAL
}

private SecurityFilterPosition(final int filterOrder) {
order = filterOrder;
}

/**
* The position in the chain.
* @return the order
*/
public int getOrder() {
return order;
private SecurityFilterPosition(int filterOrder) {
order = filterOrder
}
}
Loading

0 comments on commit da06fa4

Please sign in to comment.