From 35edd35039498116a33b520a6141f1ece743f2c2 Mon Sep 17 00:00:00 2001 From: Zhen Tang Date: Mon, 3 Jun 2013 18:35:04 +0800 Subject: [PATCH] Module category support added. --- haflow.module.jar | Bin 1407 -> 1416 bytes src/main/java/haflow/entity/Module.java | 9 ++++++ src/main/java/haflow/module/Module.java | 2 ++ .../java/haflow/module/basic/EndModule.java | 4 +-- .../java/haflow/module/basic/StartModule.java | 2 +- .../haflow/module/general/JavaModule.java | 20 +++++++++++++ .../java/haflow/ui/helper/ModuleHelper.java | 1 + .../haflow/ui/model/ModuleBriefModel.java | 10 +++++++ .../java/haflow/ui/model/ModuleModel.java | 12 +++++++- .../java/haflow/utility/ModuleLoader.java | 5 ++-- src/main/webapp/script/haflow.main.js | 28 ++++++++++-------- 11 files changed, 74 insertions(+), 19 deletions(-) create mode 100644 src/main/java/haflow/module/general/JavaModule.java diff --git a/haflow.module.jar b/haflow.module.jar index 8b6cf412f33135040f169fb757a42cf89788c7a3..1c2004933deb62d42e4f197bbcedbc88e7b785d8 100644 GIT binary patch delta 971 zcmey*)xpgZ;LXe;!ob17!4NuSB2PS%X7|Kg+xo)}BCY4IT+684YUd#MaihjA!yRR+ zQI0v;nTr)-eIMt}F`79gCFo>)@k9O(?w#hb5v>i~GmF!IyqkIW&iVD<`5DA-lm!S` z)J;{E-McgK%cQKL+r~Tl&Umn9>a6YRY2M_JtF!#l)k`ez4j1_BE8U<`V6lJdF_*Gq zyTk35I^6wVpIho5skEWE$}Hoo^>4EyZ%PK{_S!9SF`@}awn&o74?X=pFf}7Rv z%vk%nZpuZv?M&MAk^fTfmQTiPbMGY|-<@qP&BVmLN6TipQ2joeX4NOo5$8lzL(+e9 zg++ef8I@dC%iws!f%oelmm5c}nFn~Yb7Z{e3{+xdV0aD0h)_)JoBWtjul}?bv!j4( z{?ms?j=0z8y0{bymOOrNYic)#(;`Jl*21eZrzE$}%bWSdNeDBbe-lD^a<$8=-Ezcr+Lo=rM9@_nIMzVZDYr&QkTG?~M z(W#FRg2o&#N~t!C8ocWn|Mm-TT;ket;wg4Onw@3yWrF{_s!vY+q&eca}Rwi z+IBuJptB|CZ}XQq7eD$OSWsUteYfPcF4IDt^;+ior$d>q1jLko4S(IbsO8w7_`?Rf zUNpK$U)ubWCCOxC>szJdHwoXRL4oF_w)KVxFu?Ys1e#{|WD{o7dVfp4Lk0pd#ZMMF zE?UYirQ;&$(z-$@@CmDTl8@4Hw`sor+zv8Vh#c~4X4rW4+?%X4lm6##`53e%eqK;E zuzl>gqV3wM4NVufL~9yHEO3-(V>u=oH<4?~9JxNx)4Yuh#wSgr+!Db>eWwQi-^Noy73T~loS?aldL?LKppRr>EB zi_a(1J5#ft2r67?FY9=1!g9Xw{zf?#zE;_;IFR4u<9=uFW?*2D0sD=SNrVBGu_n8) zxNvHAA9ez#naLAbeB@L64m%+Sh7?dE0^FGVhecB!qyyPdC4>SX%Ve?(t0|j33rG+E DslA}L delta 988 zcmeC+{?Ek|;LXe;!ob17!NA--ktd#MZr8+I+j?e0kyih#*BP~2?HmL@Zq(RSSn$?s zOH)R6rn}=Vuj983RVPo$TxL{%w$=WCyz0HOL~WiO9`AUcpSHa7$R-{v_>-(fUW|2>c=7#U>djl6QoE8~;>`3`3 z+1YA}ceQ-$nRfI3o|Uz0-tqJ5ZEr66^#&W-uAcZRbC=PvT`SMYu@^7=6#jvErpptH z{U+0_Qh!gbS+`D8?Qv6%2akC3^sv|m8uN1}Cr`0f%l@yRyE=4+;ft;FXB~`fj_tpn z5`Vkge%`s4&wI23X7056#wKFbc=*nOo6=WUSh)6x{g}_?D#v84+VJ|(l1-0%zpLsL z-+jLB%o{K9rVU-DYyACMcth$K0=(Hd*8D$_t;op0@EV8_fjGBo@)JhAdVlZ34gyE- zU%Qs^dj6`N9UYGrzBqbxvpT;h%WBo$rixq3lJ9J~srz!-rS;Da@;_)7QWss*-q3#6 z{P3TOGqcaH|IW`K&cXbKG zGdBCM@9O7ntqVU3iQnkwdR^+)U$v^ezHQx_(zwdEZ$ch?=wJFv_C&-}&C0U;GgCBg zd|Wc?wbZE-zbfn&7ES%J^1i6Wx-{iaJw-=Tp35(J-{bd;hwb9w*qY19*FS{rmH4i< z+12Fd% zbdE!8s%9HQ%UW``>}Ldp6j!8a2PZI;)}V)!1G8y;@5VePLjjj`&I0z#370Oh&x!~< z)xAPVYmLZv*4fs{@1AT{KHXODJ(2&xVu3ahL4|FzX5OvbZU5&FQ^nEbw!k(+#p|cE z&N~XuOJ6;0yG~L@&xAj*XTr~AZ>(PJ^499(!&NslrMV8R$l3B#pf>B|>TAE}o91lQ zXwF}wmpA!n?YEd6B^Sf9Zq8t-pR}&e%~N#8vjh6-0*SjGZY{LFICuJ^Pi+Q2>%afJ zx=M?OvqjF&x%LqAuao?fUMJ27DGU242=bobyAY0j3=9l1VDB+9i7>$O(_~*37tXm| zhn>J_W%4W*9|aH(IXt9*8WG?+ configurations; public UUID getId() { @@ -24,6 +25,14 @@ public class Module { this.name = name; } + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + public Set getConfigurations() { return configurations; } diff --git a/src/main/java/haflow/module/Module.java b/src/main/java/haflow/module/Module.java index 7909521..b48333d 100644 --- a/src/main/java/haflow/module/Module.java +++ b/src/main/java/haflow/module/Module.java @@ -11,4 +11,6 @@ public @interface Module { String id(); String name(); + + String category(); } diff --git a/src/main/java/haflow/module/basic/EndModule.java b/src/main/java/haflow/module/basic/EndModule.java index 5226931..ae0178f 100644 --- a/src/main/java/haflow/module/basic/EndModule.java +++ b/src/main/java/haflow/module/basic/EndModule.java @@ -8,8 +8,8 @@ import haflow.module.Module; import haflow.module.ModuleConfiguration; import haflow.module.ModuleMetadata; -@Module(id = "70d027c3-a4bd-61b5-5063-134ff71f8122", name = "End") -@ModuleConfiguration(configurationKeys = { "aaa" }, configurationDisplayNames = { "bbb" }) +@Module(id = "70d027c3-a4bd-61b5-5063-134ff71f8122", name = "End", category = "Basic") +@ModuleConfiguration(configurationKeys = { "ccc" }, configurationDisplayNames = { "ddd" }) public class EndModule implements ModuleMetadata { public Document generate(Map configurations) { diff --git a/src/main/java/haflow/module/basic/StartModule.java b/src/main/java/haflow/module/basic/StartModule.java index ac3e2d5..386b815 100644 --- a/src/main/java/haflow/module/basic/StartModule.java +++ b/src/main/java/haflow/module/basic/StartModule.java @@ -8,7 +8,7 @@ import haflow.module.Module; import haflow.module.ModuleConfiguration; import haflow.module.ModuleMetadata; -@Module(id = "9208d7d2-a8ff-2493-64c2-36f50bc95752", name = "Start") +@Module(id = "9208d7d2-a8ff-2493-64c2-36f50bc95752", name = "Start", category = "Basic") @ModuleConfiguration(configurationKeys = { "aaa" }, configurationDisplayNames = { "bbb" }) public class StartModule implements ModuleMetadata { diff --git a/src/main/java/haflow/module/general/JavaModule.java b/src/main/java/haflow/module/general/JavaModule.java new file mode 100644 index 0000000..4cf16dd --- /dev/null +++ b/src/main/java/haflow/module/general/JavaModule.java @@ -0,0 +1,20 @@ +package haflow.module.general; + +import java.util.Map; + +import org.w3c.dom.Document; + +import haflow.module.Module; +import haflow.module.ModuleConfiguration; +import haflow.module.ModuleMetadata; + +@Module(id = "5da600a8-aa63-968a-ca46-9085e0e0bd2e", name = "Java", category = "General") +@ModuleConfiguration(configurationKeys = { "eee" }, configurationDisplayNames = { "fff" }) +public class JavaModule implements ModuleMetadata { + + public Document generate(Map configurations) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/src/main/java/haflow/ui/helper/ModuleHelper.java b/src/main/java/haflow/ui/helper/ModuleHelper.java index dbc5135..870654d 100644 --- a/src/main/java/haflow/ui/helper/ModuleHelper.java +++ b/src/main/java/haflow/ui/helper/ModuleHelper.java @@ -36,6 +36,7 @@ public class ModuleHelper { ModuleBriefModel moduleBriefModel = new ModuleBriefModel(); moduleBriefModel.setId(module.getId()); moduleBriefModel.setName(module.getName()); + moduleBriefModel.setCategory(module.getCategory()); moduleBriefModel .setConfigurations(new HashSet()); for (ModuleConfiguration configuration : module.getConfigurations()) { diff --git a/src/main/java/haflow/ui/model/ModuleBriefModel.java b/src/main/java/haflow/ui/model/ModuleBriefModel.java index 7f95ab5..b620405 100644 --- a/src/main/java/haflow/ui/model/ModuleBriefModel.java +++ b/src/main/java/haflow/ui/model/ModuleBriefModel.java @@ -11,6 +11,7 @@ import javax.xml.bind.annotation.XmlRootElement; public class ModuleBriefModel { private UUID id; private String name; + private String category; private Set configurations; @XmlElement @@ -31,6 +32,15 @@ public class ModuleBriefModel { this.name = name; } + @XmlElement + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + @XmlElementWrapper(name = "configurations") @XmlElement(name = "configuration") public Set getConfigurations() { diff --git a/src/main/java/haflow/ui/model/ModuleModel.java b/src/main/java/haflow/ui/model/ModuleModel.java index 34426a6..556e716 100644 --- a/src/main/java/haflow/ui/model/ModuleModel.java +++ b/src/main/java/haflow/ui/model/ModuleModel.java @@ -11,6 +11,7 @@ import javax.xml.bind.annotation.XmlRootElement; public class ModuleModel { private UUID id; private String name; + private String category; private Set configurations; @XmlElement @@ -30,7 +31,16 @@ public class ModuleModel { public void setName(String name) { this.name = name; } - + + @XmlElement + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + @XmlElementWrapper(name = "configurations") @XmlElement(name = "configuration") public Set getConfigurations() { diff --git a/src/main/java/haflow/utility/ModuleLoader.java b/src/main/java/haflow/utility/ModuleLoader.java index 468a4dc..2ec9c87 100644 --- a/src/main/java/haflow/utility/ModuleLoader.java +++ b/src/main/java/haflow/utility/ModuleLoader.java @@ -33,8 +33,7 @@ public class ModuleLoader { "haflow", true); for (String className : classNames) { Class moduleClass = Class.forName(className); - if (moduleClass - .isAnnotationPresent(haflow.module.Module.class)) { + if (moduleClass.isAnnotationPresent(haflow.module.Module.class)) { Object obj = moduleClass.newInstance(); if (obj instanceof ModuleMetadata) { ModuleMetadata metadata = (ModuleMetadata) obj; @@ -43,6 +42,8 @@ public class ModuleLoader { haflow.module.Module.class).id())); module.setName(moduleClass.getAnnotation( haflow.module.Module.class).name()); + module.setCategory(moduleClass.getAnnotation( + haflow.module.Module.class).category()); module.setConfigurations(new HashSet()); if (moduleClass .isAnnotationPresent(haflow.module.ModuleConfiguration.class)) { diff --git a/src/main/webapp/script/haflow.main.js b/src/main/webapp/script/haflow.main.js index ce54f98..2e0870f 100644 --- a/src/main/webapp/script/haflow.main.js +++ b/src/main/webapp/script/haflow.main.js @@ -52,7 +52,6 @@ HAFlow.Main.prototype.initFlowListData = function() { dataType : "json", success : function(data, status) { _currentInstance.flowList = data; - _currentInstance.initModuleListData(); }, error : function(request, status, error) { @@ -96,7 +95,6 @@ HAFlow.Main.prototype.initUserInterface = function() { this.initMainMenu(); this.initBottomTabs(); this.initFlowList(); - this.initModuleList(); this.ui.refresh(); }; @@ -256,14 +254,6 @@ HAFlow.Main.prototype.initFlowListTree = function() { tree.startup(); }; -HAFlow.Main.prototype.initModuleList = function() { - var moduleListPane = new dijit.layout.ContentPane({ - id : this.moduleListContainerId, - title : "Modules" - }); - this.ui.trailingContainer.addChild(moduleListPane); -}; - HAFlow.Main.prototype.initFlowContainer = function() { var _currentInstance = this; this.ui.centerContainer.watch("selectedChildWidget", function(name, from, @@ -366,14 +356,26 @@ HAFlow.Main.prototype.saveFlowName = function(instance, flowId) { }; HAFlow.Main.prototype.paintModuleList = function() { - var text = ""; var i; for (i = 0; i < this.moduleList.modules.length; i++) { - text += "
" + this.moduleList.modules[i].name + "
"; + $( + "#" + this.moduleListContainerId + "_" + + this.moduleList.modules[i].category).append(text); } - $("#" + this.moduleListContainerId).html(text); + this.ui.refresh(); + }; HAFlow.Main.prototype.onModuleAdded = function(instance, flowId, event, ui) {