The XML of ContentPanel and GreetingItem now includes the languages in which an content item is available
git-svn-id: https://svn.libreccm.org/ccm/trunk@4474 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
31376f323d
commit
c7f8494b90
|
|
@ -18,9 +18,11 @@
|
||||||
*/
|
*/
|
||||||
package com.arsdigita.cms.dispatcher;
|
package com.arsdigita.cms.dispatcher;
|
||||||
|
|
||||||
|
|
||||||
import com.arsdigita.bebop.PageState;
|
import com.arsdigita.bebop.PageState;
|
||||||
import com.arsdigita.cms.CMS;
|
import com.arsdigita.cms.CMS;
|
||||||
import com.arsdigita.cms.CMSConfig;
|
import com.arsdigita.cms.CMSConfig;
|
||||||
|
import com.arsdigita.cms.ContentBundle;
|
||||||
import com.arsdigita.cms.ContentItem;
|
import com.arsdigita.cms.ContentItem;
|
||||||
import com.arsdigita.cms.ContentItemXMLRenderer;
|
import com.arsdigita.cms.ContentItemXMLRenderer;
|
||||||
import com.arsdigita.cms.ExtraXMLGenerator;
|
import com.arsdigita.cms.ExtraXMLGenerator;
|
||||||
|
|
@ -32,6 +34,7 @@ import com.arsdigita.domain.DataObjectNotFoundException;
|
||||||
import com.arsdigita.domain.DomainObjectFactory;
|
import com.arsdigita.domain.DomainObjectFactory;
|
||||||
import com.arsdigita.domain.DomainObjectTraversal;
|
import com.arsdigita.domain.DomainObjectTraversal;
|
||||||
import com.arsdigita.domain.SimpleDomainObjectTraversalAdapter;
|
import com.arsdigita.domain.SimpleDomainObjectTraversalAdapter;
|
||||||
|
import com.arsdigita.kernel.ACSObject;
|
||||||
import com.arsdigita.kernel.Kernel;
|
import com.arsdigita.kernel.Kernel;
|
||||||
import com.arsdigita.kernel.Party;
|
import com.arsdigita.kernel.Party;
|
||||||
import com.arsdigita.kernel.permissions.PermissionDescriptor;
|
import com.arsdigita.kernel.permissions.PermissionDescriptor;
|
||||||
|
|
@ -43,6 +46,7 @@ import com.arsdigita.persistence.metadata.Property;
|
||||||
import com.arsdigita.util.UncheckedWrapperException;
|
import com.arsdigita.util.UncheckedWrapperException;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -173,6 +177,21 @@ public class SimpleXMLGenerator implements XMLGenerator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final ACSObject parentObj = item.getParent();
|
||||||
|
if (parentObj instanceof ContentBundle) {
|
||||||
|
final ContentBundle bundle = (ContentBundle) parentObj;
|
||||||
|
final Collection<String> languages = bundle.getLanguages();
|
||||||
|
|
||||||
|
final Element availableLangsElem = parent.newChildElement("availableLanguages");
|
||||||
|
|
||||||
|
for(String language : languages) {
|
||||||
|
final Element langElem = availableLangsElem.newChildElement("language");
|
||||||
|
langElem.setText(language);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Implementing XMLGenerator directly is now deprecated
|
// Implementing XMLGenerator directly is now deprecated
|
||||||
if (item instanceof XMLGenerator) {
|
if (item instanceof XMLGenerator) {
|
||||||
s_log.info("Item implements XMLGenerator interface");
|
s_log.info("Item implements XMLGenerator interface");
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
package com.arsdigita.navigation.ui;
|
package com.arsdigita.navigation.ui;
|
||||||
|
|
||||||
import com.arsdigita.bebop.PageState;
|
import com.arsdigita.bebop.PageState;
|
||||||
|
import java.util.Collection;
|
||||||
import javax.servlet.ServletException;
|
import javax.servlet.ServletException;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
@ -129,6 +130,12 @@ public class GreetingItem extends AbstractComponent {
|
||||||
baseItem = bundle.getPrimaryInstance();
|
baseItem = bundle.getPrimaryInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Collection<String> languages = bundle.getLanguages();
|
||||||
|
final Element availableLangsElem = content.newChildElement("availableLanguages");
|
||||||
|
for(String language : languages) {
|
||||||
|
final Element langElem = availableLangsElem.newChildElement("language");
|
||||||
|
langElem.setText(language);
|
||||||
|
}
|
||||||
|
|
||||||
if (baseItem instanceof XMLGenerator) {
|
if (baseItem instanceof XMLGenerator) {
|
||||||
final XMLGenerator generator = (XMLGenerator) baseItem;
|
final XMLGenerator generator = (XMLGenerator) baseItem;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue