From 2067ee81185f073ed605fedd9a1d9bb455d1a073 Mon Sep 17 00:00:00 2001 From: zapata Date: Mon, 23 Dec 2002 16:46:42 +0000 Subject: [PATCH] support operations that are always available --- .../basic/MirBasicAdminInterfaceLocalizer.java | 57 +++++++++++++++++++--- 1 file changed, 51 insertions(+), 6 deletions(-) diff --git a/source/mircoders/localizer/basic/MirBasicAdminInterfaceLocalizer.java b/source/mircoders/localizer/basic/MirBasicAdminInterfaceLocalizer.java index d7abc879..b385ed20 100755 --- a/source/mircoders/localizer/basic/MirBasicAdminInterfaceLocalizer.java +++ b/source/mircoders/localizer/basic/MirBasicAdminInterfaceLocalizer.java @@ -58,11 +58,11 @@ public class MirBasicAdminInterfaceLocalizer implements MirAdminInterfaceLocaliz simpleArticleOperationsMap = new HashMap(); addSimpleArticleOperation(new ChangeArticleFieldOperation("newswire", "to_article_type", "0", "1", false)); - addSimpleArticleOperation(new SetArticleFieldOperation("unhide", "is_published", "1", false)); - addSimpleArticleOperation(new SetArticleFieldOperation("hide", "is_published", "0", false)); + addSimpleArticleOperation(new ModifyArticleFieldOperation("unhide", "is_published", "1", false)); + addSimpleArticleOperation(new ModifyArticleFieldOperation("hide", "is_published", "0", false)); - addSimpleCommentOperation(new SetCommentFieldOperation("unhide", "is_published", "1")); - addSimpleCommentOperation(new SetCommentFieldOperation("hide", "is_published", "0")); + addSimpleCommentOperation(new ModifyCommentFieldOperation("unhide", "is_published", "1")); + addSimpleCommentOperation(new ModifyCommentFieldOperation("hide", "is_published", "0")); } public List simpleCommentOperations() { @@ -174,7 +174,12 @@ public class MirBasicAdminInterfaceLocalizer implements MirAdminInterfaceLocaliz anEntity.setValueForProperty("is_produced", "0"); if (logOperation) { - StringBuffer comment = new StringBuffer(anEntity.getValue("comment")); + StringBuffer comment = new StringBuffer(); + try { + comment.append(StringRoutines.interpretAsString(anEntity.getValue("comment"))); + } + catch (Throwable t) { + } if (comment.length()>0 && comment.charAt(comment.length()-1)!='\n') { comment.append('\n'); } @@ -207,6 +212,26 @@ public class MirBasicAdminInterfaceLocalizer implements MirAdminInterfaceLocaliz } protected boolean isAvailable(EntityComment aComment) { + return true; + } + + protected void performModification(EntityAdapter aUser, EntityComment aComment) throws StorageObjectException { + aComment.setValueForProperty(field, value); + } + } + + protected static class ModifyCommentFieldOperation extends CommentModifyingOperation { + private String field; + private String value; + + public ModifyCommentFieldOperation(String aName, String aField, String aValue) { + super(aName); + + field = aField; + value = aValue; + } + + protected boolean isAvailable(EntityComment aComment) { return aComment.getValue(field) == null || !aComment.getValue(field).equals(value); } @@ -227,6 +252,26 @@ public class MirBasicAdminInterfaceLocalizer implements MirAdminInterfaceLocaliz } protected boolean isAvailable(EntityContent anArticle) { + return true; + } + + protected void performModification(EntityAdapter aUser, EntityContent anArticle) throws StorageObjectException { + anArticle.setValueForProperty(field, value); + } + } + + protected static class ModifyArticleFieldOperation extends ArticleModifyingOperation { + private String field; + private String value; + + public ModifyArticleFieldOperation(String aName, String aField, String aValue, boolean aLogOperation) { + super(aName, aLogOperation); + + field = aField; + value = aValue; + } + + protected boolean isAvailable(EntityContent anArticle) { return anArticle.getValue(field) == null || !anArticle.getValue(field).equals(value); } @@ -256,4 +301,4 @@ public class MirBasicAdminInterfaceLocalizer implements MirAdminInterfaceLocaliz anArticle.setValueForProperty(field, newValue); } } -} \ No newline at end of file +} -- 2.11.0