List of usage examples for org.springframework.jndi JndiCallback JndiCallback
JndiCallback
From source file:jndi.view.JndiView.java
/** * @param path//from ww w . j a va 2s.com * the path to browse * @return {@link List} of {@link JndiEntry}s * @throws NamingException * on exception */ private List<JndiEntry> browse(final String path) throws NamingException { final JndiCallback<List<JndiEntry>> contextCallback = new JndiCallback<List<JndiEntry>>() { @Override public List<JndiEntry> doInContext(final Context context) throws NamingException { if (JAVA_GLOBAL.equals(path)) { // Do a little trick to handle "java:global" final NamingEnumeration<Binding> root = context.listBindings(""); Context javaGlobalContext = null; while (root.hasMore()) { final Binding binding = root.next(); if (JAVA_GLOBAL.equals(binding.getName())) { final Object obj = binding.getObject(); if (obj instanceof Context) { javaGlobalContext = (Context) obj; } break; } } if (javaGlobalContext != null) { return examineBindings(javaGlobalContext, path, javaGlobalContext.listBindings("")); } logger.warning("Unable to browse \"" + JAVA_GLOBAL + "\" namespace!"); return emptyList(); } return examineBindings(context, path, context.listBindings(path)); } }; return jndiTemplate.execute(contextCallback); }