Package org.apache.felix.sigil.common.osgi

Examples of org.apache.felix.sigil.common.osgi.SimpleTerm


    private static void findTerms(String string, LDAPExpr expr, List<SimpleTerm> terms)
        throws SAXParseException
    {
        if (expr instanceof SimpleTerm)
        {
            SimpleTerm term = (SimpleTerm) expr;
            if (term.getName().equals(string))
            {
                terms.add(term);
            }
        }
        else
View Full Code Here


        boolean openFloor = false;
        boolean openCeiling = false;
        if (expr instanceof Not)
        {
            Not n = (Not) expr;
            SimpleTerm t = (SimpleTerm) n.getEx();
            if (t.getOp() == Ops.EQ)
            {
                throw new NumberFormatException(
                    "Unexpected point version in negated expression " + expr);
            }
            if (!isMax(t.getOp()))
            {
                max = toVersion(t);
                openCeiling = !openFloor(t);
            }
            else if (!isMin(t.getOp()))
            {
                min = toVersion(t);
                openFloor = !openCeiling(t);
            }
            else
            {
                throw new IllegalStateException("Unexpected operator " + t.getOp());
            }
        }
        else
        {
            SimpleTerm t = (SimpleTerm) expr;
            if (t.getOp().equals(Ops.EQ))
            {
                max = toVersion(t);
                min = max;
                openFloor = false;
                openCeiling = false;
            }
            else if (isMax(t.getOp()))
            {
                max = toVersion(t);
                openCeiling = openCeiling(t);
            }
            else if (isMin(t.getOp()))
            {
                min = toVersion(t);
                openFloor = openFloor(t);
            }
            else
            {
                throw new IllegalStateException("Unexpected operator " + t.getOp());
            }
        }

        return new VersionRange(openFloor, min, max, openCeiling);
    }
View Full Code Here

    private static void findExpr(String string, LDAPExpr expr, List<LDAPExpr> terms)
    {
        if (expr instanceof SimpleTerm)
        {
            SimpleTerm term = (SimpleTerm) expr;
            if (term.getName().equals(string))
            {
                terms.add(term);
            }
        }
        else if (expr instanceof Not)
        {
            Not not = (Not) expr;
            if (not.getEx() instanceof SimpleTerm)
            {
                SimpleTerm term = (SimpleTerm) not.getEx();
                if (term.getName().equals(string))
                {
                    terms.add(not);
                }
            }
        }
View Full Code Here

        log.info("Adding listener " + info);
        LDAPExpr expr = LDAPParser.parseExpression(info.getFilter());
        expr.visit(new ExprVisitor() {
          public void visitExpr(LDAPExpr expr) {
            if (expr instanceof SimpleTerm) {
              SimpleTerm term = (SimpleTerm) expr;
              if (term.getName().equals(Constants.OBJECTCLASS)) {
                watcher.addWatch(term.getRval(), info.getFilter());
              }
            }
          }
        });
      }
View Full Code Here

    for (final ListenerInfo info : (Collection<ListenerInfo>) listeners) {
      LDAPExpr expr = LDAPParser.parseExpression(info.getFilter());
      expr.visit(new ExprVisitor() {
        public void visitExpr(LDAPExpr expr) {
          if (expr instanceof SimpleTerm) {
            SimpleTerm term = (SimpleTerm) expr;
            if (term.getName().equals(Constants.OBJECTCLASS)) {
              watcher.removeWatch(term.getRval(), info.getFilter());
            }
          }
        }
      });
    }
View Full Code Here

TOP

Related Classes of org.apache.felix.sigil.common.osgi.SimpleTerm

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.