1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.mc.test.core;
20
21 import javax.faces.FacesException;
22 import javax.faces.view.ViewDeclarationLanguage;
23 import javax.faces.view.ViewDeclarationLanguageFactory;
24
25 import org.apache.myfaces.view.ViewDeclarationLanguageStrategy;
26
27 public class MockMyFacesViewDeclarationLanguageFactory extends ViewDeclarationLanguageFactory
28 {
29
30 private boolean _initialized;
31 private ViewDeclarationLanguageStrategy[] _supportedLanguages;
32
33 public MockMyFacesViewDeclarationLanguageFactory()
34 {
35 _initialized = false;
36 }
37
38 @Override
39 public ViewDeclarationLanguage getViewDeclarationLanguage(String viewId)
40 {
41 initialize();
42
43 for (ViewDeclarationLanguageStrategy strategy : _supportedLanguages)
44 {
45 if (strategy.handles(viewId))
46 {
47 return strategy.getViewDeclarationLanguage();
48 }
49 }
50
51 throw new FacesException("Cannot find a valid PDL for view id " + viewId);
52 }
53
54 private synchronized void initialize()
55 {
56 if (!_initialized)
57 {
58 _supportedLanguages = new ViewDeclarationLanguageStrategy[2];
59 _supportedLanguages[0] = new MockMyFacesFaceletViewDeclarationLanguageStrategy();
60 _supportedLanguages[1] = new MockDefaultViewDeclarationLanguageStrategy();
61 }
62 }
63
64 }