1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.shared.resource;
20
21 import java.util.regex.Pattern;
22
23 import javax.faces.context.FacesContext;
24 import javax.faces.view.Location;
25
26
27
28
29 public class ResourceELUtils
30 {
31
32
33
34 public static final Pattern RESOURCE_EXPRESSION_REGEX = Pattern.compile(".*[^\\w\\.]resource[^\\w].*");
35
36 private static final String RESOURCE = "resource";
37
38 public static final String RESOURCE_LOCATION_KEY = "org.apache.myfaces.view.facelets.resource.location";
39
40 public static final String RESOURCE_THIS_LIBRARY = "oam.resource.library";
41 public static final String RESOURCE_THIS_CONTRACT = "oam.resource.contract";
42
43 public static boolean isResourceExpression(String expression)
44 {
45 if (expression.contains(RESOURCE))
46 {
47 return RESOURCE_EXPRESSION_REGEX.matcher(expression).matches();
48 }
49 else
50 {
51 return false;
52 }
53 }
54
55 public static Location getResourceLocationForResolver(FacesContext facesContext)
56 {
57 return (Location) facesContext.getAttributes().get(RESOURCE_LOCATION_KEY);
58 }
59
60 public static void saveResourceLocationForResolver(FacesContext facesContext, Location location)
61 {
62 facesContext.getAttributes().put(RESOURCE_LOCATION_KEY, location);
63 }
64
65 public static void removeResourceLocationForResolver(FacesContext facesContext)
66 {
67 facesContext.getAttributes().remove(RESOURCE_LOCATION_KEY);
68 }
69
70 public static String getResourceContractForResolver(FacesContext facesContext)
71 {
72 return (String) facesContext.getAttributes().get(RESOURCE_THIS_CONTRACT);
73 }
74
75 public static void saveResourceContractForResolver(FacesContext facesContext, String location)
76 {
77 facesContext.getAttributes().put(RESOURCE_THIS_CONTRACT, location);
78 }
79
80 public static void removeResourceContractForResolver(FacesContext facesContext)
81 {
82 facesContext.getAttributes().remove(RESOURCE_THIS_CONTRACT);
83 }
84
85 public static String getResourceLibraryForResolver(FacesContext facesContext)
86 {
87 return (String) facesContext.getAttributes().get(RESOURCE_THIS_LIBRARY);
88 }
89
90 public static void saveResourceLibraryForResolver(FacesContext facesContext, String location)
91 {
92 facesContext.getAttributes().put(RESOURCE_THIS_LIBRARY, location);
93 }
94
95 public static void removeResourceLibraryForResolver(FacesContext facesContext)
96 {
97 facesContext.getAttributes().remove(RESOURCE_THIS_LIBRARY);
98 }
99 }