import mircoders.localizer.MirLocalizerExc;
import mircoders.localizer.MirLocalizerFailure;
import mircoders.module.ModuleLanguage;
+import mircoders.module.ModuleContent;
+import mircoders.module.ModuleComment;
import mircoders.storage.DatabaseContent;
addSimpleArticleOperation(new ChangeArticleFieldOperation("newswire", "to_article_type", "0", "1", false));
addSimpleArticleOperation(new ModifyArticleFieldOperation("unhide", "is_published", "1", false));
addSimpleArticleOperation(new ModifyArticleFieldOperation("hide", "is_published", "0", false));
+ addSimpleArticleOperation(new DeleteEntityOperation("delete"));
addSimpleCommentOperation(new ModifyCommentFieldOperation("unhide", "is_published", "1"));
addSimpleCommentOperation(new ModifyCommentFieldOperation("hide", "is_published", "0"));
+ addSimpleCommentOperation(new DeleteEntityOperation("delete"));
}
/** {@inheritDoc} */
- public String getAdminPageGenerator(String aPage, Map aTemplateData, EntityAdapter aUser, String aDefault) throws MirLocalizerExc {
+ public String getAdminPageGenerator(String aPage, Map aTemplateData, EntityAdapter aUser,
+ String aDefault) throws MirLocalizerExc {
return aDefault;
}
/** {@inheritDoc} */
- public Generator prepareArticlePreview(String aPreviewPage, EntityAdapter anArticle, Map aContext) throws MirLocalizerExc {
+ public Generator prepareArticlePreview(String aPreviewPage, EntityAdapter anArticle,
+ Map aContext) throws MirLocalizerExc {
MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(aContext);
aContext.put("article", anArticle);
return Collections.unmodifiableList(simpleArticleOperations);
}
- public MirSimpleEntityOperation simpleArticleOperationForName(String aName) {
- return (MirSimpleEntityOperation) simpleArticleOperationsMap.get(aName);
+ public EntityOperation simpleArticleOperationForName(String aName) {
+ return (EntityOperation) simpleArticleOperationsMap.get(aName);
}
- public MirSimpleEntityOperation simpleCommentOperationForName(String aName) {
- return (MirSimpleEntityOperation) simpleCommentOperationsMap.get(aName);
+ public EntityOperation simpleCommentOperationForName(String aName) {
+ return (EntityOperation) simpleCommentOperationsMap.get(aName);
}
public void removeSimpleArticleOperation(String aName) {
simpleArticleOperationsMap.remove(aName);
}
- public void addSimpleArticleOperation(MirSimpleEntityOperation anOperation) {
+ public void addSimpleArticleOperation(EntityOperation anOperation) {
removeSimpleArticleOperation(anOperation.getName());
simpleArticleOperationsMap.put(anOperation.getName(), anOperation);
simpleArticleOperations.add(anOperation);
simpleCommentOperationsMap.remove(aName);
}
- public void addSimpleCommentOperation(MirSimpleEntityOperation anOperation) {
+ public void addSimpleCommentOperation(EntityOperation anOperation) {
removeSimpleCommentOperation(anOperation.getName());
simpleCommentOperationsMap.put(anOperation.getName(), anOperation);
simpleCommentOperations.add(anOperation);
}
- protected abstract static class EntityModifyingOperation implements MirSimpleEntityOperation {
+ protected abstract static class EntityModifyingOperation implements EntityOperation {
private String name;
private boolean logOperation;
anArticle.setFieldValue(field, newValue);
}
}
+
+ public static class DeleteEntityOperation implements EntityOperation {
+ private String name;
+ private ModuleContent content;
+ private ModuleComment comment;
+
+ public DeleteEntityOperation(String aName) {
+ name = aName;
+ comment = new ModuleComment();
+ content = new ModuleContent();
+ }
+
+ public String getName() {
+ return "delete";
+ }
+
+ public boolean isAvailable(EntityAdapter anEntity) throws MirLocalizerExc, MirLocalizerFailure {
+ return false;
+ }
+
+ public void perform(EntityAdapter aUser, EntityAdapter anEntity) throws MirLocalizerExc, MirLocalizerFailure {
+ Entity entity = anEntity.getEntity();
+ try {
+ if (entity instanceof EntityContent) {
+ content.deleteById(entity.getId());
+ }
+ else if (entity instanceof EntityComment) {
+ comment.deleteById(entity.getId());
+ }
+ }
+ catch (ModuleExc e) {
+ throw new MirLocalizerFailure(e);
+ }
+ }
+ }
}