View Javadoc

1   /*
2    *   Copyright (C) Christian Schulte, 2005-206
3    *   All rights reserved.
4    *
5    *   Redistribution and use in source and binary forms, with or without
6    *   modification, are permitted provided that the following conditions
7    *   are met:
8    *
9    *     o Redistributions of source code must retain the above copyright
10   *       notice, this list of conditions and the following disclaimer.
11   *
12   *     o Redistributions in binary form must reproduce the above copyright
13   *       notice, this list of conditions and the following disclaimer in
14   *       the documentation and/or other materials provided with the
15   *       distribution.
16   *
17   *   THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
18   *   INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
19   *   AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
20   *   THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
21   *   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22   *   NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23   *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24   *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25   *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26   *   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27   *
28   *   $JOMC: ServicesNotFoundModletProvider.java 3851 2011-10-10 16:25:09Z schulte2005 $
29   *
30   */
31  package org.jomc.modlet.test.support;
32  
33  import org.jomc.modlet.ModelContext;
34  import org.jomc.modlet.ModelException;
35  import org.jomc.modlet.ModelProcessor;
36  import org.jomc.modlet.ModelProvider;
37  import org.jomc.modlet.ModelValidator;
38  import org.jomc.modlet.Modlet;
39  import org.jomc.modlet.ModletProvider;
40  import org.jomc.modlet.Modlets;
41  import org.jomc.modlet.Service;
42  import org.jomc.modlet.Services;
43  
44  /**
45   * {@code ModletProvider} test implementation providing non-existent services.
46   *
47   * @author <a href="mailto:schulte2005@users.sourceforge.net">Christian Schulte</a> 1.0
48   * @version $JOMC: ServicesNotFoundModletProvider.java 3851 2011-10-10 16:25:09Z schulte2005 $
49   */
50  public final class ServicesNotFoundModletProvider implements ModletProvider
51  {
52  
53      public ServicesNotFoundModletProvider()
54      {
55          super();
56      }
57  
58      public Modlets findModlets( final ModelContext context ) throws ModelException
59      {
60          final Modlets modlets = new Modlets();
61          final Modlet modlet = new Modlet();
62          modlets.getModlet().add( modlet );
63          modlet.setName( ServicesNotFoundModletProvider.class.getName() );
64          modlet.setModel( ServicesNotFoundModletProvider.class.getName() );
65          modlet.setServices( new Services() );
66  
67          Service s = new Service();
68          s.setClazz( "DOES NOT EXIST" );
69          s.setIdentifier( ModelProvider.class.getName() );
70          modlet.getServices().getService().add( s );
71  
72          s = new Service();
73          s.setClazz( "DOES NOT EXIST" );
74          s.setIdentifier( ModelProcessor.class.getName() );
75          modlet.getServices().getService().add( s );
76  
77          s = new Service();
78          s.setClazz( "DOES NOT EXIST" );
79          s.setIdentifier( ModelValidator.class.getName() );
80          modlet.getServices().getService().add( s );
81  
82          s = new Service();
83          s.setClazz( "DOES NOT EXIST" );
84          s.setIdentifier( "javax.xml.bind.Marshaller.Listener" );
85          modlet.getServices().getService().add( s );
86  
87          s = new Service();
88          s.setClazz( "DOES NOT EXIST" );
89          s.setIdentifier( "javax.xml.bind.Unmarshaller.Listener" );
90          modlet.getServices().getService().add( s );
91  
92          context.setAttribute( ServicesNotFoundModletProvider.class.getName(), this );
93          return modlets;
94      }
95  
96  }