On Dec 20, 2007, at 4:40 AM, Carsten Ziegeler wrote:

I'm not 100% sure, but I have the feeling that the current way of
resolving the variables in a sitemap is using the root spring context
but not the application context of the sitemap in question. This is just
a guess.

I get the following error. Before I dig deeper into the problem, can
someone confirm/deny that my above asumption is correct?

Confirmed. Problem is that

org .apache .cocoon .components .treeprocessor .variables .VariableResolverFactory.getResolver(VariableResolverFactory.java:108)

Ignores passed in manager:

public static VariableResolver getResolver(String expression, ServiceManager manager) throws PatternException {
        if (needsResolve(expression)) {
            VariableResolver resolver;
            try {
resolver = (VariableResolver) manager.lookup(StringTemplateParserVariableResolver.ROLE);
                resolver.setExpression(expression);
            } catch (ServiceException e) {
throw new PatternException("Couldn't obtain VariableResolver.", e);
            }

            return resolver;
        }

        return new NOPVariableResolver(expression);
    }

There is no "resolver.setManager()" or something to pass in currently effective manager into VariableResolver so it ends up using global service manager.

Vadim

Reply via email to