You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2017/08/22 18:13:02 UTC
[06/10] jspwiki git commit: refactor PluginBean by extending
ModuleBean instead of SimpleAdminBean
refactor PluginBean by extending ModuleBean instead of SimpleAdminBean
Project: http://git-wip-us.apache.org/repos/asf/jspwiki/repo
Commit: http://git-wip-us.apache.org/repos/asf/jspwiki/commit/5139de06
Tree: http://git-wip-us.apache.org/repos/asf/jspwiki/tree/5139de06
Diff: http://git-wip-us.apache.org/repos/asf/jspwiki/diff/5139de06
Branch: refs/heads/master
Commit: 5139de06536922b71ee1b89c5b202178b817b9a2
Parents: 14b2bbb
Author: juanpablo <ju...@apache.org>
Authored: Tue Aug 22 20:03:29 2017 +0200
Committer: juanpablo <ju...@apache.org>
Committed: Tue Aug 22 20:03:29 2017 +0200
----------------------------------------------------------------------
.../apache/wiki/ui/admin/beans/PluginBean.java | 85 ++++++++------------
1 file changed, 35 insertions(+), 50 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jspwiki/blob/5139de06/jspwiki-war/src/main/java/org/apache/wiki/ui/admin/beans/PluginBean.java
----------------------------------------------------------------------
diff --git a/jspwiki-war/src/main/java/org/apache/wiki/ui/admin/beans/PluginBean.java b/jspwiki-war/src/main/java/org/apache/wiki/ui/admin/beans/PluginBean.java
index d17c10f..da0f126 100644
--- a/jspwiki-war/src/main/java/org/apache/wiki/ui/admin/beans/PluginBean.java
+++ b/jspwiki-war/src/main/java/org/apache/wiki/ui/admin/beans/PluginBean.java
@@ -14,7 +14,7 @@
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
- under the License.
+ under the License.
*/
package org.apache.wiki.ui.admin.beans;
@@ -22,79 +22,64 @@ import java.util.Collection;
import javax.management.NotCompliantMBeanException;
-import org.apache.commons.lang.StringUtils;
-import org.apache.wiki.Release;
-import org.apache.wiki.WikiContext;
import org.apache.wiki.WikiEngine;
-import org.apache.wiki.api.engine.PluginManager;
import org.apache.wiki.plugin.DefaultPluginManager.WikiPluginInfo;
-import org.apache.wiki.ui.admin.SimpleAdminBean;
import org.apache.wiki.util.XHTML;
import org.apache.wiki.util.XhtmlUtil;
import org.jdom2.Element;
-public class PluginBean extends SimpleAdminBean {
-
- private WikiEngine m_engine;
-
- private static final String VER_WARNING = "<span class='warning'>This module is not compatible with this version of JSPWiki.</span>";
-
- public PluginBean( WikiEngine engine ) throws NotCompliantMBeanException {
- m_engine = engine;
- }
- public String[] getAttributeNames() {
- return new String[0];
- }
+public class PluginBean extends ModuleBean< WikiPluginInfo > {
- public String[] getMethodNames() {
- return new String[0];
+ public PluginBean( WikiEngine engine ) throws NotCompliantMBeanException {
+ super( engine );
}
+ /**
+ * {@inheritDoc}
+ */
public String getTitle() {
return "Plugins";
}
+ /**
+ * {@inheritDoc}
+ */
public int getType() {
return CORE;
}
- @SuppressWarnings("unchecked")
- public String doGet(WikiContext context) {
- PluginManager pm = m_engine.getPluginManager();
- Collection< WikiPluginInfo > plugins = pm.modules();
-
- Element root = XhtmlUtil.element( XHTML.div );
- Element tb = XhtmlUtil.element( XHTML.table ).setAttribute( "border", "1" );
-
- root.addContent( XhtmlUtil.element( XHTML.h4 ).addContent( "Plugins") )
- .addContent( tb );
-
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected Collection< WikiPluginInfo > modules() {
+ return m_engine.getPluginManager().modules();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected Element heading() {
Element trHead = XhtmlUtil.element( XHTML.tr );
trHead.addContent( XhtmlUtil.element( XHTML.th ).addContent( "Name" ) )
- .addContent( XhtmlUtil.element( XHTML.th ).addContent( "Alias" ) )
.addContent( XhtmlUtil.element( XHTML.th ).addContent( "Author" ) )
.addContent( XhtmlUtil.element( XHTML.th ).addContent( "Notes" ) );
-
- tb.addContent( trHead );
-
- for( WikiPluginInfo info : plugins ) {
- Element tr = XhtmlUtil.element( XHTML.tr );
- tr.addContent( XhtmlUtil.element( XHTML.td ).addContent( info.getName() ) )
- .addContent( XhtmlUtil.element( XHTML.td ).addContent( info.getAlias() ) )
- .addContent( XhtmlUtil.element( XHTML.td ).addContent( info.getAuthor() ) )
- .addContent( XhtmlUtil.element( XHTML.td ).addContent( validPluginVersion( info ) ) );
-
- tb.addContent( tr );
- }
-
- return XhtmlUtil.serialize( root, XhtmlUtil.EXPAND_EMPTY_NODES );
+ return trHead;
}
- String validPluginVersion( WikiPluginInfo info ) {
- return Release.isNewerOrEqual( info.getMinVersion() ) && Release.isOlderOrEqual( info.getMaxVersion() )
- ? StringUtils.EMPTY
- : VER_WARNING;
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected Element rowBody( WikiPluginInfo plugin ) {
+ Element tr = XhtmlUtil.element( XHTML.tr );
+ tr.addContent( XhtmlUtil.element( XHTML.td ).addContent( plugin.getName() ) )
+ .addContent( XhtmlUtil.element( XHTML.td ).addContent( plugin.getAlias() ) )
+ .addContent( XhtmlUtil.element( XHTML.td ).addContent( plugin.getAuthor() ) )
+ .addContent( XhtmlUtil.element( XHTML.td ).addContent( validModuleVersion( plugin ) ) );
+ return tr;
}
}