/** * Generates a default name if one is not provided */ private String getName(Element element, String errorHeader) { String name = element.getAttribute("name"); if (name != null && !name.equals("")) { return name; } return getName(errorHeader); }
public void undeployDeclare(Element pointcut) throws Exception { String name = getName(pointcut, "declare"); manager.removeDeclare(name); }
public void undeployArrayBinding(Element element) throws Exception { String binding = getName(element, "arraybinding"); if (binding == null) throw new RuntimeException("undeploying Arraybinding that is null!"); manager.removeArrayBinding(binding);//done in bulkUndeploy() step }
public void undeployPrepare(Element pointcut) throws Exception { String name = getName(pointcut, "prepare"); manager.removePointcut(name); }
public void undeployArrayReplacement(Element pointcut) throws Exception { String name = getName(pointcut, "arrayReplacement"); manager.removeArrayReplacement(name); }
public void undeployBinding(Element element) throws Exception { String binding = getName(element, "binding"); if (binding == null) throw new RuntimeException("undeploying Binding that is null!"); //manager.removeBinding(binding);//done in bulkUndeploy() step bindings.add(binding); unloadInterceptors(element); String pointcut = getName("pointcut"); manager.removePointcut(pointcut); }
public void undeployClassMetaData(Element element) throws Exception { String classExpr = element.getAttribute("class"); String tag = element.getAttribute("tag"); String name = getName(element, "metadata: " + tag + " " + classExpr); manager.removeClassMetaData(name); }
public void undeployIntroductionPointcut(Element pointcut) throws Exception { String name = getName(pointcut, "introduction-pointcut"); manager.removeInterfaceIntroduction(name); }
private ClassMetaDataBinding loadMetaData(Element element) throws Exception { String classExpr = element.getAttribute("class"); String tag = element.getAttribute("tag"); String name = getName(element, "metadata: " + tag + " " + classExpr); ClassMetaDataLoader loader = manager.findClassMetaDataLoader(tag); return loader.importMetaData(element, name, tag, classExpr); }
public void deployPrepare(Element pointcut) throws Exception { String name = getName(pointcut, "prepare"); String expr = pointcut.getAttribute("expr"); if (expr != null && expr.trim().equals("")) { throw new RuntimeException("pointcut declaration must have an expr associated with it"); } Pointcut p = null; try { p = new PointcutExpression(name, expr); } catch (ParseException ex) { throw new RuntimeException("<prepare> failed: " + expr, ex); } manager.addPointcut(p); }
public void deployDeclare(Element pointcut, String tagName) throws Exception { String name = getName(pointcut, "declare"); String expr = pointcut.getAttribute("expr"); if (expr == null || expr.trim().equals("")) { throw new RuntimeException("declare declaration must have an expr associated with it"); } boolean warning = (tagName.equals("declare-warning")); String msg = XmlHelper.getElementContent(pointcut); try { DeclareDef declare = new DeclareDef(name, expr, warning, msg); manager.addDeclare(declare); } catch (ParseException ex) { throw new RuntimeException("<declare name='" + name + "' expr='" + expr + "'/> failed", ex); } }
private void deployPrecedence(Element element) throws Exception String name = getName(element, "precedence");
public void deployArrayReplacement(Element pointcut) throws Exception String name = getName(pointcut, "arrayReplacement"); String classExpr = pointcut.getAttribute("class"); if (classExpr != null && classExpr.trim().equals(""))
public void deployArrayBinding(Element element) throws Exception { String name = getName(element, "arraybinding"); String type = element.getAttribute("type"); if (type == null || type.trim().equals("")) { throw new RuntimeException("Binding must have a type"); } Type theType = Type.valueOf(type); ArrayList<InterceptorFactory> interceptors = loadInterceptors(element); InterceptorFactory[] inters = interceptors.toArray(new InterceptorFactory[interceptors.size()]); for (int i = 0 ; i < inters.length ; i++) { if (!inters[i].getAspect().getScope().equals(Scope.PER_VM)) { throw new RuntimeException("Only PER_VM scoped aspects/interceptors can be used in arraybindings"); } } ArrayBinding binding = new ArrayBinding(name, inters, theType); manager.addArrayBinding(binding); }
public void deployIntroductionPointcut(Element pointcut) throws Exception String name = getName(pointcut, "introduction"); String classExpr = pointcut.getAttribute("class"); if (classExpr != null && classExpr.trim().equals(""))