A 3.2 mechanizmusok és alkalmazás programozási felületek átvételekor szükséges módosítások

A rész leírja a szükséges változtatásokat, ha a 3.1 bedolgozót módosítani kívánja, hogy elfogadja a 3.2 mechanizmusokat és alkalmazás programozási felületeket.

  1. Indítási beállítások
  2. Indítási módok
  3. Unicode for Java nemzetközi összetevők (ICU4J)
  4. Futtatófelosztás

Indítási beállítások

Indítási konfiguráció erőforrás-leképezés

Az Eclipse 3.2 új infrastruktúrát biztosít az indítási konfigurációk erőforrásokhoz rendeléséhez. Ez a leképezés lehetővé teszi, hogy a platform erőforrás alapú szűrést hajtson végre az indítási konfigurációkon és hogy a hozzátartozó projekt törlésekor esetlegesen törölje az indítási konfigurációkat. Az indítási párbeszédablak ki lett bővítve, hogy szűrők halmazát támogassa a lezárt és törölt projektekhez tartozó konfigurációk esetleges elrejtése érdekében. Az indítási párbeszédablak az aktív munkaterület-ablakban kijelölt elemcsoportok alapján történő szűrést is támogatja, amely szintén kiválasztható az indítási párbeszédablakban.

Az ügyfél felelőssége az indítási konfigurációk erőforrás-leképezésének kezelése. API került hozzáadásra az ILaunchConfigurationWorkingCopy elemhez a konfigurációhoz tartozó erőforrások beállítása, illetve az ILaunchConfiguration elemhez a konfigurációhoz tartozó erőforrások lekérése érdekében. Átállításkor például az indítási lapokat, az indítási gyorsbillentyűket és a átdolgozási segédeket is figyelembe kell venni. Az indítási konfigurációkat létrehozó vagy módosító kódnak az erőforrás-leképezéseket is frissítenie kell.

Indítási konfigurációátállítás támogatása

Az Eclipse 3.2 új infrastruktúrát biztosít az indítási konfigurációk átállításához, hogy kompatibilisek legyenek az új eszközökkel. Eclipse 3.2 változatban például támogatott az indítási konfigurációkon erőforrás alapú szűrés végrehajtása. Az indítási konfigurációkat frissíteni kell, hogy erőforrás-leképezést biztosítsanak az új szolgáltatás kihasználása érdekében. A felhasználók kézzel átállíthatják az indítási konfigurációkat a munkaterület Futtatás/hibakeresés > Indítás > Indítási konfigurációk beállításoldalán, az Átállítás gomb megnyomásával.

Egy új választható átállítás-delegálási attribútum került hozzáadásra a launchConfigurationTypes kiterjesztési ponthoz, amely az új ILaunchConfigurationMigrationDelegate felületet megvalósító osztályt adja meg. Az átállítás-delegálás felelős az átállítási jelöltek azonosításáért és azok átállításáért.

Indítási módok

Egy új választható attribútum került hozzáadásra a launchModes kiterjesztési ponthoz a lépcsőzetes indítási menüpontcímkék külsőleg elérhetővé tételének megfelelő támogatása érdekében. Az indítási módokat kiegészítő ügyfeleknek meg kell adniuk a lépcsőzetes indítási menü használatának megfelelő címkét, mint például a "Futtatás másként". Az új attribútum neve launchAsLabel. A platform megfelelő címkéket biztosított a futtatáshoz, a hibakereséshez és a profilindítási módokhoz. A visszamenőleges kompatibilitás érdekében amikor az új attribútum nincs megadva egy indítási módhoz, a lépcsőzetes menücímkék előállításra kerülnek "{0} As" MessageFormat formátumon keresztül. Lásd kapcsolódó hiba: 105235.

Unicode for Java nemzetközi összetevők (ICU4J)

Az ICU4J Java könyvtárak halmaza, amelyek átfogó támogatást biztosítanak Unicode, szoftverglobalizáció és nemzetközivé tétel alkalmazásához. A funkció Eclipse közösség számára való biztosításához az ICU4J hozzáadásra került az Eclipse 3.2 platformösszeépítéséhez. Az összeépítésben ez com.ibm.icu nevű bedolgozóként látható. Az Eclipse platform az ICU alkalmazás programozási felületeket fogja kihasználni az Eclipse 3.2 változatban.

Áttérés

Az alkalmazáskód átállítása növekményesen is történhet, amely azt jelenti, hogy nem szükséges minden ICU4J funkció teljes átvétele az ICU4J előnyeinek kihasználása érdekében. A kód ICU4J használatra átállításával kapcsolatos részleteket az Eclipse wiki ICU4J oldala tartalmaz.

ICU4J helyettesítő bedolgozó

Az ICU4J bedolgozó nagyságrendileg 3 MB-tal megnöveli a szükséges területet. Elképzelhető, hogy néhány alkalmazás nem kívánja átvenni az ICU4J-t, ha az alkalmazásméretnek az ICU4J funkció átvételével szemben elsőbbsége van. Ha ez az eset áll fenn, egy helyettesítő bedolgozó (com.ibm.icu.base) áll rendelkezésre az Eclipse platform összeépítő oldalon. Töltse le a bedolgozót, távolítsa el a com.ibm.icu bedolgozót és forrás másolatát a /plugins könyvtárból, és húzza át a helyettesítő bedolgozóba. Erre azért van szükség, mert az Eclipse platform átvette az a 3.2 változat ICU alkalmazás programozási felületeit, így az ICU bedolgozó eltávolítása fordítási hibákat eredményez a platformkódban. A helyettesítő bedolgozó körülbelül 100 KB és egyszerűen hívást ad ki az ICU4J általánosan használt osztályainak és alkalmazás programozási felületeinek alapértelemzett JDK megvalósításához. Az ICU helyettesítő bedolgozó használatával kapcsolatos további részleteket az Eclipse wiki ICU4J oldalán talál.

JFace-re gyakorolt hatás - ViewerSorter és StructuredViewer

Annak érdekében, hogy a JFace támogassa az ICU4J-t, néhány kreatív API kiegészítésre volt szükség az ICU osztályokra hivatkozás megakadályozása érdekében az alkalmazás programozási felületen. Ez a következő hozzáadását eredményezte:

  1. org.eclipse.jface.viewers.ViewerComparator nevű új osztály, amelynek az org.eclipse.jface.viewers.ViewerSorter az alosztálya.
  2. az org.eclipse.jface.viewers.StructuredViewer két új metódusa az org.eclipse.jface.viewers.ViewerComparator hozzáadásának támogatása érdekében.

Rationale

A ViewerSorter osztály egy getCollator() nyilvános metódussal rendelkezik, amely egy java.text.Collator elemet ad vissza. Mivel a metódus egy API, nem változtatható meg egyszerűen az ICU Collator használata érdekében. Az ICU osztályok nem lehetnek az API (aláírások) részei, mivel az ICU közvetlen bedolgozófüggősége megakadályozná a JFace önálló használatát (SWT-vel). Ezen megszorításoknak való megfelelés érdekében az ICU Collator helyett a java.util.Comparator elemet használó ViewerComparator osztály került hozzáadásra. Ennek oka, hogy az ICU Collator osztálya a java.util.Comparator elemet valósítja meg, így tetszőleges StructuredViewer használhatja az ICU Collatort a java.text.Collator helyett, de a JFace-nek nem kell függőséget adni az ICU4J bedolgozóhoz. StructuredViewer támogatáshoz az ICU Collator segítségével lett hozzáadva a két új metódushoz a megjelenítő tartalmának ViewerComparator elemen keresztüli rendezése érdekében, a ViewerSorter elem helyett. A StructuredViewer elemnek a getSorter() és setSorter(ViewerSorter) metódus helyett ajánlatos ezeket a metódusokat használnia a megjelenítő rendezőjének lekéréséhez/beállításához.

Futtatófelosztás

Új futási alkalmazás programozási felületek

Az org.eclipse.equinox.common köteg számos új, általános névvel rendelkező API osztályt tartalmaz (pl. Assert és ListenerList). Ha a programkód ezekkel megegyező nevű osztályt tartalmaz és a futási környezetből származó, illetve a helyi osztályokat import * utasítások segítségével importálja, akkor előfordulhat, hogy az alábbi hibaüzenet jelenik meg:

   Az ABC típus félreérthető
  

Az importálások rendszerezése és a megfelelő importálási forrás kiválasztása az esetek többségében megoldja a problémát.

Explicit osztályútvonalak az egyéni összeépítésű parancsfájlokban

Mivel a kód áthelyezésre került az új futtató bedolgozókba, az org.eclispe.core.runtime elemre közvetlenül hivatkozó egyéni parancsfájlokhoz, előfordulhat, hogy azokhoz a következő bedolgozók közül néhányat hozzá kell adni: