use of com.ibm.xsp.registry.FacesLibraryImpl in project org.openntf.nsfodp by OpenNTF.
the class AbstractCompilationEnvironment method getLibrary.
protected UpdatableLibrary getLibrary(String namespace) {
SharableRegistryImpl facesRegistry = (SharableRegistryImpl) facesProject.getRegistry();
UpdatableLibrary library = (UpdatableLibrary) facesRegistry.getLocalLibrary(namespace);
if (library == null) {
try {
library = new FacesLibraryImpl(facesRegistry, namespace);
// TODO this is probably properly done by creating a FacesProjectImpl
// - it can then register the library fragments itself
// Note: my first attempt at this ended with an infinite loop, so it's trickier than that
// $NON-NLS-1$
Field localLibsField = facesRegistry.getClass().getDeclaredField("_localLibs");
localLibsField.setAccessible(true);
@SuppressWarnings("unchecked") Map<String, UpdatableLibrary> localLibs = (Map<String, UpdatableLibrary>) localLibsField.get(facesRegistry);
localLibs.put(namespace, library);
} catch (NoSuchFieldException | IllegalArgumentException | IllegalAccessException e) {
throw new RuntimeException(e);
}
}
return library;
}
Aggregations