cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thorsten Scherler <scher...@gmail.com>
Subject Re: REST view and weird error
Date Mon, 25 Feb 2013 11:36:46 GMT
On 02/25/2013 12:08 PM, Thorsten Scherler wrote:
> Hi all,
>
> actually I tried with
>
> HashMap<String, Object> data = new HashMap<String, Object>();
> data.put("xxx", "xxx");
> return new URLResponse(VIEW, data);
>
> so not really a problem of the hashmap within hasmap. Further I need to
> inject the hashmap to do in my view:
>
> <div id="properties" class="tab_content">
>             <dl>
>               $properties.keys:{k|
>               <dt>$k$</dt>
>               <dd>
>               <![CDATA[$properties.(k)$]]>
>               </dd>
>               }$
>             </dl>
>           </div>
>
> As soon I add a map to the response I get the stackoverflow.
>
> I will now play a bit with the log config.
>
> BTW thanks for the feedback.

    <logger name="org.apache.cocoon" additivity="false">
        <level value="WARN"/>
        <appender-ref ref="CORE"/>
    </logger>

Gets rid of the error.

The final source of the error is MutableSettings
(cocoon-configuration-api-1.0.4.jar) where we have

public String toString() {
        return "Settings:\n" +
          "Running mode : " + this.getRunningMode()+ '\n' +
          KEY_RELOAD_DELAY + " : " + this.getReloadDelay(null) + '\n' +
          KEY_RELOADING + " : " + this.isReloadingEnabled(null) + '\n' +
          KEY_LOAD_CLASSES + " : " +
this.toString(this.getLoadClasses()) + '\n' +
          KEY_CACHE_DIRECTORY + " : " + this.getCacheDirectory() + '\n' +
          KEY_WORK_DIRECTORY + " : " + this.getWorkDirectory() + '\n' +
          KEY_FORM_ENCODING + " : " + this.getFormEncoding() + '\n' +
          KEY_CONTAINER_ENCODING + " : " + this.getContainerEncoding() +
'\n';
    }

    protected String toString(List a) {
        final StringBuffer buffer = new StringBuffer();
        final Iterator i = a.iterator();
        boolean first = true;
        while ( i.hasNext() ) {
            if ( first ) {
                first = false;
            } else {
                buffer.append(", ");
            }
            buffer.append(i.next());
        }
        return buffer.toString();       
    }

The whole things points to the latter method which is based on the
protected final List loadClasses = new ArrayList();

In the following we add values:

/**
     * Fill from a properties object
     */
    public void configure(Properties props) {
...
} else if ( key.startsWith(KEY_LOAD_CLASSES) ) {
                        this.addToLoadClasses(value);
                    }

While debug the loadClasses where empty.

salu2

-- 
Thorsten Scherler <scherler.at.gmail.com>
codeBusters S.L. - web based systems
<consulting, training and solutions>

http://www.codebusters.es/


Mime
View raw message