001/* Copyright 2011-2012 the original author or authors: 002 * 003 * Marc Palmer (marc@grailsrocks.com) 004 * Stéphane Maldini (smaldini@vmware.com) 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); 007 * you may not use this file except in compliance with the License. 008 * You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.grails.plugin.platform.events.utils; 019 020import org.springframework.aop.TargetClassAware; 021import org.springframework.aop.framework.Advised; 022import org.springframework.aop.support.AopUtils; 023 024/** 025 * Created with IntelliJ IDEA. 026 * User: smaldini 027 * Date: 8/3/12 028 * Time: 3:30 PM 029 * To change this template use File | Settings | File Templates. 030 */ 031public class EventsUtils { 032 033 static public Object unproxy(Object candidate) { 034 035 if (candidate instanceof Advised) { 036 try { 037 return ((Advised) candidate).getTargetSource().getTarget(); 038 } catch (Exception e) { 039 } 040 } 041 return candidate; 042 } 043}