/* * Copyright 2000-2013 Enonic AS * http://www.enonic.com/license */ package com.enonic.cms.core.portal.datasource.service; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; final class DataSourceServiceCompabilityKeeper { public static void fixCategoriesCompability( Node root ) { if ( root instanceof Element ) { fixCategoriesCompabilityElement( (Element) root ); } NodeList list = root.getChildNodes(); for ( int i = 0; i < list.getLength(); i++ ) { fixCategoriesCompability( list.item( i ) ); } } private static void fixCategoriesCompabilityElement( Element root ) { if ( root.getNodeName().equals( "category" ) ) { NodeList list = root.getElementsByTagName( "title" ); Element title = (Element) list.item( 0 ); String name = title.getChildNodes().item( 0 ).getNodeValue(); root.setAttribute( "name", name ); root.removeChild( title ); String superKey = root.getAttribute( "superkey" ); root.removeAttribute( "superkey" ); if ( ( superKey != null ) && ( superKey.length() > 0 ) ) { root.setAttribute( "supercategorykey", superKey ); } } } }