From 1dc686b07127558ad1fda1b55500621db4984c18 Mon Sep 17 00:00:00 2001 From: Ekaterina Tuzova Date: Wed, 17 Dec 2014 17:46:23 +0300 Subject: [PATCH 1/3] update course archive EDU-298 Unclear task description for lesson 6/ task 3 --- .../resources/courses/introduction_course.zip | Bin 96688 -> 96688 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/python/edu/learn-python/resources/courses/introduction_course.zip b/python/edu/learn-python/resources/courses/introduction_course.zip index 5b5b6b85efba4110d6952773f9d04e2a29554a72..55261616988ebb064160dccc2abd759a10d8f930 100644 GIT binary patch delta 3443 zcmZ9OdpuS77QoL=9FHL<>7zp@4D->Q@Txx(inP3I74yE|!dn zB$azRIwn(16V(_!n4UA0JSU^M+~S(iG^%^|Z>@c{KJy2^wb%Nt*YA0hBbv$)&0-&o zv{D6;D5Z*6UyZC%MIHNAhmNWPy63b&h?KZ#Q-QciLrLp2J+*A$=@K2KBhon0IJg|m z%he|Gy>uLV|Ib(`$uw1)rR12Ym)gz1?a!!`gqwNtW)3x546?++n24vxgPc5_g;86U zA=t`g2_R3Lk;&_(kg^#c33fyC?I7oy@8NYNFjiX}g>jMPJ{TWb%3+M1iQj!Qcf)t9 zlL^^vg*gVTc7iU^8kywjQ;D8U8tC$DDqxgYOd)NyQW9Z{KKQ*uu&uJg+M4Vzey}~p zx@W%&m?k@8ve{v^z;`>W6XcbS$%5SFh;ag)u&-99@&4D$LVp_T{w&PB)EVof^|U*0 z5aPtTtP$ik7xZ&>%@cIjT~k2zb;J6o|9v;i?KOK`cV{;0s6EUbd!zDC?r}n_*!NLZ zdKi;7K{h2}9@wMO18b#q&!4jv{7}{>-_F4uXX;r1`jej3Lfj2=w}IR-7uO)u>k4n1 zO8(-F{e9(~FYqxwI9CsR2NGX-l zPlEwm9(<65&tC-cq4}*~{Mg?Dj4H(kGmxULcNQ!G$|4{as1pIfNDT!d4hfRxxw0KI z8Hp};&=f^@(B#2S!81Oj3&!Bk=McejVF^aK6}ERg&$h)_V&h^nw013VMPYKd%{aCq z0?$@W!~g^F^9W)8;t@~<;dXkW_*R-@kQ z5Y1WFhD79gelFTKyx~*J$g6}<2pE{Cja2x?r67>XO(OzTpA-Vr+aw86lRr*GL7r@c zIPJFXlcnG?A!QKo;S?)0nrwN^$C47at>IwI-8vhM!zo6po7<-0NB{PV8jAf2qEtAN z+iCjZyJd=~t}?im$=fujl`P!Rslzcr7Y^4{A0TfNtT|GfWMoXvrZoNAo~|ciCO*>; ziQwP|Ouz#B)LOyXrqP&+m?#x<{^Z-*RNE zF|p1z|NOO6<-|OC2E(eCrBDHtuI@qedSE&FFU7 zclX#)_qG<-#tU}Y0iE_XB|H8of8rZAx61PLq>QAk+D#t6ONNU=?qyXcDbAm|(sOa} z)YF3FEqY{ndL&FnYI-X}jI+JT&P+Xirex%JCa%p;<`kG5l~}$KXDR;E291!yB7T;% zNO-nbZ2emye;B1;JDlS$=!R2F$eWy-WJh)wM8B5(BWc-%vuU*Ze?mt0TwG^)t_(9C z&P&0Jl0BU~g&WauFYGR2(Ql;MxYrlyntXl}sXjvi4(^kEcnLTZT&5vZg9Y{&(`0|Q z#&Y#q7ig*9yf|(FH{p_lIi}EGOm*C!>Tn^q%jMja(^d369aVM3c(5Roen}`8V@qCw zaT(#-p!C+yhu*0^1ax%Ub(C^5OMzd@hQOnroxu0YA2{8E0bqzY=m4ZjUd|mjn)z4- zULG_vtFwqPAf>C#NcSNfHf#~2tG=aZaGyipfXC}YhUhx!NUS=GjO15B(W-ludRR-( zKOO*n{^$ZVB_$?Rk)YgMg_J7ecsvH{spbzEJ%KhgP%hbAQw6xu$t0w9o%$Su)%_wP zb7}*@DzB}@lurNZr3xZBqrMq7!S|=iCIA=IaW^JydhJ>MlH+d~Hb0tcd_$ob+ZfGE zCNA}2z`W|YZ9@are%S(};)5xwf^!Dr{m{$oLIV_g_N(Uz51+pc@U;u0!j5dexDa%< zUtgr7s_*LngdM+W7a-fqK>&SnxgDS-jkB;^c~hu5rHsvA#jla!RVm=Ju6Dqvf9(Xg zHC&4jXkypA1dQp;--6NqJ8sQrOBF4Tg~VmomxIowbsEvUkp*(zjRA1ja+AME=~Q*x z3g^Lk7=Lc<1n9fABf_$<ZHfNg1C5|~GhnUGCS%X1axL^ew_;zVGWzeH!N33KI+PLn z9K49>3;3nL9bPH18N#Jb8!Co~I>Tj{;^=>G!{pTcVoHifa0Pou`T)A|>t=+!M$juG<}##hQ1M)^QteGlY2cNr-V}nHUBL^b)5^4$3<~qWqyo1 zEB0XY0UGvYyeE|B(72XtxF6%zFyzOa(WEyuhPxENh2!pO2nTB2KxQduIA8OI%s|G& Fs~38! z>DMrelZdD&B2f6EdS4y$R-5^HHWA6IbSgB2Qdyon(!f_|_bB!b!CGNa25YEgKCHi5 z%3zJR!tX(=-SFM%ID_uCMjyl0J76!_1~Hpvy+d_vx4~YnZ3(Of7DlwoPD~^0&<4Lh z;dQI*F}5~)k6f-gz}IcR8b-lS?kYcf}!2c&_+&QLc42rd_-&p-bH{$69xcm5Y1P{54>QvL3xOKN`Lz9tE&|<59u$ zu3NALVMuJ#Iw@hoiYeAPf2(j1zYVKm8^WKK#A!;-;V-kYO5ruG*768jjn`X zWoTlWeRv9;zd8UEJ6F#~zVH8Gg+lKdmKeK&P_MNJ&0gDuh{zTJjaMCZ=z9VG@hRAJ;Hw3(V|idmOzUpY&Xp6sM#08{cPQ?D<{6LE$)a43d5Pl%vH3naWZ?uEvN}HY7bTw#rmZqla`K-zg zf|iVB|01lQ2{bdykG6JAfxWh@0ouL`SgC0D|9DSsIoNGkjwyQjDmM*18SJ^s_mLaN z>3d2R{Q0O#9iWVEm3x3d_WJ{YGA>8`Y zBN)ZlnQj1IYsZ6QjR zrcB-{MWd!)5CeSfg+5sIE>?nB+j)T^-g?P9=MHSsFIekeV-e@|SWGi+;~zFJ zZ$DCbo0*5nY@Md}211~5y;osWZ0;ms5c~VwRDW?nP|r2Rn3_B~irEe9|*W z1OjKl4E8}32v|{2zRN3qd2NQc4(8KVr&U@L_$~ z`4cNzm95Vl^d(an2Vd69Z`pcGmoKqovRAO)4Sb1Mttgvgv}D44$uwqK05NME^(Cj& ck>_jx%d_5(STVYRB#b$gM64R6fyCYY|Mh>2?*IS* From e2e78663cc7713736b3b7b55d3bf6f9884afb706 Mon Sep 17 00:00:00 2001 From: Michael Golubev Date: Wed, 17 Dec 2014 15:40:52 +0100 Subject: [PATCH 2/3] Docker integration - nice deployments list --- .../runtime/deployment/DeploymentRuntime.java | 4 +++ .../impl/runtime/ServerConnectionImpl.java | 29 ++++++++++++++----- .../util/CloudServerRuntimeInstance.java | 6 +++- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/platform/remote-servers/api/src/com/intellij/remoteServer/runtime/deployment/DeploymentRuntime.java b/platform/remote-servers/api/src/com/intellij/remoteServer/runtime/deployment/DeploymentRuntime.java index 7a6cbd177b70..c07c1045f032 100644 --- a/platform/remote-servers/api/src/com/intellij/remoteServer/runtime/deployment/DeploymentRuntime.java +++ b/platform/remote-servers/api/src/com/intellij/remoteServer/runtime/deployment/DeploymentRuntime.java @@ -16,4 +16,8 @@ public abstract class DeploymentRuntime { public interface UndeploymentTaskCallback extends RemoteOperationCallback { void succeeded(); } + + public Integer compareTo(DeploymentRuntime other) { + return null; + } } diff --git a/platform/remote-servers/impl/src/com/intellij/remoteServer/impl/runtime/ServerConnectionImpl.java b/platform/remote-servers/impl/src/com/intellij/remoteServer/impl/runtime/ServerConnectionImpl.java index 4234fd542b93..06e3ae63c486 100644 --- a/platform/remote-servers/impl/src/com/intellij/remoteServer/impl/runtime/ServerConnectionImpl.java +++ b/platform/remote-servers/impl/src/com/intellij/remoteServer/impl/runtime/ServerConnectionImpl.java @@ -290,16 +290,29 @@ public class ServerConnectionImpl implements @NotNull @Override public Collection getDeployments() { - Map result; - synchronized (myRemoteDeployments) { - result = new HashMap(myRemoteDeployments); - } - synchronized (myLocalDeployments) { - for (Deployment deployment : myLocalDeployments.values()) { - result.put(deployment.getName(), deployment); + Set result = new TreeSet(new Comparator() { + + @Override + public int compare(Deployment o1, Deployment o2) { + DeploymentRuntime runtime1 = o1.getRuntime(); + DeploymentRuntime runtime2 = o2.getRuntime(); + if (runtime1 != null && runtime2 != null) { + Integer runtimeCompareResult = runtime1.compareTo(runtime2); + if (runtimeCompareResult != null) { + return runtimeCompareResult; + } + } + return o1.getName().compareTo(o2.getName()); } + }); + synchronized (myLocalDeployments) { + result.addAll(myLocalDeployments.values()); } - return result.values(); + + synchronized (myRemoteDeployments) { + result.addAll(myRemoteDeployments.values()); + } + return result; } @Override diff --git a/platform/remote-servers/impl/src/com/intellij/remoteServer/util/CloudServerRuntimeInstance.java b/platform/remote-servers/impl/src/com/intellij/remoteServer/util/CloudServerRuntimeInstance.java index 65bd9066ca3b..ae6d30da651f 100644 --- a/platform/remote-servers/impl/src/com/intellij/remoteServer/util/CloudServerRuntimeInstance.java +++ b/platform/remote-servers/impl/src/com/intellij/remoteServer/util/CloudServerRuntimeInstance.java @@ -111,12 +111,16 @@ public abstract class CloudServerRuntimeInstance public List compute() { List result = new ArrayList(); for (CloudRemoteApplication application : getAgent().getApplications()) { - result.add(createApplicationRuntime(application.getName())); + result.add(createApplicationRuntime(application)); } return result; } }); } + protected CloudApplicationRuntime createApplicationRuntime(CloudRemoteApplication application) { + return createApplicationRuntime(application.getName()); + } + protected abstract CloudApplicationRuntime createApplicationRuntime(String applicationName); } From 85d59c84e12f418265610c2d97fe0bbdf717716a Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 17 Dec 2014 15:48:40 +0100 Subject: [PATCH 3/3] sometimes UIManager returns null values for Darcula colors --- .../ide/ui/laf/darcula/ui/DarculaButtonUI.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaButtonUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaButtonUI.java index a34d137581f5..4bfce7268d4e 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaButtonUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaButtonUI.java @@ -18,12 +18,14 @@ package com.intellij.ide.ui.laf.darcula.ui; import com.intellij.icons.AllIcons; import com.intellij.openapi.ui.GraphicsConfig; import com.intellij.openapi.util.SystemInfo; +import com.intellij.util.ObjectUtils; import com.intellij.util.ui.GraphicsUtil; import com.intellij.util.ui.UIUtil; import sun.swing.SwingUtilities2; import javax.swing.*; import javax.swing.border.Border; +import javax.swing.plaf.ColorUIResource; import javax.swing.plaf.ComponentUI; import javax.swing.plaf.UIResource; import javax.swing.plaf.basic.BasicButtonUI; @@ -146,18 +148,18 @@ public class DarculaButtonUI extends BasicButtonUI { } protected Color getButtonColor1() { - return UIManager.getColor("Button.darcula.color1"); + return ObjectUtils.notNull(UIManager.getColor("Button.darcula.color1"), new ColorUIResource(0x555a5c)); } protected Color getButtonColor2() { - return UIManager.getColor("Button.darcula.color2"); + return ObjectUtils.notNull(UIManager.getColor("Button.darcula.color2"), new ColorUIResource(0x414648)); } protected Color getSelectedButtonColor1() { - return UIManager.getColor("Button.darcula.selection.color1"); + return ObjectUtils.notNull(UIManager.getColor("Button.darcula.selection.color1"), new ColorUIResource(0x384f6b)); } protected Color getSelectedButtonColor2() { - return UIManager.getColor("Button.darcula.selection.color2"); + return ObjectUtils.notNull(UIManager.getColor("Button.darcula.selection.color2"), new ColorUIResource(0x233143)); } }