01: /*
02: (c) Copyright 2007, 2008 Hewlett-Packard Development Company, LP
03: All rights reserved.
04: $Id: TestAssemblerGroupTracing.java,v 1.2 2008/01/02 12:05:56 andy_seaborne Exp $
05: */
06:
07: package com.hp.hpl.jena.assembler.test;
08:
09: import com.hp.hpl.jena.assembler.*;
10: import com.hp.hpl.jena.assembler.assemblers.*;
11: import com.hp.hpl.jena.assembler.exceptions.AssemblerException;
12: import com.hp.hpl.jena.rdf.model.Resource;
13: import com.hp.hpl.jena.shared.JenaException;
14:
15: public class TestAssemblerGroupTracing extends AssemblerTestBase {
16: public TestAssemblerGroupTracing(String name) {
17: super (name);
18: }
19:
20: public void testFail() {
21: Resource root = resourceInModel("x rdf:type A");
22: AssemblerGroup g = AssemblerGroup.create();
23: g.implementWith(resource("A"), new ShantAssemble());
24: try {
25: g.open(root);
26: fail("shouldn't get past exception");
27: } catch (AssemblerException e) {
28: AssemblerGroup.Frame frame = new AssemblerGroup.Frame(
29: resource("x"), resource("A"), ShantAssemble.class);
30: assertEquals(listOfOne(frame), e.getDoing());
31: }
32: }
33:
34: static class ShantAssemble extends AssemblerBase {
35: public Object open(Assembler a, Resource root, Mode mode) {
36: throw new JenaException("shan't");
37: }
38:
39: }
40: }
41:
42: /*
43: * (c) Copyright 2005, 2006, 2007, 2008 Hewlett-Packard Development Company, LP
44: * All rights reserved.
45: *
46: * Redistribution and use in source and binary forms, with or without
47: * modification, are permitted provided that the following conditions
48: * are met:
49: * 1. Redistributions of source code must retain the above copyright
50: * notice, this list of conditions and the following disclaimer.
51: * 2. Redistributions in binary form must reproduce the above copyright
52: * notice, this list of conditions and the following disclaimer in the
53: * documentation and/or other materials provided with the distribution.
54: * 3. The name of the author may not be used to endorse or promote products
55: * derived from this software without specific prior written permission.
56: *
57: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
58: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
59: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
60: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
61: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
62: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
63: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
64: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
65: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
66: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
67: */
|