Verschiedene Probleme mit einigen Admin-Klassen korrgiert.
git-svn-id: https://svn.libreccm.org/ccm/trunk@2184 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
fe52693426
commit
2f4c3a41d7
|
|
@ -62,7 +62,7 @@ public class FileAttachmentConfig extends AbstractConfig {
|
|||
/**
|
||||
* Constructor, don't use it directly!
|
||||
*/
|
||||
protected FileAttachmentConfig() {
|
||||
public FileAttachmentConfig() {
|
||||
|
||||
super();
|
||||
|
||||
|
|
|
|||
|
|
@ -11,18 +11,14 @@ import com.arsdigita.util.parameter.Parameter;
|
|||
*/
|
||||
public class NotesConfig extends AbstractConfig {
|
||||
|
||||
private static final NotesConfig INSTANCE = new NotesConfig();
|
||||
|
||||
static {
|
||||
INSTANCE.load();
|
||||
}
|
||||
private static NotesConfig INSTANCE;
|
||||
|
||||
private final Parameter assetStepSortKey = new IntegerParameter(
|
||||
"com.arsdigita.cms.contentassets.notes.asset_step_sortkey",
|
||||
Parameter.REQUIRED,
|
||||
3);
|
||||
|
||||
protected NotesConfig() {
|
||||
public NotesConfig() {
|
||||
|
||||
super();
|
||||
|
||||
|
|
@ -33,11 +29,14 @@ public class NotesConfig extends AbstractConfig {
|
|||
}
|
||||
|
||||
public static final NotesConfig getInstance() {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = new NotesConfig();
|
||||
INSTANCE.load();
|
||||
}
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
public Integer getAssetStepSortKey() {
|
||||
return (Integer) get(assetStepSortKey);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,20 +11,14 @@ import com.arsdigita.util.parameter.Parameter;
|
|||
*/
|
||||
public class RelatedLinkConfig extends AbstractConfig {
|
||||
|
||||
private static final RelatedLinkConfig INSTANCE = new RelatedLinkConfig();
|
||||
|
||||
static {
|
||||
INSTANCE.load();
|
||||
}
|
||||
private static RelatedLinkConfig INSTANCE;
|
||||
|
||||
private final Parameter assetStepSortKey = new IntegerParameter(
|
||||
"com.arsdigita.cms.relatedlink.contentassets.asset_step_sortkey",
|
||||
Parameter.REQUIRED,
|
||||
1);
|
||||
|
||||
protected RelatedLinkConfig() {
|
||||
|
||||
super();
|
||||
public RelatedLinkConfig() {
|
||||
|
||||
register(assetStepSortKey);
|
||||
|
||||
|
|
@ -32,6 +26,10 @@ public class RelatedLinkConfig extends AbstractConfig {
|
|||
}
|
||||
|
||||
public static final RelatedLinkConfig getInstance() {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = new RelatedLinkConfig();
|
||||
INSTANCE.load();
|
||||
}
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@
|
|||
*/
|
||||
package com.arsdigita.navigation;
|
||||
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -52,10 +51,8 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
|
||||
private static final Logger s_log =
|
||||
Logger.getLogger(NavigationFileResolver.class);
|
||||
|
||||
private static final String CATEGORY_PATH_ATTR =
|
||||
NavigationFileResolver.class + ".categoryPath";
|
||||
|
||||
// path is set in a cookie, which navigation models may use if they wish
|
||||
public static final String PATH_COOKIE_NAME = "ad_path";
|
||||
public static final char PATH_COOKIE_SEPARATOR = '|';
|
||||
|
|
@ -74,7 +71,7 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
}
|
||||
|
||||
if (path.equals("/category.jsp")) {
|
||||
Navigation nav = (Navigation)Web.getContext().getApplication();
|
||||
Navigation nav = (Navigation) Web.getContext().getApplication();
|
||||
|
||||
String id = sreq.getParameter("categoryID");
|
||||
if (s_log.isDebugEnabled()) {
|
||||
|
|
@ -83,9 +80,9 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
|
||||
String useContext = sreq.getParameter("useContext");
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Using use context " + useContext );
|
||||
s_log.debug("Using use context " + useContext);
|
||||
}
|
||||
if ( null == useContext ) {
|
||||
if (null == useContext) {
|
||||
useContext = Template.DEFAULT_USE_CONTEXT;
|
||||
}
|
||||
Category cat = null;
|
||||
|
|
@ -94,7 +91,7 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
try {
|
||||
cat = new Category(new BigDecimal(id));
|
||||
} catch (Exception e) {
|
||||
s_log.warn("Could not load category for id "+id);
|
||||
s_log.warn("Could not load category for id " + id);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
@ -143,23 +140,22 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
cats.add(parents.getCategory());
|
||||
}
|
||||
|
||||
Category[] catsArray = (Category[])
|
||||
cats.toArray(new Category[cats.size()]);
|
||||
Category[] catsArray = (Category[]) cats.toArray(new Category[cats.size()]);
|
||||
|
||||
sreq.setAttribute(CATEGORY_PATH_ATTR,
|
||||
catsArray);
|
||||
setPathCookie(sresp, catsArray);
|
||||
return resolveTemplate(catsArray[catsArray.length-1], useContext);
|
||||
return resolveTemplate(catsArray[catsArray.length - 1], useContext);
|
||||
} else {
|
||||
String useContext = Template.DEFAULT_USE_CONTEXT;
|
||||
if (path.endsWith( ".jsp" )) {
|
||||
int lastSlash = path.lastIndexOf( '/' );
|
||||
if (path.endsWith(".jsp")) {
|
||||
int lastSlash = path.lastIndexOf('/');
|
||||
|
||||
useContext = path.substring( lastSlash + 1, path.length() - 4 );
|
||||
path = path.substring( 0, lastSlash );
|
||||
useContext = path.substring(lastSlash + 1, path.length() - 4);
|
||||
path = path.substring(0, lastSlash);
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug( "useContext=" + useContext + ",path=" + path );
|
||||
s_log.debug("useContext=" + useContext + ",path=" + path);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -171,11 +167,11 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
s_log.debug("No category found");
|
||||
}
|
||||
sreq.setAttribute(CATEGORY_PATH_ATTR,
|
||||
new Category[] { root });
|
||||
setPathCookie(sresp, new Category[] { root });
|
||||
new Category[]{root});
|
||||
setPathCookie(sresp, new Category[]{root});
|
||||
return super.resolve(templatePath, sreq, sresp, app);
|
||||
} else {
|
||||
Category cat = cats[cats.length-1];
|
||||
Category cat = cats[cats.length - 1];
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Got cat " + cat);
|
||||
}
|
||||
|
|
@ -209,7 +205,7 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
// use this when deciding whether to trust the given path
|
||||
|
||||
path.append(PATH_COOKIE_SEPARATOR + Kernel.getContext().getResource().getID().toString());
|
||||
for (int i = 0; i < catsArray.length; i ++) {
|
||||
for (int i = 0; i < catsArray.length; i++) {
|
||||
Category cat = catsArray[i];
|
||||
path.append(PATH_COOKIE_SEPARATOR + cat.getID().toString());
|
||||
}
|
||||
|
|
@ -226,12 +222,8 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static Category[] getCategoryPath(HttpServletRequest req) {
|
||||
return (Category[])req.getAttribute(CATEGORY_PATH_ATTR);
|
||||
return (Category[]) req.getAttribute(CATEGORY_PATH_ATTR);
|
||||
}
|
||||
|
||||
private String getTemplateContext() {
|
||||
|
|
@ -255,12 +247,9 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
useContext);
|
||||
}
|
||||
// If there's an explicit use context which doesn't exist, give a 404
|
||||
if (!Template.DEFAULT_USE_CONTEXT.equals( useContext ) &&
|
||||
null == template) {
|
||||
s_log.debug("No template found in context " +
|
||||
getTemplateContext() + " for category " +
|
||||
cat.getID() + " with use context " +
|
||||
useContext );
|
||||
if (!Template.DEFAULT_USE_CONTEXT.equals(useContext) && null == template) {
|
||||
s_log.debug("No template found in context " + getTemplateContext() + " for category " + cat.getID()
|
||||
+ " with use context " + useContext);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
@ -274,7 +263,7 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
path = template.getURL();
|
||||
}
|
||||
RequestDispatcher rd = Web.findResourceDispatcher(
|
||||
new String[] { "ROOT"} ,
|
||||
new String[]{"ROOT"},
|
||||
path);
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
|
|
@ -285,7 +274,7 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
}
|
||||
|
||||
private Category getRootCategory() {
|
||||
Navigation nav = (Navigation)Web.getContext().getApplication();
|
||||
Navigation nav = (Navigation) Web.getContext().getApplication();
|
||||
TemplateContext ctx = Navigation.getContext().getTemplateContext();
|
||||
|
||||
if (s_log.isDebugEnabled()) {
|
||||
|
|
@ -309,31 +298,25 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
return root;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* category resolution retained as an instance method to
|
||||
* allow it to be overridden. Default functionality
|
||||
* contained in static resolveCategory method
|
||||
* category resolution retained as an instance method to allow it to be overridden. Default functionality contained
|
||||
* in static resolveCategory method
|
||||
*
|
||||
* @param root
|
||||
* @param path
|
||||
* @return
|
||||
*/
|
||||
protected Category[] resolvePath (Category root, String path) {
|
||||
protected Category[] resolvePath(Category root, String path) {
|
||||
return NavigationFileResolver.resolveCategory(root, path);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Match a URL with the category tree and return the requested
|
||||
* category if exists.
|
||||
* Match a URL with the category tree and return the requested category if exists.
|
||||
*
|
||||
* Quasimodo:
|
||||
* Originally addEqualsFilter has been used to filter the
|
||||
* appropriate category directly inside the SQL query. This is
|
||||
* possible anymore due to the localised URLs of the new
|
||||
* localised categories (or at least: not found it).
|
||||
* Therefore we do the filtering in Java now.
|
||||
* Quasimodo: Originally addEqualsFilter has been used to filter the appropriate category directly inside the SQL
|
||||
* query. This is possible anymore due to the localised URLs of the new localised categories (or at least: not found
|
||||
* it). Therefore we do the filtering in Java now.
|
||||
*
|
||||
*/
|
||||
public static Category[] resolveCategory(Category root,
|
||||
|
|
@ -344,7 +327,7 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
cats.add(root);
|
||||
|
||||
Category cat = root;
|
||||
for (int i = 0 ; i < bits.length ; i++) {
|
||||
for (int i = 0; i < bits.length; i++) {
|
||||
if ("".equals(bits[i])) {
|
||||
continue;
|
||||
}
|
||||
|
|
@ -359,7 +342,7 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
boolean found = false;
|
||||
while (children.next()) {
|
||||
cat = children.getCategory();
|
||||
if(cat.getURL().equals(bits[i]) && cat.isEnabled() == true) {
|
||||
if (cat.getURL().equals(bits[i]) && cat.isEnabled() == true) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("Got category " + cat);
|
||||
}
|
||||
|
|
@ -370,7 +353,7 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
}
|
||||
}
|
||||
// } else {
|
||||
if(found == false) {
|
||||
if (found == false) {
|
||||
if (s_log.isDebugEnabled()) {
|
||||
s_log.debug("No category found ");
|
||||
}
|
||||
|
|
@ -378,6 +361,6 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
}
|
||||
}
|
||||
|
||||
return (Category[])cats.toArray(new Category[cats.size()]);
|
||||
return (Category[]) cats.toArray(new Category[cats.size()]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue