Package org.archive.accesscontrol.model

Examples of org.archive.accesscontrol.model.Rule


     * @return
     * @throws IOException
     */
    public ModelAndView putRule(long id, HttpServletRequest request,
            HttpServletResponse response) throws IOException {
        Rule oldRule = ruleDao.getRule(id);
        if (oldRule == null) {
            return new ModelAndView(
                    view,
                    "object",
                    new SimpleError(
                            "Rule "
                                    + id
                                    + " does not exist.  To create a new rule POST it to /rules",
                            404));
        }

        Rule newRule = (Rule) view.deserializeRequest(request);
        newRule.setId(id);

        String comment = "Changed by REST client: "
                + request.getHeader("User-agent");
        if (request.getHeader("Comment") != null) {
            comment = request.getHeader("Comment");
View Full Code Here


                + request.getRemoteAddr();
        if (request.getHeader("User") != null) {
            user = request.getHeader("User") + " via " + user;
        }

        Rule rule = ruleDao.getRule(id);
        if (rule != null) {
            RuleChange change = new RuleChange(rule, RuleChange.DELETED,
                    new Date(), user, comment);
            ruleDao.deleteRule(id);
            ruleDao.saveChange(change);
View Full Code Here

     * @throws RobotsUnavailableException
     * @throws RuleOracleUnavailableException
     */
    public String getPolicy(String url, Date captureDate, Date retrievalDate,
            String who) throws RobotsUnavailableException, RuleOracleUnavailableException {
        Rule matchingRule = getRule(url, captureDate, retrievalDate, who);
       
        if (robotLookupsEnabled && matchingRule != null && "robots".equals(matchingRule.getPolicy())) {
            try {
                if (robotClient.isRobotPermitted(url, robotUserAgent)) {
                    return "allow";
                } else {
                    return "block";
                }
            } catch (IOException e) {
                throw new RobotsUnavailableException(e);
            }
        }
        return matchingRule.getPolicy();
    }
View Full Code Here

        String publicSuffix = PublicSuffixes
                .reduceSurtToTopmostAssigned(getSurtAuthority(surt));

            RuleSet rules =  ruleDao.getRuleTree(getScheme(surt) + "(" + publicSuffix);

        Rule matchingRule = rules.getMatchingRule(surt, captureDate,
                retrievalDate, who);
        return matchingRule;
    }
View Full Code Here

            }
        }
        Collections.sort(ruleList);
       
        if (editingRuleId != null && editingRuleId == NEW_RULE) {
            Rule rule = new Rule();
            rule.setId(NEW_RULE);
            rule.setSurt(surt);
           
            DisplayRule newRule = new DisplayRule(rule, false);
            newRule.setEditing(true);
            ruleList.add(newRule);
        }
View Full Code Here

    private ModelAndView saveRule(HttpServletRequest request,
            HttpServletResponse response) throws Exception {
        String surt = request.getParameter("surt");
       
        Rule rule;
        Long ruleId = Long.decode(request.getParameter("edit"));
        if (ruleId == NEW_RULE) {
            rule = new Rule();
        } else {
            rule = ruleDao.getRule(ruleId);
        }
        rule.setSurt(surt);
        rule.setPolicy(request.getParameter("policy"));
        rule.setWho(request.getParameter("who"));
        rule.setCaptureStart(parseDate(request.getParameter("captureStart")));
        rule.setCaptureEnd(parseDate(request.getParameter("captureEnd")));
        rule.setRetrievalStart(parseDate(request.getParameter("retrievalStart")));
        rule.setRetrievalEnd(parseDate(request.getParameter("retrievalEnd")));
        rule.setSecondsSinceCapture(parseInteger(request.getParameter("secondsSinceCapture")));
        rule.setPrivateComment(request.getParameter("privateComment"));
        rule.setPublicComment(request.getParameter("publicComment"));
        ruleDao.saveRule(rule);
       
        return redirectToSurt(request, response, surt);
    }
View Full Code Here

        super.tearDown();
        dao = null;
    }

    public void testSaveRecord() throws Exception {
        rule = new Rule();
        rule.setSurt("org,archive");
        rule.setWho("admins");
        dao.saveRule(rule);
        Assert.assertNotNull("primary key assigned", rule.getId());
    }
View Full Code Here

        dao.saveChange(change);
        Assert.assertNotNull("primary key assigned", change.getId());
    }
   
    public void testSurtPrefixQuery() throws Exception {
        rule = new Rule();
        rule.setSurt("http://(org,archive,unique)/%%__/fish");
        dao.saveRule(rule);
      
        Rule rule2 = new Rule();
        rule2.setSurt("http://(org,archive,unique)/blasted/fish");
        dao.saveRule(rule2);
      
        List<Rule> rules = dao.getRulesWithSurtPrefix("http://(org,archive,unique)/%%__");
       
        Boolean foundRule1 = false;
        Boolean foundRule2 = false;
        for (Rule r: rules) {
            if (rule.getId().equals(r.getId())) {
                foundRule1 = true;
            }
            if (rule2.getId().equals(r.getId())) {
                foundRule2 = true;
            }
        }
        Assert.assertTrue("Should match rule 1", foundRule1);
        Assert.assertFalse("Should not match rule 2", foundRule2);
View Full Code Here

        Assert.assertTrue("Should match rule 1", foundRule1);
        Assert.assertFalse("Should not match rule 2", foundRule2);
    }
   
    public void testExactSurtQuery() throws Exception {
        rule = new Rule();
        rule.setSurt("http://(org,archive,unique)/%%__/fish");
        dao.saveRule(rule);
      
        Rule rule2 = new Rule();
        rule2.setSurt("http://(org,archive,unique)/blasted/fish");
        dao.saveRule(rule2);
      
       
        List<Rule> rules = dao.getRulesWithExactSurt("http://(org,archive,unique)/%%__/fish");
       
        Boolean foundRule1 = false;
        Boolean foundRule2 = false;
        for (Rule r: rules) {
            if (rule.getId().equals(r.getId())) {
                foundRule1 = true;
            }
            if (rule2.getId().equals(r.getId())) {
                foundRule2 = true;
            }
        }
       
        Assert.assertTrue("Should match rule 1", foundRule1);
View Full Code Here

        Assert.assertTrue("Should match rule 1", foundRule1);
        Assert.assertFalse("Should not match rule 2", foundRule2);
    }
   
    public void testSurtTreeQuery() throws Exception {
        rule = new Rule();
        rule.setSurt("(org,archive,unique,)/secret");
        dao.saveRule(rule);

        Rule rule1 = new Rule();
        rule1.setSurt("(org,archive,unique,)/");
        dao.saveRule(rule1);
       
        Rule rule2 = new Rule();
        rule2.setSurt("(org,archive,unique");
        dao.saveRule(rule2);

        Rule rule3 = new Rule();
        rule3.setSurt("(org,archive");
        dao.saveRule(rule3);
       
        Rule rule4 = new Rule();
        rule4.setSurt("(");
        dao.saveRule(rule4);
       
        Rule rule5 = new Rule();
        rule5.setSurt("(org,archive,unique,)/other");
        dao.saveRule(rule5);
       
        Rule rule6 = new Rule();
        rule6.setSurt("(org,error,)/foobar");
        dao.saveRule(rule6);
       
        Iterable<Rule> rules = dao.getRuleTree("http://(org,archive,unique,)/");
       
        for (Rule r: rules) {
View Full Code Here

TOP

Related Classes of org.archive.accesscontrol.model.Rule

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.