From: Mathieu Baudier Date: Mon, 17 Jan 2011 12:40:59 +0000 (+0000) Subject: Introduce UI application X-Git-Tag: argeo-commons-2.1.30~1512 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=308001aedac299588da2c235c863645482a98c0f;p=lgpl%2Fargeo-commons.git Introduce UI application git-svn-id: https://svn.argeo.org/commons/trunk@4049 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/security/eclipse/plugins/org.argeo.security.equinox/src/main/java/org/argeo/security/equinox/SpringLoginModule.java b/security/eclipse/plugins/org.argeo.security.equinox/src/main/java/org/argeo/security/equinox/SpringLoginModule.java index 3f88a00d9..86c26e584 100644 --- a/security/eclipse/plugins/org.argeo.security.equinox/src/main/java/org/argeo/security/equinox/SpringLoginModule.java +++ b/security/eclipse/plugins/org.argeo.security.equinox/src/main/java/org/argeo/security/equinox/SpringLoginModule.java @@ -14,6 +14,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.security.Authentication; import org.springframework.security.AuthenticationManager; +import org.springframework.security.BadCredentialsException; import org.springframework.security.context.SecurityContextHolder; import org.springframework.security.providers.UsernamePasswordAuthenticationToken; import org.springframework.security.providers.jaas.SecurityContextLoginModule; @@ -87,6 +88,8 @@ public class SpringLoginModule extends SecurityContextLoginModule { .authenticate(credentials); registerAuthentication(authentication); return super.login(); + } catch (BadCredentialsException bce) { + throw bce; } catch (Exception e) { LoginException loginException = new LoginException( "Bad credentials"); diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/.classpath b/security/eclipse/plugins/org.argeo.security.ui.application/.classpath new file mode 100644 index 000000000..92f19d2ff --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/.project b/security/eclipse/plugins/org.argeo.security.ui.application/.project new file mode 100644 index 000000000..e83b5d5d9 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/.project @@ -0,0 +1,28 @@ + + + org.argeo.security.ui.application + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/.settings/org.eclipse.jdt.core.prefs b/security/eclipse/plugins/org.argeo.security.ui.application/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..1f382cb9d --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Sat Jan 15 17:51:30 CET 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/SecureRCP.product b/security/eclipse/plugins/org.argeo.security.ui.application/SecureRCP.product new file mode 100644 index 000000000..b995252f0 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/SecureRCP.product @@ -0,0 +1,119 @@ + + + + + + + + + + -console -clean + -Dlog4j.configuration=file:${system_property:user.home}/dev/src/commons/security/eclipse/plugins/org.argeo.security.ui.application/log4j.properties + -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/argeo_security_rap.properties b/security/eclipse/plugins/org.argeo.security.ui.application/argeo_security_rap.properties new file mode 100644 index 000000000..355774942 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/argeo_security_rap.properties @@ -0,0 +1,24 @@ +argeo.osgi.start=\ +com.springsource.javax.servlet,\ +org.eclipse.core.runtime,\ +org.eclipse.equinox.common,\ +org.eclipse.equinox.http.jetty,\ +org.eclipse.equinox.http.registry,\ +org.eclipse.equinox.launcher,\ +org.eclipse.rap.demo,\ +org.mortbay.jetty.server,\ +org.springframework.osgi.extender,\ +org.argeo.server.ads.server,\ +org.argeo.security.manager.ldap,\ +org.argeo.security.services,\ +org.argeo.security.equinox,\ +org.argeo.security.ui,\ +org.argeo.security.ui.rcp,\ + +eclipse.ignoreApp=true +osgi.noShutdown=true + +log4j.configuration=file:../../log4j.properties + +org.eclipse.equinox.http.jetty.log.stderr.threshold=debug +org.osgi.service.http.port=9090 diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/build.properties b/security/eclipse/plugins/org.argeo.security.ui.application/build.properties new file mode 100644 index 000000000..ac478ab24 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/build.properties @@ -0,0 +1,7 @@ +source.. = src/main/java/ +output.. = target/classes/ +bin.includes = plugin.xml,\ + META-INF/,\ + .,\ + log4j.properties,\ + jaas_config.txt diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_about.gif b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_about.gif new file mode 100644 index 000000000..20d9ad2d9 Binary files /dev/null and b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_about.gif differ diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_launcher.icns b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_launcher.icns new file mode 100644 index 000000000..b77a6a639 Binary files /dev/null and b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_launcher.icns differ diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_launcher.ico b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_launcher.ico new file mode 100644 index 000000000..d548f7109 Binary files /dev/null and b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_launcher.ico differ diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_launcher.xpm b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_launcher.xpm new file mode 100644 index 000000000..b0c139e06 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_launcher.xpm @@ -0,0 +1,307 @@ +/* XPM */ +static char * icon48_xpm[] = { +"48 48 256 2", +" c #4B4B3B3B9090", +". c #0D0D0E0E5454", +"X c #11110E0E5B5B", +"o c #17170F0F6363", +"O c #1D1D13136969", +"+ c #212114146C6C", +"@ c #252514147171", +"# c #282811116C6C", +"$ c #26260D0D6363", +"% c #22220B0B5E5E", +"& c #1C1C0B0B5A5A", +"* c #1C1C0B0B5252", +"= c #1B1B05055353", +"- c #161606064D4D", +"; c #161605054949", +": c #111104044848", +"> c #131304044545", +", c #131305054242", +"< c #141410105E5E", +"1 c #2C2C15157373", +"2 c #2B2B1B1B7575", +"3 c #343416167272", +"4 c #313113136E6E", +"5 c #222209095757", +"6 c #1B1B06064D4D", +"7 c #15150B0B4242", +"8 c #13130C0C5555", +"9 c #2E2E1B1B7878", +"0 c #33331F1F7C7C", +"q c #343418187878", +"w c #3B3B1C1C7575", +"e c #2E2E10106767", +"r c #1B1B07074747", +"t c #18180B0B4646", +"y c #151513136262", +"u c #1A1A15156464", +"i c #34341F1F7777", +"p c #40401E1E8080", +"a c #42421B1B7A7A", +"s c #3B3B15157474", +"d c #2B2B0B0B5B5B", +"f c #222207075252", +"g c #373727277A7A", +"h c #474724248484", +"j c #393915156E6E", +"k c #373711116A6A", +"l c #343413136363", +"z c #232319196E6E", +"x c #292919197070", +"c c #3C3C2C2C8282", +"v c #444431318585", +"b c #494934348A8A", +"n c #505026268A8A", +"m c #3D3D1B1B6E6E", +"M c #31310E0E5C5C", +"N c #2B2B0D0D5353", +"B c #222207074A4A", +"V c #52523C3C9292", +"C c #58583C3C9494", +"Z c #5D5D44449797", +"A c #5C5C2E2E9292", +"S c #676733339595", +"D c #424228287575", +"F c #29290A0A4F4F", +"G c #6C6C4A4A9E9E", +"H c #72725454A7A7", +"J c #8C8C6D6DB2B2", +"K c #343424246E6E", +"L c #3A3A23236A6A", +"P c #3A3A1C1C6767", +"I c #24240A0A4B4B", +"U c #151518186161", +"Y c #76766F6FA5A5", +"T c #ADAD9191CCCC", +"R c #98988989D3D3", +"E c #45453B3B8686", +"W c #3C3C35357979", +"Q c #363631317575", +"! c #32322D2D6B6B", +"~ c #323229296363", +"^ c #30301F1F6262", +"/ c #323218185E5E", +"( c #272707074B4B", +") c #202028286C6C", +"_ c #1E1E1D1D6868", +"` c #9A9A8282BBBB", +"' c #C8C8B3B3D3D3", +"] c #B3B3AFAFE7E7", +"[ c #84847272C6C6", +"{ c #58585757A3A3", +"} c #3F3F3C3C8A8A", +"| c #3B3B3A3A8484", +" . c #414139397D7D", +".. c #3D3D39397A7A", +"X. c #37372E2E6E6E", +"o. c #2C2C21215A5A", +"O. c #2E2E1B1B5B5B", +"+. c #F5F5EFEFF5F5", +"@. c #656566669A9A", +"#. c #47474B4B8E8E", +"$. c #3C3C44447B7B", +"%. c #444442428080", +"&. c #45453E3E8181", +"*. c #40403C3C8181", +"=. c #3D3D33337474", +"-. c #3B3B30306E6E", +";. c #38382D2D6969", +":. c #303026265D5D", +">. c #2C2C15155A5A", +",. c #1F1F1C1C7070", +"<. c #25251E1E7171", +"1. c #59595C5C9191", +"2. c #4D4D53538989", +"3. c #4C4C49498484", +"4. c #484845458585", +"5. c #494941418585", +"6. c #494940408181", +"7. c #2F2F1C1C5353", +"8. c #2B2B28287676", +"9. c #323231317F7F", +"0. c #545452528B8B", +"q. c #51514E4E8989", +"w. c #4E4E4B4B8C8C", +"e. c #4C4C47478686", +"r. c #46463D3D7E7E", +"t. c #434336367A7A", +"y. c #2B2B13135555", +"u. c #47473D3D8D8D", +"i. c #575757578E8E", +"p. c #48483E3E7F7F", +"a. c #46463A3A7D7D", +"s. c #424235357575", +"d. c #404034347171", +"f. c #BFBFCBCBFAFA", +"g. c #B8B8A8A8DDDD", +"h. c #5E5E60609292", +"j. c #565655558C8C", +"k. c #4B4B44448282", +"l. c #454539397B7B", +"z. c #434338387878", +"x. c #3F3F32326D6D", +"c. c #3D3D30306969", +"v. c #3A3A2E2E6363", +"b. c #36362A2A5C5C", +"n. c #343424245555", +"m. c #30301E1E4D4D", +"M. c #49493C3C8282", +"N. c #5E5E4F4F8C8C", +"B. c #56563B3B8B8B", +"V. c #545407078585", +"C. c #424234347272", +"Z. c #9797A4A4F7F7", +"A. c #444436367676", +"S. c #7D7D7979D5D5", +"D. c #464640408A8A", +"F. c #44444B4B8282", +"G. c #414107077777", +"H. c #71716161C1C1", +"J. c #303039397979", +"K. c #8E8E8E8EE6E6", +"L. c #404033338B8B", +"P. c #4A4A45458C8C", +"I. c #46463A3A8080", +"U. c #363629295454", +"Y. c #303022224848", +"T. c #424237377575", +"R. c #2E2E1D1D6363", +"E. c #79798383EAEA", +"W. c #74747B7BE4E4", +"Q. c #6D6D7676D6D6", +"!. c #6A6A7171CECE", +"~. c #66666969C6C6", +"^. c #62626565BCBC", +"/. c #5F5F6060B5B5", +"(. c #5B5B5B5BACAC", +"). c #535353539898", +"_. c #4F4F4F4FA4A4", +"`. c #54544D4DA4A4", +"'. c #323204046B6B", +"]. c #303035357979", +"[. c #313122224343", +"{. c #5A5A5B5BB7B7", +"}. c #484846468080", +"|. c #454541417575", +" X c #4B4B31318282", +".X c #47473C3C8484", +"XX c #3E3E35356E6E", +"oX c #2F2F26264040", +"OX c #2B2B23233A3A", +"+X c #262619195C5C", +"@X c #252515155A5A", +"#X c #55555151B3B3", +"$X c #3C3C2D2D5D5D", +"%X c #39392F2F5656", +"&X c #37372D2D5050", +"*X c #25251F1F3030", +"=X c #24241D1D4343", +"-X c #202013135656", +";X c #41413B3B6C6C", +":X c #444442429696", +">X c #212100005E5E", +",X c #444436367272", +" > , , , ", +" . . X X < < o o O O + @ 1 2 2 1 1 1 1 1 1 1 1 3 4 # # $ $ $ % % % 5 = = 6 6 - ; ; > > , , 7 ", +" . 8 < < < o O O + @ @ 2 9 9 0 0 q q q q q q q w 3 4 4 e e $ $ $ $ % 5 = = 6 6 6 ; ; > > r t ", +" . X < y u O O + @ 1 2 i 0 0 p p p p p p p a a p a s 3 4 4 e e e e d 5 5 f f 6 6 6 ; ; r r t ", +" X < y u O + + @ 2 9 0 g p p h h h h h h h p h h a a s s j k k j l d d 5 5 f f 6 6 r r r r r ", +" X < y O z x x 9 0 g c v b n n n n n n n n n n n h a a s s j j m l M d d N f f B B B B r r r ", +" < y u + z 2 0 c c b V C Z C C A A A A A S S S n h D w w m m m m k l M d d N f F F F B r r r ", +" < y O z z 9 c b V Z G H H H G S G G J J H V v c g g K K K K L P l l l M M N N N N I B B r r ", +" U u + z x i v C H Y J J J J H J T R H V E W W Q Q Q Q ! ! ! ~ ^ ^ / / M M M M M N ( B B r r ", +" ) _ z x 9 g b Z Y ` ' ' ' T T ] [ { } | .........W W Q Q X.! ~ ~ o.O./ / / / N F ( B B B r ", +" ) ) z x i c V G J ' +.+.+.+.] [ @.#.$.%.%.%.&.*. . .....W =.-.X.;.~ :.o.O.^ >.N F ( B B B B ", +" ) ,.<.2 g v C H J ' +.+.+.+.T Y 1.2.3.4.4.4.5.6.&.&. . ...W =.=.-.;.~ :.o.7.>.N F F ( B I I ", +" ) ,.<.8.9.b C H J T +.+.+.' J @.1.0.q.q.w.e.4.5.6.&.r. . .t.W =.=.-.;.~ :.o.7.y.N F ( ( I I ", +" 8.8.8.9.| u.C G J T +.+.' ` Y @.1.i.0.q.q.e.e.5.6.p.r.a. .t.t.s.d.d.-.;.~ :.7.7.y.F F ( I I ", +" 9.c c c v b A S H ' f.g.` Y @.h.1.i.j.0.q.q.e.k.6.p.r.a.l.t.z.s.s.d.x.c.v.b.n.m.7.N F F F I ", +" <.g M.N.B.B.n V.J f.R J @.h.h.1.i.i.j.j.0.q.3.k.6.p.r.a.l.l.z.s.C.d.x.x.c.v.b.n.m.y.N F F F ", +" + x i v B.Z Z G g.Z.[ @.2.i.i.j.j.j.j.j.0.q.3.k.6.p.p.a.l.l.A.s.C.C.d.x.c.v.b.n.m.7.y.N N y. ", +" O # 3 w p n Z ` f.S.H D.F.q.0.0.0.0.j.0.q.q.3.k.6.p.r.a.a.l.A.s.s.C.d.x.x.c.v.b.n.m.y.y.y.y. ", +" O # 4 s a G.V.T Z.H.V J.%.e.w.q.0.0.0.0.q.q.e.k.6.p.r.a.a.l.z.A.s.C.d.d.x.c.v.b.n.m.7.>.y.y. ", +" O # 4 s w G.A f.K.H L...4.P.w.w.w.q.q.q.q.e.e.5.6.M.I.I.a.a.l.z.A.s.d.d.x.c.v.v.U.Y.7.O.>.y. ", +" $ # 4 3 s G.G f.S.Z 9.*.D.P.P.w.w.w.w.w.e.e.5.5.M.M.I.I.a.a.l.z.T.s.d.d.x.x.c.v.U.Y.m.R.>.>. ", +" E.E.W.W.W.W.E.Z.E.W.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.!.!.!.!.!.~.~.~.~.~.~.^.^.^.^.^./././.(.{ { )._.`._. ", +" + # 3 w s '.` f.H.V ].*.D.P.P.P.P.P.P.P.5.5.5.M.M.M.I.I.a.l.z.z.T.T.s.d.d.x.c.v.U.Y.[.^ O.>. ", +" ~.~.~.~.~.~.K.Z.S.~.{.^.^.^.^.^.^.^.^././././././.(.(.(.(.(.(.{ { { { { ).).).w.w.}.|.P.u.} ", +" .I.6. X X XT f.H.b ].*.E D.D.D.D.5.5..X.XM.M.I.I.a.a.l.l.z.z.T.T.T.d.XXx.c.v.b.U.oXOXR.+X@X ", +" E.E.E.W.W.W.K.Z.E.W.Q.Q.Q.Q.Q.Q.Q.Q.!.!.!.!.!.!.~.~.~.~.~.~.^.^.^.^.^./././.(.{ { ).).#X_._. ", +" & % $ e '.= H f.H.b 8.W *.E E E .X.X.XI.I.I.I.a.a.l.l.z.z.T.T.T.C.XXXXc.v.$X%X&XY.*X=X2 @X-X ", +" {.{.{.{.{.#X~.Z.W.~.{.{./././././././././.(.(.(.(.(.(.(.{ { { { { { ).).).w.w.3.}.;X%.:X} } ", +" & & % $ e >XV.f.S.C K X.W t. . .l.l.t.t.t.t.A.A.A.,X,X,X,X,XX7X` Z.Z D ! =.=.s.t.t.t.A.A.s.A.,X,X,X,X > > t t t cX ", +" nXbXbXzXzXlXaXXXY +Xf = f = 7XtXR R mXn.Y.[.[.[.[.OX*X*X8X5X*X=X,.u vXvX; > > MXMX, 7 t t ", +" nXnXnXbXzXvX-.Y +XcX6 6 = = = d L B.G H `.X.:.7.m.=X=X=X=X=X6X,.u cXvXNX: BX> MXVXCXVX7 7 7 ", +" ZXZXnXbXAXgX@.+XvX; - - - - * @XR.>.sX>.R.i 0 x eXeXeXeXO hXaXcXvXNX: BXMXMXMXVXCXCXCXVX7 7 ", +" SXZXZXAXgXN.aXNX: : NXNXNX- * +X+X* 6 6 6 * * * * * * * vXvX- NX: DXBXMXMXFXCXCXCXCXGXVXVX7 ", +" SXSXHXgX0.JXKXLXKXKXDX: : NX* @X-X- - - - - - - - - - - NX: DXDXDXMXMXFXFXCXCXCXCXGXGXGXVXVX ", +" SXHXPX3.JXnXnXnXnXbXLXKXKXNXaX-XvX: : NX: : : : : : : BXDXDXLXMXMXFXFXCXCXCXCXGXGXGXGXGXGXGX ", +" IXUX$.AXZXZXZXZXnXnXnXLXLXNXJXvXBXDXBXBXBXBXDXDXDXDXLXDXLXLXFXFXFXFXCXCXCXCXGXGXGXGXGXGXGXGX ", +" "}; diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_window_16.gif b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_window_16.gif new file mode 100644 index 000000000..05626b17d Binary files /dev/null and b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_window_16.gif differ diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_window_32.gif b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_window_32.gif new file mode 100644 index 000000000..b432f8833 Binary files /dev/null and b/security/eclipse/plugins/org.argeo.security.ui.application/icons/alt_window_32.gif differ diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/log4j.properties b/security/eclipse/plugins/org.argeo.security.ui.application/log4j.properties new file mode 100644 index 000000000..8a89a4aa3 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/log4j.properties @@ -0,0 +1,24 @@ +log4j.rootLogger=WARN, console + +## Levels +log4j.logger.org.argeo=DEBUG +log4j.logger.org.springframework.security=DEBUG + +log4j.logger.org.apache.catalina=INFO +log4j.logger.org.apache.coyote=INFO +log4j.logger.org.apache.tomcat=INFO + +log4j.logger.org.apache.directory.server=INFO +log4j.logger.org.apache.directory.server.core.partition=ERROR +log4j.logger.org.apache.directory.server.core.schema.bootstrap.BootstrapAttributeTypeRegistry=ERROR + +log4j.logger.org.apache.jackrabbit=WARN +log4j.logger.org.apache.jackrabbit.core.query.lucene=ERROR + +## Appenders +# console is set to be a ConsoleAppender. +log4j.appender.console=org.apache.log4j.ConsoleAppender + +# console uses PatternLayout. +log4j.appender.console.layout=org.apache.log4j.PatternLayout +log4j.appender.console.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c - [%t]%n diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/plugin.xml b/security/eclipse/plugins/org.argeo.security.ui.application/plugin.xml new file mode 100644 index 000000000..a0bd55922 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/plugin.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/pom.xml b/security/eclipse/plugins/org.argeo.security.ui.application/pom.xml new file mode 100644 index 000000000..304eea33b --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/pom.xml @@ -0,0 +1,152 @@ + + 4.0.0 + + org.argeo.commons.security + 0.2.2-SNAPSHOT + plugins + .. + + org.argeo.security.ui.application + Commons Security UI Application + jar + + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-source-plugin + + + org.apache.maven.plugins + maven-jar-plugin + + + org.apache.felix + maven-bundle-plugin + ${version.maven-bundle-plugin} + + + lazy + org.eclipse.ui;resolution:=optional,org.eclipse.rap.ui;resolution:=optional,org.eclipse.core.runtime + * + + + + + org.argeo.maven.plugins + maven-argeo-osgi-plugin + + + resolve-pde-sources + + pde-sources + + generate-resources + + + generate-descriptors + + descriptors + + generate-resources + + + check-osgi + test + + equinox + + + true + + -clean + + + + + + + + + + + org.argeo.commons.security + org.argeo.security.equinox + 0.2.2-SNAPSHOT + + + org.argeo.commons.security + org.argeo.security.ui + 0.2.2-SNAPSHOT + + + org.argeo.commons.server + org.argeo.server.dep.ads + 0.2.2-SNAPSHOT + pom + + + org.argeo.commons.server + org.argeo.server.ads.server + 0.2.2-SNAPSHOT + + + org.argeo.commons.security + org.argeo.security.services + 0.2.2-SNAPSHOT + + + org.argeo.commons.security + org.argeo.security.manager.ldap + 0.2.2-SNAPSHOT + + + org.argeo.commons.server + org.argeo.server.ads + 0.2.2-SNAPSHOT + + + org.argeo.dep.osgi + org.argeo.dep.osgi.springframework.ldap + + + + + org.argeo.commons.eclipse + org.argeo.eclipse.dep.rcp + 0.2.2-SNAPSHOT + + + + + org.argeo.commons.server + org.argeo.server.json + 0.2.2-SNAPSHOT + + + + + org.argeo.commons.basic + org.argeo.basic.nodeps + 0.2.2-SNAPSHOT + + + + + + org.slf4j + com.springsource.slf4j.org.apache.commons.logging + + + + org.argeo.commons.basic + org.argeo.basic.dep.log4j + 0.2.2-SNAPSHOT + pom + + + diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/AbstractSecureApplication.java b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/AbstractSecureApplication.java new file mode 100644 index 000000000..5073edf85 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/AbstractSecureApplication.java @@ -0,0 +1,121 @@ +package org.argeo.security.ui.application; + +import java.security.PrivilegedAction; + +import javax.security.auth.Subject; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.argeo.security.equinox.CurrentUser; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.equinox.app.IApplication; +import org.eclipse.equinox.app.IApplicationContext; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.jface.dialogs.ErrorSupportProvider; +import org.eclipse.jface.util.Policy; +import org.eclipse.jface.window.Window.IExceptionHandler; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.application.WorkbenchAdvisor; +import org.eclipse.ui.internal.statushandlers.StackTraceSupportArea; +import org.eclipse.ui.statushandlers.WorkbenchStatusDialogManager; + +public abstract class AbstractSecureApplication implements IApplication { + private static final Log log = LogFactory + .getLog(AbstractSecureApplication.class); + + protected abstract WorkbenchAdvisor createWorkbenchAdvisor(); + + public Object start(IApplicationContext context) throws Exception { + + Integer returnCode = null; + Display display = PlatformUI.createDisplay(); + + // Force login + + try { + String username = null; + Exception loginException = null; + try { + username = CurrentUser.getUsername(); + } catch (Exception e) { + loginException = e; + } + if (username == null) { + IStatus status = new Status(IStatus.ERROR, + "org.argeo.security.application", "Login is mandatory", + loginException); + ErrorDialog.openError(null, "Error", "Shutdown...", status); + return status.getSeverity(); + } + if (log.isDebugEnabled()) + log.debug("Logged in as " + username); + returnCode = (Integer) Subject.doAs(CurrentUser.getSubject(), + getRunAction(display)); + if (log.isDebugEnabled()) + log.debug("secure action completed"); + CurrentUser.logout(); + return processReturnCode(returnCode); + } catch (Exception e) { + // e.printStackTrace(); + IStatus status = new Status(IStatus.ERROR, + "org.argeo.security.rcp", "Login failed", e); + ErrorDialog.openError(null, "Error", "Shutdown...", status); + return returnCode; + } finally { + display.dispose(); + } + } + + protected Integer processReturnCode(Integer returnCode) { + return returnCode; + } + + @SuppressWarnings("rawtypes") + private PrivilegedAction getRunAction(final Display display) { + return new PrivilegedAction() { + + public Object run() { + int result = createAndRunWorkbench(display); + return new Integer(result); + } + }; + } + + protected Integer createAndRunWorkbench(Display display) { + return PlatformUI.createAndRunWorkbench(display, + createWorkbenchAdvisor()); + } + + public void stop() { + final IWorkbench workbench; + try { + workbench = PlatformUI.getWorkbench(); + } catch (Exception e) { + return; + } + if (workbench == null) + return; + final Display display = workbench.getDisplay(); + if (display != null && !display.isDisposed()) + display.syncExec(new Runnable() { + + public void run() { + if (!display.isDisposed()) + workbench.close(); + } + }); + + if (log.isDebugEnabled()) + log.debug("workbench stopped"); + String username = CurrentUser.getUsername(); + if (log.isDebugEnabled()) + log.debug("workbench stopped, logged in as " + username); + + } + +} diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/RapSecureWorkbenchWindowAdvisor.java b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/RapSecureWorkbenchWindowAdvisor.java new file mode 100644 index 000000000..cd1b0206f --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/RapSecureWorkbenchWindowAdvisor.java @@ -0,0 +1,39 @@ +package org.argeo.security.ui.application; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.application.ActionBarAdvisor; +import org.eclipse.ui.application.IActionBarConfigurer; +import org.eclipse.ui.application.IWorkbenchWindowConfigurer; + +public class RapSecureWorkbenchWindowAdvisor extends + SecureWorkbenchWindowAdvisor { + + public RapSecureWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { + super(configurer); + } + + @Override + public ActionBarAdvisor createActionBarAdvisor( + IActionBarConfigurer configurer) { + return new SecureActionBarAdvisor(configurer, false); + } + + public void preWindowOpen() { + IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); + // configurer.setInitialSize(new Point(800, 600)); + configurer.setShowCoolBar(false); + configurer.setShowMenuBar(true); + configurer.setShowStatusLine(false); + configurer.setShowPerspectiveBar(true); + configurer.setTitle("Argeo Secure UI"); //$NON-NLS-1$ + // Full screen, see + // http://dev.eclipse.org/newslists/news.eclipse.technology.rap/msg02697.html + configurer.setShellStyle(SWT.NONE); + Rectangle bounds = Display.getDefault().getBounds(); + configurer.setInitialSize(new Point(bounds.width, bounds.height)); + } + +} diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureActionBarAdvisor.java b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureActionBarAdvisor.java new file mode 100644 index 000000000..956467fa2 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureActionBarAdvisor.java @@ -0,0 +1,87 @@ +package org.argeo.security.ui.application; + +import org.eclipse.jface.action.GroupMarker; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.ui.IWorkbenchActionConstants; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.actions.ActionFactory; +import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction; +import org.eclipse.ui.application.ActionBarAdvisor; +import org.eclipse.ui.application.IActionBarConfigurer; + +public class SecureActionBarAdvisor extends ActionBarAdvisor { + private IWorkbenchAction exitAction; + private IWorkbenchAction openPerspectiveDialogAction; + private IWorkbenchAction showViewMenuAction; + private IWorkbenchAction newWindowAction; + private IWorkbenchAction preferences; + private IWorkbenchAction helpContentAction; + // private IWorkbenchAction aboutAction; + + private final Boolean isRcp; + + public SecureActionBarAdvisor(IActionBarConfigurer configurer, Boolean isRcp) { + super(configurer); + this.isRcp = isRcp; + } + + protected void makeActions(IWorkbenchWindow window) { + preferences = ActionFactory.PREFERENCES.create(window); + register(preferences); + openPerspectiveDialogAction = ActionFactory.OPEN_PERSPECTIVE_DIALOG + .create(window); + register(openPerspectiveDialogAction); + showViewMenuAction = ActionFactory.SHOW_VIEW_MENU.create(window); + register(showViewMenuAction); + helpContentAction = ActionFactory.HELP_CONTENTS.create(window); + register(helpContentAction); + + exitAction = ActionFactory.QUIT.create(window); + register(exitAction); + if (isRcp) { + // aboutAction = ActionFactory.ABOUT.create(window); + // register(aboutAction); + newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window); + register(newWindowAction); + } + } + + protected void fillMenuBar(IMenuManager menuBar) { + MenuManager fileMenu = new MenuManager("&File", + IWorkbenchActionConstants.M_FILE); + MenuManager editMenu = new MenuManager("&Edit", + IWorkbenchActionConstants.M_EDIT); + MenuManager windowMenu = new MenuManager("&Window", + IWorkbenchActionConstants.M_WINDOW); + MenuManager helpMenu = new MenuManager("&Help", + IWorkbenchActionConstants.M_HELP); + + menuBar.add(fileMenu); + menuBar.add(editMenu); + menuBar.add(windowMenu); + // Add a group marker indicating where action set menus will appear. + menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); + menuBar.add(helpMenu); + + // File + if (isRcp) { + fileMenu.add(newWindowAction); + fileMenu.add(new Separator()); + } + fileMenu.add(exitAction); + + // Edit + editMenu.add(preferences); + + // Window + windowMenu.add(openPerspectiveDialogAction); + windowMenu.add(showViewMenuAction); + + // Help + helpMenu.add(helpContentAction); + // helpMenu.add(aboutAction); + } + +} diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureRap.java b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureRap.java new file mode 100644 index 000000000..5f2ea3edc --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureRap.java @@ -0,0 +1,38 @@ +package org.argeo.security.ui.application; + +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.application.IWorkbenchWindowConfigurer; +import org.eclipse.ui.application.WorkbenchAdvisor; +import org.eclipse.ui.application.WorkbenchWindowAdvisor; + +/** Generic secure application for RAP. */ +public class SecureRap extends AbstractSecureApplication { + + @Override + protected WorkbenchAdvisor createWorkbenchAdvisor() { + return new SecureWorkbenchAdvisor() { + public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor( + IWorkbenchWindowConfigurer configurer) { + return new RapSecureWorkbenchWindowAdvisor(configurer); + } + + }; + } + + public void stop() { + final IWorkbench workbench = PlatformUI.getWorkbench(); + if (workbench == null) + return; + final Display display = workbench.getDisplay(); + display.syncExec(new Runnable() { + + public void run() { + if (!display.isDisposed()) + workbench.close(); + } + }); + } + +} diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureRcp.java b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureRcp.java new file mode 100644 index 000000000..b8576c4b9 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureRcp.java @@ -0,0 +1,21 @@ +package org.argeo.security.ui.application; + +import org.eclipse.equinox.app.IApplication; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.application.WorkbenchAdvisor; + +public class SecureRcp extends AbstractSecureApplication { + + @Override + protected WorkbenchAdvisor createWorkbenchAdvisor() { + return new SecureWorkbenchAdvisor(); + } + + protected Integer processReturnCode(Integer returnCode) { + if (returnCode == PlatformUI.RETURN_RESTART) + return IApplication.EXIT_RESTART; + else + return IApplication.EXIT_OK; + } + +} diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureWorkbenchAdvisor.java b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureWorkbenchAdvisor.java new file mode 100644 index 000000000..dd12e63af --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureWorkbenchAdvisor.java @@ -0,0 +1,18 @@ +package org.argeo.security.ui.application; + +import org.eclipse.ui.application.IWorkbenchWindowConfigurer; +import org.eclipse.ui.application.WorkbenchAdvisor; +import org.eclipse.ui.application.WorkbenchWindowAdvisor; + +public class SecureWorkbenchAdvisor extends WorkbenchAdvisor { + + static final String PERSPECTIVE_ID = "org.argeo.security.ui.securityPerspective"; //$NON-NLS-1$ + + public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { + return new SecureWorkbenchWindowAdvisor(configurer); + } + + public String getInitialWindowPerspectiveId() { + return PERSPECTIVE_ID; + } +} diff --git a/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureWorkbenchWindowAdvisor.java b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureWorkbenchWindowAdvisor.java new file mode 100644 index 000000000..0e875c8b0 --- /dev/null +++ b/security/eclipse/plugins/org.argeo.security.ui.application/src/main/java/org/argeo/security/ui/application/SecureWorkbenchWindowAdvisor.java @@ -0,0 +1,30 @@ +package org.argeo.security.ui.application; + +import org.eclipse.swt.graphics.Point; +import org.eclipse.ui.application.ActionBarAdvisor; +import org.eclipse.ui.application.IActionBarConfigurer; +import org.eclipse.ui.application.IWorkbenchWindowConfigurer; +import org.eclipse.ui.application.WorkbenchWindowAdvisor; + +public class SecureWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor { + + public SecureWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { + super(configurer); + } + + public ActionBarAdvisor createActionBarAdvisor( + IActionBarConfigurer configurer) { + return new SecureActionBarAdvisor(configurer, true); + } + + public void preWindowOpen() { + IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); + configurer.setInitialSize(new Point(800, 600)); + configurer.setShowCoolBar(false); + configurer.setShowMenuBar(true); + configurer.setShowStatusLine(false); + configurer.setShowPerspectiveBar(true); + configurer.setTitle("Argeo Secure UI"); //$NON-NLS-1$ + } + +} diff --git a/security/eclipse/plugins/org.argeo.security.ui.rap/pom.xml b/security/eclipse/plugins/org.argeo.security.ui.rap/pom.xml index 1cbb1a457..ea7689d45 100644 --- a/security/eclipse/plugins/org.argeo.security.ui.rap/pom.xml +++ b/security/eclipse/plugins/org.argeo.security.ui.rap/pom.xml @@ -62,7 +62,7 @@ org.argeo.commons.security - org.argeo.security.ui.rcp + org.argeo.security.ui.application 0.2.2-SNAPSHOT pom diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/.classpath b/security/eclipse/plugins/org.argeo.security.ui.rcp/.classpath deleted file mode 100644 index 92f19d2ff..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/.project b/security/eclipse/plugins/org.argeo.security.ui.rcp/.project deleted file mode 100644 index feeafcf5b..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - org.argeo.security.ui.rcp - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/.settings/org.eclipse.jdt.core.prefs b/security/eclipse/plugins/org.argeo.security.ui.rcp/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 1f382cb9d..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,8 +0,0 @@ -#Sat Jan 15 17:51:30 CET 2011 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.5 diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/SecureRCP.product b/security/eclipse/plugins/org.argeo.security.ui.rcp/SecureRCP.product deleted file mode 100644 index f64b05182..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/SecureRCP.product +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - -console -clean - -Dlog4j.configuration=file:/home/mbaudier/dev/src/commons/security/eclipse/plugins/org.argeo.security.ui.rcp/log4j.properties - -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/argeo_security_rap.properties b/security/eclipse/plugins/org.argeo.security.ui.rcp/argeo_security_rap.properties deleted file mode 100644 index 355774942..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/argeo_security_rap.properties +++ /dev/null @@ -1,24 +0,0 @@ -argeo.osgi.start=\ -com.springsource.javax.servlet,\ -org.eclipse.core.runtime,\ -org.eclipse.equinox.common,\ -org.eclipse.equinox.http.jetty,\ -org.eclipse.equinox.http.registry,\ -org.eclipse.equinox.launcher,\ -org.eclipse.rap.demo,\ -org.mortbay.jetty.server,\ -org.springframework.osgi.extender,\ -org.argeo.server.ads.server,\ -org.argeo.security.manager.ldap,\ -org.argeo.security.services,\ -org.argeo.security.equinox,\ -org.argeo.security.ui,\ -org.argeo.security.ui.rcp,\ - -eclipse.ignoreApp=true -osgi.noShutdown=true - -log4j.configuration=file:../../log4j.properties - -org.eclipse.equinox.http.jetty.log.stderr.threshold=debug -org.osgi.service.http.port=9090 diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/build.properties b/security/eclipse/plugins/org.argeo.security.ui.rcp/build.properties deleted file mode 100644 index ac478ab24..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/build.properties +++ /dev/null @@ -1,7 +0,0 @@ -source.. = src/main/java/ -output.. = target/classes/ -bin.includes = plugin.xml,\ - META-INF/,\ - .,\ - log4j.properties,\ - jaas_config.txt diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_about.gif b/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_about.gif deleted file mode 100644 index 20d9ad2d9..000000000 Binary files a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_about.gif and /dev/null differ diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_launcher.icns b/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_launcher.icns deleted file mode 100644 index b77a6a639..000000000 Binary files a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_launcher.icns and /dev/null differ diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_launcher.ico b/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_launcher.ico deleted file mode 100644 index d548f7109..000000000 Binary files a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_launcher.ico and /dev/null differ diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_launcher.xpm b/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_launcher.xpm deleted file mode 100644 index b0c139e06..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_launcher.xpm +++ /dev/null @@ -1,307 +0,0 @@ -/* XPM */ -static char * icon48_xpm[] = { -"48 48 256 2", -" c #4B4B3B3B9090", -". c #0D0D0E0E5454", -"X c #11110E0E5B5B", -"o c #17170F0F6363", -"O c #1D1D13136969", -"+ c #212114146C6C", -"@ c #252514147171", -"# c #282811116C6C", -"$ c #26260D0D6363", -"% c #22220B0B5E5E", -"& c #1C1C0B0B5A5A", -"* c #1C1C0B0B5252", -"= c #1B1B05055353", -"- c #161606064D4D", -"; c #161605054949", -": c #111104044848", -"> c #131304044545", -", c #131305054242", -"< c #141410105E5E", -"1 c #2C2C15157373", -"2 c #2B2B1B1B7575", -"3 c #343416167272", -"4 c #313113136E6E", -"5 c #222209095757", -"6 c #1B1B06064D4D", -"7 c #15150B0B4242", -"8 c #13130C0C5555", -"9 c #2E2E1B1B7878", -"0 c #33331F1F7C7C", -"q c #343418187878", -"w c #3B3B1C1C7575", -"e c #2E2E10106767", -"r c #1B1B07074747", -"t c #18180B0B4646", -"y c #151513136262", -"u c #1A1A15156464", -"i c #34341F1F7777", -"p c #40401E1E8080", -"a c #42421B1B7A7A", -"s c #3B3B15157474", -"d c #2B2B0B0B5B5B", -"f c #222207075252", -"g c #373727277A7A", -"h c #474724248484", -"j c #393915156E6E", -"k c #373711116A6A", -"l c #343413136363", -"z c #232319196E6E", -"x c #292919197070", -"c c #3C3C2C2C8282", -"v c #444431318585", -"b c #494934348A8A", -"n c #505026268A8A", -"m c #3D3D1B1B6E6E", -"M c #31310E0E5C5C", -"N c #2B2B0D0D5353", -"B c #222207074A4A", -"V c #52523C3C9292", -"C c #58583C3C9494", -"Z c #5D5D44449797", -"A c #5C5C2E2E9292", -"S c #676733339595", -"D c #424228287575", -"F c #29290A0A4F4F", -"G c #6C6C4A4A9E9E", -"H c #72725454A7A7", -"J c #8C8C6D6DB2B2", -"K c #343424246E6E", -"L c #3A3A23236A6A", -"P c #3A3A1C1C6767", -"I c #24240A0A4B4B", -"U c #151518186161", -"Y c #76766F6FA5A5", -"T c #ADAD9191CCCC", -"R c #98988989D3D3", -"E c #45453B3B8686", -"W c #3C3C35357979", -"Q c #363631317575", -"! c #32322D2D6B6B", -"~ c #323229296363", -"^ c #30301F1F6262", -"/ c #323218185E5E", -"( c #272707074B4B", -") c #202028286C6C", -"_ c #1E1E1D1D6868", -"` c #9A9A8282BBBB", -"' c #C8C8B3B3D3D3", -"] c #B3B3AFAFE7E7", -"[ c #84847272C6C6", -"{ c #58585757A3A3", -"} c #3F3F3C3C8A8A", -"| c #3B3B3A3A8484", -" . c #414139397D7D", -".. c #3D3D39397A7A", -"X. c #37372E2E6E6E", -"o. c #2C2C21215A5A", -"O. c #2E2E1B1B5B5B", -"+. c #F5F5EFEFF5F5", -"@. c #656566669A9A", -"#. c #47474B4B8E8E", -"$. c #3C3C44447B7B", -"%. c #444442428080", -"&. c #45453E3E8181", -"*. c #40403C3C8181", -"=. c #3D3D33337474", -"-. c #3B3B30306E6E", -";. c #38382D2D6969", -":. c #303026265D5D", -">. c #2C2C15155A5A", -",. c #1F1F1C1C7070", -"<. c #25251E1E7171", -"1. c #59595C5C9191", -"2. c #4D4D53538989", -"3. c #4C4C49498484", -"4. c #484845458585", -"5. c #494941418585", -"6. c #494940408181", -"7. c #2F2F1C1C5353", -"8. c #2B2B28287676", -"9. c #323231317F7F", -"0. c #545452528B8B", -"q. c #51514E4E8989", -"w. c #4E4E4B4B8C8C", -"e. c #4C4C47478686", -"r. c #46463D3D7E7E", -"t. c #434336367A7A", -"y. c #2B2B13135555", -"u. c #47473D3D8D8D", -"i. c #575757578E8E", -"p. c #48483E3E7F7F", -"a. c #46463A3A7D7D", -"s. c #424235357575", -"d. c #404034347171", -"f. c #BFBFCBCBFAFA", -"g. c #B8B8A8A8DDDD", -"h. c #5E5E60609292", -"j. c #565655558C8C", -"k. c #4B4B44448282", -"l. c #454539397B7B", -"z. c #434338387878", -"x. c #3F3F32326D6D", -"c. c #3D3D30306969", -"v. c #3A3A2E2E6363", -"b. c #36362A2A5C5C", -"n. c #343424245555", -"m. c #30301E1E4D4D", -"M. c #49493C3C8282", -"N. c #5E5E4F4F8C8C", -"B. c #56563B3B8B8B", -"V. c #545407078585", -"C. c #424234347272", -"Z. c #9797A4A4F7F7", -"A. c #444436367676", -"S. c #7D7D7979D5D5", -"D. c #464640408A8A", -"F. c #44444B4B8282", -"G. c #414107077777", -"H. c #71716161C1C1", -"J. c #303039397979", -"K. c #8E8E8E8EE6E6", -"L. c #404033338B8B", -"P. c #4A4A45458C8C", -"I. c #46463A3A8080", -"U. c #363629295454", -"Y. c #303022224848", -"T. c #424237377575", -"R. c #2E2E1D1D6363", -"E. c #79798383EAEA", -"W. c #74747B7BE4E4", -"Q. c #6D6D7676D6D6", -"!. c #6A6A7171CECE", -"~. c #66666969C6C6", -"^. c #62626565BCBC", -"/. c #5F5F6060B5B5", -"(. c #5B5B5B5BACAC", -"). c #535353539898", -"_. c #4F4F4F4FA4A4", -"`. c #54544D4DA4A4", -"'. c #323204046B6B", -"]. c #303035357979", -"[. c #313122224343", -"{. c #5A5A5B5BB7B7", -"}. c #484846468080", -"|. c #454541417575", -" X c #4B4B31318282", -".X c #47473C3C8484", -"XX c #3E3E35356E6E", -"oX c #2F2F26264040", -"OX c #2B2B23233A3A", -"+X c #262619195C5C", -"@X c #252515155A5A", -"#X c #55555151B3B3", -"$X c #3C3C2D2D5D5D", -"%X c #39392F2F5656", -"&X c #37372D2D5050", -"*X c #25251F1F3030", -"=X c #24241D1D4343", -"-X c #202013135656", -";X c #41413B3B6C6C", -":X c #444442429696", -">X c #212100005E5E", -",X c #444436367272", -" > , , , ", -" . . X X < < o o O O + @ 1 2 2 1 1 1 1 1 1 1 1 3 4 # # $ $ $ % % % 5 = = 6 6 - ; ; > > , , 7 ", -" . 8 < < < o O O + @ @ 2 9 9 0 0 q q q q q q q w 3 4 4 e e $ $ $ $ % 5 = = 6 6 6 ; ; > > r t ", -" . X < y u O O + @ 1 2 i 0 0 p p p p p p p a a p a s 3 4 4 e e e e d 5 5 f f 6 6 6 ; ; r r t ", -" X < y u O + + @ 2 9 0 g p p h h h h h h h p h h a a s s j k k j l d d 5 5 f f 6 6 r r r r r ", -" X < y O z x x 9 0 g c v b n n n n n n n n n n n h a a s s j j m l M d d N f f B B B B r r r ", -" < y u + z 2 0 c c b V C Z C C A A A A A S S S n h D w w m m m m k l M d d N f F F F B r r r ", -" < y O z z 9 c b V Z G H H H G S G G J J H V v c g g K K K K L P l l l M M N N N N I B B r r ", -" U u + z x i v C H Y J J J J H J T R H V E W W Q Q Q Q ! ! ! ~ ^ ^ / / M M M M M N ( B B r r ", -" ) _ z x 9 g b Z Y ` ' ' ' T T ] [ { } | .........W W Q Q X.! ~ ~ o.O./ / / / N F ( B B B r ", -" ) ) z x i c V G J ' +.+.+.+.] [ @.#.$.%.%.%.&.*. . .....W =.-.X.;.~ :.o.O.^ >.N F ( B B B B ", -" ) ,.<.2 g v C H J ' +.+.+.+.T Y 1.2.3.4.4.4.5.6.&.&. . ...W =.=.-.;.~ :.o.7.>.N F F ( B I I ", -" ) ,.<.8.9.b C H J T +.+.+.' J @.1.0.q.q.w.e.4.5.6.&.r. . .t.W =.=.-.;.~ :.o.7.y.N F ( ( I I ", -" 8.8.8.9.| u.C G J T +.+.' ` Y @.1.i.0.q.q.e.e.5.6.p.r.a. .t.t.s.d.d.-.;.~ :.7.7.y.F F ( I I ", -" 9.c c c v b A S H ' f.g.` Y @.h.1.i.j.0.q.q.e.k.6.p.r.a.l.t.z.s.s.d.x.c.v.b.n.m.7.N F F F I ", -" <.g M.N.B.B.n V.J f.R J @.h.h.1.i.i.j.j.0.q.3.k.6.p.r.a.l.l.z.s.C.d.x.x.c.v.b.n.m.y.N F F F ", -" + x i v B.Z Z G g.Z.[ @.2.i.i.j.j.j.j.j.0.q.3.k.6.p.p.a.l.l.A.s.C.C.d.x.c.v.b.n.m.7.y.N N y. ", -" O # 3 w p n Z ` f.S.H D.F.q.0.0.0.0.j.0.q.q.3.k.6.p.r.a.a.l.A.s.s.C.d.x.x.c.v.b.n.m.y.y.y.y. ", -" O # 4 s a G.V.T Z.H.V J.%.e.w.q.0.0.0.0.q.q.e.k.6.p.r.a.a.l.z.A.s.C.d.d.x.c.v.b.n.m.7.>.y.y. ", -" O # 4 s w G.A f.K.H L...4.P.w.w.w.q.q.q.q.e.e.5.6.M.I.I.a.a.l.z.A.s.d.d.x.c.v.v.U.Y.7.O.>.y. ", -" $ # 4 3 s G.G f.S.Z 9.*.D.P.P.w.w.w.w.w.e.e.5.5.M.M.I.I.a.a.l.z.T.s.d.d.x.x.c.v.U.Y.m.R.>.>. ", -" E.E.W.W.W.W.E.Z.E.W.Q.Q.Q.Q.Q.Q.Q.Q.Q.Q.!.!.!.!.!.~.~.~.~.~.~.^.^.^.^.^./././.(.{ { )._.`._. ", -" + # 3 w s '.` f.H.V ].*.D.P.P.P.P.P.P.P.5.5.5.M.M.M.I.I.a.l.z.z.T.T.s.d.d.x.c.v.U.Y.[.^ O.>. ", -" ~.~.~.~.~.~.K.Z.S.~.{.^.^.^.^.^.^.^.^././././././.(.(.(.(.(.(.{ { { { { ).).).w.w.}.|.P.u.} ", -" .I.6. X X XT f.H.b ].*.E D.D.D.D.5.5..X.XM.M.I.I.a.a.l.l.z.z.T.T.T.d.XXx.c.v.b.U.oXOXR.+X@X ", -" E.E.E.W.W.W.K.Z.E.W.Q.Q.Q.Q.Q.Q.Q.Q.!.!.!.!.!.!.~.~.~.~.~.~.^.^.^.^.^./././.(.{ { ).).#X_._. ", -" & % $ e '.= H f.H.b 8.W *.E E E .X.X.XI.I.I.I.a.a.l.l.z.z.T.T.T.C.XXXXc.v.$X%X&XY.*X=X2 @X-X ", -" {.{.{.{.{.#X~.Z.W.~.{.{./././././././././.(.(.(.(.(.(.(.{ { { { { { ).).).w.w.3.}.;X%.:X} } ", -" & & % $ e >XV.f.S.C K X.W t. . .l.l.t.t.t.t.A.A.A.,X,X,X,X,XX7X` Z.Z D ! =.=.s.t.t.t.A.A.s.A.,X,X,X,X > > t t t cX ", -" nXbXbXzXzXlXaXXXY +Xf = f = 7XtXR R mXn.Y.[.[.[.[.OX*X*X8X5X*X=X,.u vXvX; > > MXMX, 7 t t ", -" nXnXnXbXzXvX-.Y +XcX6 6 = = = d L B.G H `.X.:.7.m.=X=X=X=X=X6X,.u cXvXNX: BX> MXVXCXVX7 7 7 ", -" ZXZXnXbXAXgX@.+XvX; - - - - * @XR.>.sX>.R.i 0 x eXeXeXeXO hXaXcXvXNX: BXMXMXMXVXCXCXCXVX7 7 ", -" SXZXZXAXgXN.aXNX: : NXNXNX- * +X+X* 6 6 6 * * * * * * * vXvX- NX: DXBXMXMXFXCXCXCXCXGXVXVX7 ", -" SXSXHXgX0.JXKXLXKXKXDX: : NX* @X-X- - - - - - - - - - - NX: DXDXDXMXMXFXFXCXCXCXCXGXGXGXVXVX ", -" SXHXPX3.JXnXnXnXnXbXLXKXKXNXaX-XvX: : NX: : : : : : : BXDXDXLXMXMXFXFXCXCXCXCXGXGXGXGXGXGXGX ", -" IXUX$.AXZXZXZXZXnXnXnXLXLXNXJXvXBXDXBXBXBXBXDXDXDXDXLXDXLXLXFXFXFXFXCXCXCXCXGXGXGXGXGXGXGXGX ", -" "}; diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_window_16.gif b/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_window_16.gif deleted file mode 100644 index 05626b17d..000000000 Binary files a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_window_16.gif and /dev/null differ diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_window_32.gif b/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_window_32.gif deleted file mode 100644 index b432f8833..000000000 Binary files a/security/eclipse/plugins/org.argeo.security.ui.rcp/icons/alt_window_32.gif and /dev/null differ diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/log4j.properties b/security/eclipse/plugins/org.argeo.security.ui.rcp/log4j.properties deleted file mode 100644 index 8a89a4aa3..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/log4j.properties +++ /dev/null @@ -1,24 +0,0 @@ -log4j.rootLogger=WARN, console - -## Levels -log4j.logger.org.argeo=DEBUG -log4j.logger.org.springframework.security=DEBUG - -log4j.logger.org.apache.catalina=INFO -log4j.logger.org.apache.coyote=INFO -log4j.logger.org.apache.tomcat=INFO - -log4j.logger.org.apache.directory.server=INFO -log4j.logger.org.apache.directory.server.core.partition=ERROR -log4j.logger.org.apache.directory.server.core.schema.bootstrap.BootstrapAttributeTypeRegistry=ERROR - -log4j.logger.org.apache.jackrabbit=WARN -log4j.logger.org.apache.jackrabbit.core.query.lucene=ERROR - -## Appenders -# console is set to be a ConsoleAppender. -log4j.appender.console=org.apache.log4j.ConsoleAppender - -# console uses PatternLayout. -log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c - [%t]%n diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/plugin.xml b/security/eclipse/plugins/org.argeo.security.ui.rcp/plugin.xml deleted file mode 100644 index b1829e6f0..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/plugin.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/pom.xml b/security/eclipse/plugins/org.argeo.security.ui.rcp/pom.xml deleted file mode 100644 index f711c69ab..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/pom.xml +++ /dev/null @@ -1,159 +0,0 @@ - - 4.0.0 - - org.argeo.commons.security - 0.2.2-SNAPSHOT - plugins - .. - - org.argeo.security.ui.rcp - Commons Security UI RCP - jar - - - - org.apache.maven.plugins - maven-compiler-plugin - - - org.apache.maven.plugins - maven-source-plugin - - - org.apache.maven.plugins - maven-jar-plugin - - - org.apache.felix - maven-bundle-plugin - ${version.maven-bundle-plugin} - - - lazy - org.eclipse.ui;resolution:=optional,org.eclipse.rap.ui;resolution:=optional,org.eclipse.core.runtime - * - - - - - org.argeo.maven.plugins - maven-argeo-osgi-plugin - - - resolve-pde-sources - - pde-sources - - generate-resources - - - generate-descriptors - - descriptors - - generate-resources - - - check-osgi - test - - equinox - - - true - - -clean - - - - - - - - - - - org.argeo.commons.security - org.argeo.security.equinox - 0.2.2-SNAPSHOT - - - org.argeo.commons.security - org.argeo.security.ui - 0.2.2-SNAPSHOT - - - org.argeo.commons.server - org.argeo.server.dep.ads - 0.2.2-SNAPSHOT - pom - - - org.argeo.commons.server - org.argeo.server.ads.server - 0.2.2-SNAPSHOT - - - org.argeo.commons.security - org.argeo.security.services - 0.2.2-SNAPSHOT - - - org.argeo.commons.security - org.argeo.security.manager.ldap - 0.2.2-SNAPSHOT - - - org.argeo.commons.server - org.argeo.server.ads - 0.2.2-SNAPSHOT - - - org.argeo.dep.osgi - org.argeo.dep.osgi.springframework.ldap - - - - - org.argeo.commons.eclipse - org.argeo.eclipse.dep.rcp - 0.2.2-SNAPSHOT - - - - - org.argeo.commons.server - org.argeo.server.json - 0.2.2-SNAPSHOT - - - - - org.eclipse.ui - org.eclipse.ui - provided - - - - - org.argeo.commons.basic - org.argeo.basic.nodeps - 0.2.2-SNAPSHOT - - - - - - org.slf4j - com.springsource.slf4j.org.apache.commons.logging - - - - org.argeo.commons.basic - org.argeo.basic.dep.log4j - 0.2.2-SNAPSHOT - pom - - - diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/AbstractSecureApplication.java b/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/AbstractSecureApplication.java deleted file mode 100644 index f7c5fc5d1..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/AbstractSecureApplication.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.argeo.security.ui.rcp; - -import java.security.PrivilegedAction; - -import javax.security.auth.Subject; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.argeo.security.equinox.CurrentUser; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.equinox.app.IApplication; -import org.eclipse.equinox.app.IApplicationContext; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.application.WorkbenchAdvisor; - -public abstract class AbstractSecureApplication implements IApplication { - private static final Log log = LogFactory - .getLog(AbstractSecureApplication.class); - - protected abstract WorkbenchAdvisor createWorkbenchAdvisor(); - - public Object start(IApplicationContext context) throws Exception { - - Integer returnCode = null; - Display display = PlatformUI.createDisplay(); - - // Force login - String username = CurrentUser.getUsername(); - if (log.isDebugEnabled()) - log.debug("Logged in as " + username); - - try { - returnCode = (Integer) Subject.doAs(CurrentUser.getSubject(), - getRunAction(display)); - if (log.isDebugEnabled()) - log.debug("secure action completed"); - CurrentUser.logout(); - return processReturnCode(returnCode); - } catch (Exception e) { - // e.printStackTrace(); - IStatus status = new Status(IStatus.ERROR, - "org.argeo.security.rcp", "Login failed", e); - ErrorDialog.openError(null, "Error", "Login failed", status); - return returnCode; - } finally { - display.dispose(); - } - } - - protected Integer processReturnCode(Integer returnCode) { - return returnCode; - } - - @SuppressWarnings("rawtypes") - private PrivilegedAction getRunAction(final Display display) { - return new PrivilegedAction() { - - public Object run() { - int result = createAndRunWorkbench(display); - return new Integer(result); - } - }; - } - - protected Integer createAndRunWorkbench(Display display) { - return PlatformUI.createAndRunWorkbench(display, - createWorkbenchAdvisor()); - } - - public void stop() { - final IWorkbench workbench; - try { - workbench = PlatformUI.getWorkbench(); - } catch (Exception e) { - return; - } - if (workbench == null) - return; - final Display display = workbench.getDisplay(); - if (display != null && !display.isDisposed()) - display.syncExec(new Runnable() { - - public void run() { - if (!display.isDisposed()) - workbench.close(); - } - }); - - if (log.isDebugEnabled()) - log.debug("workbench stopped"); - String username = CurrentUser.getUsername(); - if (log.isDebugEnabled()) - log.debug("workbench stopped, logged in as " + username); - - } - -} diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/RapSecureWorkbenchWindowAdvisor.java b/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/RapSecureWorkbenchWindowAdvisor.java deleted file mode 100644 index 0025330e7..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/RapSecureWorkbenchWindowAdvisor.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.argeo.security.ui.rcp; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.application.ActionBarAdvisor; -import org.eclipse.ui.application.IActionBarConfigurer; -import org.eclipse.ui.application.IWorkbenchWindowConfigurer; - -public class RapSecureWorkbenchWindowAdvisor extends - SecureWorkbenchWindowAdvisor { - - public RapSecureWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { - super(configurer); - } - - @Override - public ActionBarAdvisor createActionBarAdvisor( - IActionBarConfigurer configurer) { - return new SecureActionBarAdvisor(configurer, false); - } - - public void preWindowOpen() { - IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); - // configurer.setInitialSize(new Point(800, 600)); - configurer.setShowCoolBar(false); - configurer.setShowMenuBar(true); - configurer.setShowStatusLine(false); - configurer.setShowPerspectiveBar(true); - configurer.setTitle("Argeo Secure UI"); //$NON-NLS-1$ - // Full screen, see - // http://dev.eclipse.org/newslists/news.eclipse.technology.rap/msg02697.html - configurer.setShellStyle(SWT.NONE); - Rectangle bounds = Display.getDefault().getBounds(); - configurer.setInitialSize(new Point(bounds.width, bounds.height)); - } - -} diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureActionBarAdvisor.java b/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureActionBarAdvisor.java deleted file mode 100644 index 04e61002c..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureActionBarAdvisor.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.argeo.security.ui.rcp; - -import org.eclipse.jface.action.GroupMarker; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.ui.IWorkbenchActionConstants; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.actions.ActionFactory; -import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction; -import org.eclipse.ui.application.ActionBarAdvisor; -import org.eclipse.ui.application.IActionBarConfigurer; - -public class SecureActionBarAdvisor extends ActionBarAdvisor { - private IWorkbenchAction exitAction; - private IWorkbenchAction openPerspectiveDialogAction; - private IWorkbenchAction showViewMenuAction; - private IWorkbenchAction newWindowAction; - private IWorkbenchAction preferences; - private IWorkbenchAction helpContentAction; - // private IWorkbenchAction aboutAction; - - private final Boolean isRcp; - - public SecureActionBarAdvisor(IActionBarConfigurer configurer, Boolean isRcp) { - super(configurer); - this.isRcp = isRcp; - } - - protected void makeActions(IWorkbenchWindow window) { - preferences = ActionFactory.PREFERENCES.create(window); - register(preferences); - openPerspectiveDialogAction = ActionFactory.OPEN_PERSPECTIVE_DIALOG - .create(window); - register(openPerspectiveDialogAction); - showViewMenuAction = ActionFactory.SHOW_VIEW_MENU.create(window); - register(showViewMenuAction); - helpContentAction = ActionFactory.HELP_CONTENTS.create(window); - register(helpContentAction); - - exitAction = ActionFactory.QUIT.create(window); - register(exitAction); - if (isRcp) { - // aboutAction = ActionFactory.ABOUT.create(window); - // register(aboutAction); - newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window); - register(newWindowAction); - } - } - - protected void fillMenuBar(IMenuManager menuBar) { - MenuManager fileMenu = new MenuManager("&File", - IWorkbenchActionConstants.M_FILE); - MenuManager editMenu = new MenuManager("&Edit", - IWorkbenchActionConstants.M_EDIT); - MenuManager windowMenu = new MenuManager("&Window", - IWorkbenchActionConstants.M_WINDOW); - MenuManager helpMenu = new MenuManager("&Help", - IWorkbenchActionConstants.M_HELP); - - menuBar.add(fileMenu); - menuBar.add(editMenu); - menuBar.add(windowMenu); - // Add a group marker indicating where action set menus will appear. - menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS)); - menuBar.add(helpMenu); - - // File - if (isRcp) { - fileMenu.add(newWindowAction); - fileMenu.add(new Separator()); - } - fileMenu.add(exitAction); - - // Edit - editMenu.add(preferences); - - // Window - windowMenu.add(openPerspectiveDialogAction); - windowMenu.add(showViewMenuAction); - - // Help - helpMenu.add(helpContentAction); - // helpMenu.add(aboutAction); - } - -} diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureRap.java b/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureRap.java deleted file mode 100644 index 964de7c39..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureRap.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.argeo.security.ui.rcp; - -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.application.IWorkbenchWindowConfigurer; -import org.eclipse.ui.application.WorkbenchAdvisor; -import org.eclipse.ui.application.WorkbenchWindowAdvisor; - -/** Generic secure application for RAP. */ -public class SecureRap extends AbstractSecureApplication { - - @Override - protected WorkbenchAdvisor createWorkbenchAdvisor() { - return new SecureWorkbenchAdvisor() { - public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor( - IWorkbenchWindowConfigurer configurer) { - return new RapSecureWorkbenchWindowAdvisor(configurer); - } - - }; - } - - public void stop() { - final IWorkbench workbench = PlatformUI.getWorkbench(); - if (workbench == null) - return; - final Display display = workbench.getDisplay(); - display.syncExec(new Runnable() { - - public void run() { - if (!display.isDisposed()) - workbench.close(); - } - }); - } - -} diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureRcp.java b/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureRcp.java deleted file mode 100644 index cd1d518b4..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureRcp.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.argeo.security.ui.rcp; - -import org.eclipse.equinox.app.IApplication; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.application.WorkbenchAdvisor; - -public class SecureRcp extends AbstractSecureApplication { - - @Override - protected WorkbenchAdvisor createWorkbenchAdvisor() { - return new SecureWorkbenchAdvisor(); - } - - protected Integer processReturnCode(Integer returnCode) { - if (returnCode == PlatformUI.RETURN_RESTART) - return IApplication.EXIT_RESTART; - else - return IApplication.EXIT_OK; - } - -} diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureWorkbenchAdvisor.java b/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureWorkbenchAdvisor.java deleted file mode 100644 index d39bf84d6..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureWorkbenchAdvisor.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.argeo.security.ui.rcp; - -import org.eclipse.ui.application.IWorkbenchWindowConfigurer; -import org.eclipse.ui.application.WorkbenchAdvisor; -import org.eclipse.ui.application.WorkbenchWindowAdvisor; - -public class SecureWorkbenchAdvisor extends WorkbenchAdvisor { - - static final String PERSPECTIVE_ID = "org.argeo.security.ui.securityPerspective"; //$NON-NLS-1$ - - public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { - return new SecureWorkbenchWindowAdvisor(configurer); - } - - public String getInitialWindowPerspectiveId() { - return PERSPECTIVE_ID; - } -} diff --git a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureWorkbenchWindowAdvisor.java b/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureWorkbenchWindowAdvisor.java deleted file mode 100644 index a1022fe6a..000000000 --- a/security/eclipse/plugins/org.argeo.security.ui.rcp/src/main/java/org/argeo/security/ui/rcp/SecureWorkbenchWindowAdvisor.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.argeo.security.ui.rcp; - -import org.eclipse.swt.graphics.Point; -import org.eclipse.ui.application.ActionBarAdvisor; -import org.eclipse.ui.application.IActionBarConfigurer; -import org.eclipse.ui.application.IWorkbenchWindowConfigurer; -import org.eclipse.ui.application.WorkbenchWindowAdvisor; - -public class SecureWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor { - - public SecureWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { - super(configurer); - } - - public ActionBarAdvisor createActionBarAdvisor( - IActionBarConfigurer configurer) { - return new SecureActionBarAdvisor(configurer, true); - } - - public void preWindowOpen() { - IWorkbenchWindowConfigurer configurer = getWindowConfigurer(); - configurer.setInitialSize(new Point(800, 600)); - configurer.setShowCoolBar(false); - configurer.setShowMenuBar(true); - configurer.setShowStatusLine(false); - configurer.setShowPerspectiveBar(true); - configurer.setTitle("Argeo Secure UI"); //$NON-NLS-1$ - } - -} diff --git a/security/eclipse/plugins/pom.xml b/security/eclipse/plugins/pom.xml index f8d71708e..24a5a513c 100644 --- a/security/eclipse/plugins/pom.xml +++ b/security/eclipse/plugins/pom.xml @@ -13,7 +13,7 @@ org.argeo.security.equinox org.argeo.security.ui - org.argeo.security.ui.rcp + org.argeo.security.ui.application org.argeo.security.ui.rap diff --git a/security/eclipse/pom.xml b/security/eclipse/pom.xml index 86a460103..9cc3b1f5e 100644 --- a/security/eclipse/pom.xml +++ b/security/eclipse/pom.xml @@ -5,7 +5,7 @@ org.argeo.commons 0.2.2-SNAPSHOT - argeo-commons + security .. org.argeo.commons.security