@@ -0,0 +1,3012 @@
+/**%0A *  Copyright 2016 Sven Ewald%0A *%0A *  Licensed under the Apache License, Version 2.0 (the %22License%22);%0A *  you may not use this file except in compliance with the License.%0A *  You may obtain a copy of the License at%0A *%0A *      http://www.apache.org/licenses/LICENSE-2.0%0A *%0A *  Unless required by applicable law or agreed to in writing, software%0A *  distributed under the License is distributed on an %22AS IS%22 BASIS,%0A *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A *  See the License for the specific language governing permissions and%0A *  limitations under the License.%0A */%0Apackage org.xmlbeam.tests.bugs;%0A%0Aimport org.junit.Test;%0Aimport org.xmlbeam.XBDataNotFoundException;%0Aimport org.xmlbeam.XBProjector;%0Aimport org.xmlbeam.XBProjector.Flags;%0Aimport org.xmlbeam.annotation.XBDelete;%0Aimport org.xmlbeam.annotation.XBRead;%0Aimport org.xmlbeam.annotation.XBUpdate;%0A%0A/**%0A *%0A */%0A@SuppressWarnings(%22javadoc%22)%0Apublic class TestDataNotFoundException %7B%0A%0A private final static XBProjector projector = new XBProjector(Flags.TO_STRING_RENDERS_XML);%0A    %0A    private final static String XML = %22%3Croot%3E%3Celement attrib='attribValue'%3EelementValue%3C/element%3E%3C/root%3E%22;%0A   %0A    private final static TestProjection projection = projector.projectXMLString(XML, TestProjection.class);%0A    %0A    interface TestProjection %7B%0A        @XBRead(%22/root/element/@notthere%22)%0A        String getNonexistingAttribute() throws XBDataNotFoundException;%0A        %0A        @XBRead(%22/root/element/notthere%22)%0A        String getNonexistingValue() throws XBDataNotFoundException;%0A        %0A        @XBUpdate(%22/root/element/@notthere%22)%0A        void updateNonexistingAttribute(String v) throws XBDataNotFoundException;%0A        %0A        @XBUpdate(%22/root/element/notthere%22)%0A        void updateNonexistingValue(String v) throws XBDataNotFoundException;%0A        %0A        @XBDelete(%22/root/element/@notthere%22)%0A        void deleteNonexistingAttribute() throws XBDataNotFoundException;%0A        %0A        @XBDelete(%22/root/element/notthere%22)%0A        void deleteNonexistingValue() throws XBDataNotFoundException;%0A    %7D%0A   %0A    @Test(expected=XBDataNotFoundException.class)%0A    public void testExceptionOnAttributget() %7B%0A       projection.getNonexistingAttribute();%0A    %7D%0A    %0A    @Test(expected=XBDataNotFoundException.class)%0A    public void testExceptionOnValueget() %7B%0A       projection.getNonexistingValue();%0A    %7D%0A%0A    @Test(expected=XBDataNotFoundException.class)%0A    public void testExceptionOnAttributupdate() %7B%0A       projection.updateNonexistingAttribute(%22x%22);%0A    %7D%0A    %0A    @Test(expected=XBDataNotFoundException.class)%0A    public void testExceptionOnValueupdate() %7B%0A       projection.updateNonexistingValue(%22x%22);%0A    %7D%0A    %0A    @Test(expected=XBDataNotFoundException.class)%0A    public void testExceptionOnAttributdelete() %7B%0A       projection.deleteNonexistingAttribute();%0A    %7D%0A    %0A    @Test(expected=XBDataNotFoundException.class)%0A    public void testExceptionOnValuedelete() %7B%0A       projection.deleteNonexistingValue();%0A    %7D%0A%7D%0A

Fix #35