private static void validatePOLICY(InputStream content) throws ValidationException { logger.debug("Validating POLICY datastream"); policyParser.copy().parse(content, true); logger.debug("POLICY datastream is valid"); }
private static void validateFESLPOLICY(InputStream content) throws ValidationException { // if FeSL is not enabled, this won't be set if (feslPolicyParser != null) { logger.debug("Validating FESLPOLICY datastream"); // FIXME: maintaining backwards compatibility; policy validation should really be enforced feslPolicyParser.copy().parse(content, validateFeslPolicy); logger.debug("FESLPOLICY datastream is valid"); } }
private static void validatePOLICY(InputStream content) throws ValidationException { logger.debug("Validating POLICY datastream"); policyParser.copy().parse(content, true); logger.debug("POLICY datastream is valid"); }
private static void validateFESLPOLICY(InputStream content) throws ValidationException { // if FeSL is not enabled, this won't be set if (feslPolicyParser != null) { logger.debug("Validating FESLPOLICY datastream"); // FIXME: maintaining backwards compatibility; policy validation should really be enforced feslPolicyParser.copy().parse(content, validateFeslPolicy); logger.debug("FESLPOLICY datastream is valid"); } }
@Override public Map<String, AbstractPolicy> loadPolicies(PolicyParser policyParser, boolean validate, File dir) throws IOException, ValidationException { Map<String,AbstractPolicy> policies = new HashMap<String,AbstractPolicy>(); for (File file: dir.listFiles()) { if (file.isDirectory()) { policies.putAll(loadPolicies(policyParser, validate, file)); } else { if (file.getName().endsWith(".xml")) { logger.info("Loading policy: {}", file.getPath()); InputStream policyStream = new FileInputStream(file); policies.put(file.getPath(), policyParser.parse(policyStream, validate)); } } } return policies; }
@Override public Map<String, AbstractPolicy> loadPolicies(PolicyParser policyParser, boolean validate, File dir) throws IOException, ValidationException { Map<String,AbstractPolicy> policies = new HashMap<String,AbstractPolicy>(); for (File file: dir.listFiles()) { if (file.isDirectory()) { policies.putAll(loadPolicies(policyParser, validate, file)); } else { if (file.getName().endsWith(".xml")) { logger.info("Loading policy: {}", file.getPath()); InputStream policyStream = new FileInputStream(file); policies.put(file.getPath(), policyParser.parse(policyStream, validate)); } } } return policies; }
@Override public Map<String, AbstractPolicy> loadPolicies(PolicyParser policyParser, boolean validate, File dir) throws IOException, ValidationException { Map<String,AbstractPolicy> policies = new HashMap<String,AbstractPolicy>(); File defaultDir = new File(dir,"default"); if (defaultDir.exists()){ policies.putAll(loadPolicies(policyParser, validate,defaultDir)); } for (File file: dir.listFiles()) { if (!file.getName().equals("default")){ if (file.isDirectory()) { policies.putAll(loadPolicies(policyParser, validate, file)); } else { if (file.getName().endsWith(".xml")) { logger.info("Loading policy: {}", file.getPath()); InputStream policyStream = new FileInputStream(file); AbstractPolicy policy = policyParser.parse(policyStream, validate); logger.info("Loaded policy ID: {}", policy.getId()); String key = null; if (m_override == Strategy.FILENAME) { key = file.getName(); } else key = policy.getId().toString(); policies.put(key, policy); } } } } return policies; }
protected AbstractPolicy loadObjectPolicy(PolicyParser policyParser, String pid, boolean validate) throws ServerException { try { DOReader reader = m_repoReader.getReader(Server.USE_DEFINITIVE_STORE, ReadOnlyContext.EMPTY, pid); Datastream ds = reader.GetDatastream("POLICY", null); if (ds != null) { logger.debug("Using POLICY for {}", pid); return policyParser.parse(ds.getContentStream(), validate); } else { return null; } } catch (ObjectNotInLowlevelStorageException e) { return null; } } }
protected AbstractPolicy loadObjectPolicy(PolicyParser policyParser, String pid, boolean validate) throws ServerException { try { DOReader reader = m_repoReader.getReader(Server.USE_DEFINITIVE_STORE, ReadOnlyContext.EMPTY, pid); Datastream ds = reader.GetDatastream("POLICY", null); if (ds != null) { logger.debug("Using POLICY for {}", pid); return policyParser.parse(ds.getContentStream(), validate); } else { return null; } } catch (ObjectNotInLowlevelStorageException e) { return null; } } }
@Test (expected=ValidationException.class) public void testParseBadRootValidationFalse() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.parse(StreamUtility.getStream(POLICY_BADROOT), false); }
@Test public void testParseGoodRootQuestionableContentValidationFalse() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.parse(StreamUtility.getStream(POLICY_QUESTIONABLE), false); }
@Test (expected=ValidationException.class) public void testParseBadRootValidationTrue() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.parse(StreamUtility.getStream(POLICY_BADROOT), true); }
@Test (expected=ValidationException.class) public void testParseGoodRootQuestionableContentValidationTrue() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.parse(StreamUtility.getStream(POLICY_QUESTIONABLE), true); }
@Test (expected=ValidationException.class) public void testParseMalformedXMLValidationFalse() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.parse(StreamUtility.getStream(POLICY_MALFORMEDXML), false); }
@Test (expected=ValidationException.class) public void testParseMalformedXMLValidationTrue() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.parse(StreamUtility.getStream(POLICY_MALFORMEDXML), true); }
@Test (expected=ValidationException.class) public void testParseGoodRootNoContentValidationFalse() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.parse(StreamUtility.getStream(POLICY_GOODROOT_NOCONTENT), false); }
@Test (expected=ValidationException.class) public void testParseGoodRootNoContentValidationTrue() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.parse(StreamUtility.getStream(POLICY_GOODROOT_NOCONTENT), true); }
@Test public void testParseGoodRootGoodContentValidationFalse() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.parse(StreamUtility.getStream(POLICY_GOODENOUGH), false); }
@Test public void testParseGoodRootGoodContentValidationTrue() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.parse(StreamUtility.getStream(POLICY_GOODENOUGH), true); }
@Test public void testParseGoodRootGoodContentValidationTrueWithCopy() throws IOException, SAXException, ValidationException { PolicyParser parser = new MockPolicyParser(); parser.copy().parse(StreamUtility.getStream(POLICY_GOODENOUGH), true); }