Index

(backslash), 249, 429–430, 440

/ (forward slash), 249, 358, 363, 440

${buildDirectory}, 353, 365

${buildDirectory}/features, 353, 365

${buildDirectory}/plugins, 353, 365

${variable} substitution, 353

&, 444

>, 444

<, 444

@noDefault, 433

@none, 433

@user.dir, 434

@user.home, 434

A

absolute:, 363

Abstraction hierarchy, 21–22

Action lookup, 209–213

action property, 213–215, 234–235

actions extensions, 276–280

activate attribute, 94–96, 101–103, 250, 437–438, 447–450

Activation policy, 417, 420–422

Activators, 23–25, 62–64, 71, 78, 418–419

Active (bundle), 417

addAction, 211–213, 260–261

addExtension, 289–290

Addition, dynamic awareness, 375

addListener method, 52–53

Add-on features, 364–366

addProfile, 229–231

Agent (p2 architecture), 218–220, 229, 233

Airbag, 52–53, 167–169

Airbag Bundle, 60–61, 101

Airbag Bundle Activator, 94–95

Airbag domain logic, 263–265

Airbag service, 75–78

AirbagSimulator, 167–169

Alias, 308–313

Anonymous extensions, 282

Ant

build scripts, 344

documentation, 353

pattern syntax, 346

properties, 353, 356

release engineering, 355

Apache Commons Logging, 304, 325, 389–390

API surface area, 115–116

app (buddy policy), 398

app (Java application class loader), 424

AppenderHelper, 400–402

Appenders, 395–397

Application management, 184

Application model, 184–187

Application writers (consumers), 14

ApplicationDescriptor, 184

ApplicationHandles, 184

archivePrefix, 350

Artifact repositories, 219–220, 230, 237, 239, 352

Audio support, 226–227

Audio user interface, 181–184

Authentication and login, 314–317

Automated Management of Dependencies, 71–76, 91, 230

Automatic updating of dependencies, 73–75

Auto-start, 138, 146, 165, 419, 421–423

Auto-substitution, version numbers, 360–361

B

Back end

core bundles, 108–109

emergency bundle, 109–111

features, 222–225

launch, 121–122, 142, 148

tracking bundle, 199

backendDeployer.product, 239

backend.product, 150, 233, 325, 337

backend-war.product, 326, 329, 333, 337

Backslashes, 249, 429–430, 440

Base ID and location, 350–351

base property, 350

basearch, 349, 351, 365

baseos, 349, 351, 364

basews, 349, 351, 365

Basic tracking scenario, 201

Binary Build, 149–150, 318, 345

bind attribute, 90, 103, 111, 211, 251, 300, 443, 452

BindException, 319

bin.excludes, 346

bin.includes, 329, 346, 362

bnd, 162, 394

boot (buddy policy), 397

Boot delegation, 428

boot (Java boot class loader), 424

bootclasspath, 349, 352–353

Bridged configuration, 322–329

BrowseAction, 213–214, 235

Browsers, 166, 188–190, 202–205

Buddy Class, 397–399

Buddy policies, 396–398, 424

BuddyLoader, 424

Bug reports, 320

Build naming, 350

Build scripts, 347, 356–357

build target, 348

Build templates, 357

buildDirectory, 349–350, 353, 358–360, 365–367

-buildfile, 354, 366

buildID, 349–350

buildLabel, 349–350, 366–367

build.properties, 345–353, 364–365

buildType, 349–350

build.xml, 347, 364, 366

Bundle build.properties, 346–347

Bundle IDs, 59, 92, 270, 406–407

BundleActivator, 62–63, 71, 78, 86, 380, 410, 418, 421

Bundle-Classpath, 393–394, 412, 414

BundleContext, 80–81, 135–136, 410, 447–448

BundleListeners, 377–378, 418

Bundle-relative path, 440

Bundle(s)

activation policy, 419–421

API surface area, 115–116

directories, 411–413

dynamic-enabled, 380–381

events, 23, 418

folder-based, 19

granularity, 22, 32

host, 413

JARs, 411–413

lifecycle, 22–23, 416–419

manifest editor, 59–60

manifest file, 18–19

writers, 14

Bundle-SymbolicName, 18, 59–60, 78, 92, 116, 155, 279, 281

BundleTracker, 378–379

bundle-unique name, 437

Bundle-Version, 18–19, 60–61

Bundling by injection, 388–390

Bundling by reference, 392–394

Bundling by wrapping, 390–391

Bundling using bnd, 394

C

Cache management, 152

Caching, 284–290

Capability mechanism, 220

Carbon, 180, 193

cardinality attribute, 211, 252, 443, 445–446, 449, 452

catalina run/catalina stop, 331

Channel bundle, 112–116

ChannelMessage, 112–113, 119

Circular dependencies, 57

class attribute, 439

Class loading

boot delegation, 428

class lookup algorithm, 424

Class.forName, 395–399

context class loaders, 399–401

declaring imports and exports, 424

importing versus requiring, 426

JRE classes, 401–402

optional prerequisites, 426

optionality, 426

re-exporting, 427

serialization, 402–403

uses directive, 426–427

x-internal and x-friends, 428

Class lookup algorithm, 424

ClassNotFoundExceptions, 395, 400, 424

Classpath hell problem, 17

-clean, 152

clear*, 211

clearLog, 298–300, 304

Client features

audio support, 226–227

climate control, 227

emergency management, 228

GPS, 227

guidance system, 228

mapping, 227

shell feature, 225–226

Client tracking bundle, 199–204

client.builder

base ID and location, 350–351

build naming and locating, 350

build target, 348

build.properties, 348–353, 360–361

cross-platform building, 351

Java class libraries and compiler control, 352–353

p2 Repository, 352

PDE build target, 348

product and packaging control, 349–350

publishing to a p2 Repository, 352

SCM access control, 351–352

client.exe, 362

client.map, 358

Client/server interaction, 107

back end emergency bundle, 109–111

bundle API surface area, 115–116

channel bundle, 112–116

constants, 119

core bundles, 108–109

emergency monitor bundle, 116–119

logging, 120–121

properties, 119–120

Require-Bundle, 116–117

running toast, 121–123

Client-side dynamic deployment, 241–242

Climate control, 227

Climate user interface, 181–183

Cocoa, 180, 193

Code libraries, integrating

bundling by injection, 388–390

bundling by reference, 392–394

bundling by wrapping, 390–391

bundling using bnd, 394

JARs as bundles, 388

troubleshooting class loading, 394–403

Cohesion, 18, 22, 57, 116

Collaboration, 4–5, 24–26

CommandInterpreter, 407

commandline, 333

Command-line arguments, 431

CommandProvider, 270, 407–409

Commons Logging, 304, 325, 389–390

Comparing the workspace, 38

compilelogs, 355

Compiler control, 352–353

Compiler preferences, 54

Compiler warnings, 53

compilerArg, 349, 352

component <component id>, 270

Component XML schema v1.1.0

<component> element, 436–439

<implementation> element, 436, 439

namespace and schema, 435–437

<properties> element, 436, 440–441

<property> element, 436, 439–440

<provide> element, 436, 442

<reference> element, 436, 442–444

<service> element, 436, 441–442

ComponentConstants, 457

ComponentFactory Service, 266–268

component.factory property, 266

component.name property, 266

Component(s)

activation/deactivation, 447–450

definition, 154–156, 271–272

enablement, 445

factory, 262–269

ID, 270

immediate attribute, 255–256, 438, 453–454

lifecycle, 444–457

modification, 447–450

properties, 454–457

referenced service policy, 449

Strict mode, 158

versions and version ranges, 155–156

x-friends directive, 158, 428

x-internal directive, 157, 428

Components (DS), 98–100, 103, 199, 212–213, 248–250

component.xml, 98–103, 188, 191, 199, 249, 251, 253, 265, 298, 301, 304, 309, 408

Concierge, 28

Conditional Permissions Admin service, 27

config.ini, 362, 423, 428–429

configs property, 351, 365

Configurable tracking, 204

Configuration area, 432–434

Configuration elements, 279–280

Configuration page, 146

ConfigurationAdmin, 201–205, 304, 437–439, 446, 454

configuration-policy attribute, 438

configurator.xml, 266

Configuring Equinox, 428–432

-console, 319, 332, 333, 406

-consolelog, 354

Constants, 119

Constraint solver SAT4J, 221

Container, 335

Context class loaders, 399–401

Context Finder, 401

Context (logging), 304–306

Contexts, 311, 314–318

Continuation character (backslash), 249, 429–430, 440

Contribution IDs, 281

Control properties, 346–347

ControlCenter, 258, 336–338

Copy into Workspace, 38

Core bundles, 108–109, 198

Core tracking bundle, 198–199

Coupling, 17, 22, 24, 57, 68–70, 301, 426, 442

CreateAction, 234

createComponent, 267–268

createContext, 316

createDefaultHttpContext, 308–309

createExecutableExtension, 279–280, 289, 396

Cross-platform issues, 154, 344, 351, 365

CruiseControl, 367

Crust shell, 174–175, 225–226, 361–362, 419

Crust widgets, 175

crust.ini, 362

Ctrl-key commands, 46–47, 53, 73, 170

Custom callbacks, 347, 356–357

customAssembly, 357

customTargets.xml, 359

cvs, 359

D

-D, 120, 353, 422, 428, 428, 431

Data areas, 432–434

deactivate attribute, 94–96, 101–103, 250, 380, 437–438, 447–450

Debugging

DS apps, 269–270

missing property files, 441

release engineering, 355–356

Declarative Services (DS), 247, 435

accessing referenced services, 450–453

activate, deactivate, and modified, 437–438, 447–450

<component> element, 436–439

components, 98, 199, 292, 453–457

console commands, 270

debugging, 269–270

-Dequinox.ds.print=true, 104, 121, 270, 441

editor, 99

factory components, 262–269

immediate components, 255–256, 438, 453–454

<implementation> element, 436, 439

launching, 269–270

lifecycle, 444–457

model, 247–248

modifying the bundles, 98–104

naming conventions, 103

PDE tooling, 270–273

<properties> element, 436, 440–441

<property> element, 436, 439–440

<provide> element, 436, 442

providing services, 253–255

<reference> element, 436, 442–444

referencing services, 250–252, 254–255

root element, 437

scr namespace identifier, 436

<service> element, 436, 441–442

start levels, 383

target properties, 456–457

unbind methods, 102

Whiteboard Pattern, 256–262

XML schema v1.1.0, 435–444

Decoupling, 67, 70, 82, 126, 257

delay (property), 200–204

delayChanged, 200, 203–204

Delayed component instantiation, 213

Delta pack, 40, 43–44, 153–154, 348

Dependencies, 57, 61, 72–75

Dependencies page, 144–146

Dependency injection, 55, 69, 87, 118, 126, 135, 211, 257

dependent (buddy policy), 398

Deployed (bundle), 416

-Dequinox.ds.print=true, 104, 121, 270, 441

Device drivers, 161

Device simulation, 165–167

DeviceSimulatorServlet, 166, 170

diag command, 407

Directory bundle layout, 411–412

dis (disable component), 270

Discouraged access, 157–158, 230–232

Discovery service, 335

dispose, 186, 268, 380–381

Distributed system, 340–341

Distributed Toast, 335–336

doGet method, 109–110, 202, 208–209

Duplication approach, 162

Dynamic best practices, 371

dynamic awareness, 374–378

dynamic enablement, 379–382

Extender Pattern and BundleTracker, 378–379

services, 383–384

start levels, 382–383

startup and shutdown, 382–385

Dynamic configuration, 197

back end tracking bundle, 199

basic tracking scenario, 201

client tracking bundle, 199–204

configurable tracking, 204

ConfigurationAdmin, 201

core tracking bundle, 198–199

persistent configuration, 205

tracking scenario, 197–198

Dynamic extension, 284–291

dynamic (policy attribute setting), 211, 444, 449

Dynamic services, 85

Declarative Services (DS), 97–105

Service Activator Toolkit (SAT), 86, 93–97

Service Trackers, 86–93

StartLevel service, 85

DynamicImport-Package, 399–400, 402

E

Easymock, 126–130, 132

Eclipse-BuddyPolicy, 397–398

Eclipse Communication Framework (ECF), 115, 322, 334–335

Eclipse Delta pack, 40, 43–44, 153–154, 348

Eclipse-ExtensibleAPI, 414–415

Eclipse Help online, 220

Eclipse-PlatformFilter, 414

Eclipse Integrated Development Environment (IDE), 10, 37, 40, 248, 277, 355, 372

Eclipse-RegisterBuddy, 397

Eclipse Rich Ajax Platform (RAP), 208, 314

Eclipse Rich Client Platform (RCP) SDK, 40, 44

Eclipse SDK, 143, 248

Eclipse Update Manager, 217, 222

eclipse.ignoreApp, 104–105

eclipse.product, 429

Ecosystems, 7

Emergency bundle, 102–104, 109–111

Emergency domain logic, 176–178

Emergency management (client feature), 228

Emergency monitor bundle, 95–96, 116–119

Emergency user interface, 176, 179–181

EmergencyMonitor, 54, 88–90, 120, 127

EmergencyMonitorTestCase, 128, 130

EmergencyServlet, 109–111, 122, 170

enableComponent, 438, 445–446

enabled attribute, 438, 445

enableFrameworkControls, 333

Ensemble, 8, 10–11

entry attribute, 440

Equinox, 27–28

cache management, 152

configuring and running, 428–432

console, 406–409

LogService implementations, 304–306

p2, 218–221, 236–239, 352, 425

SDK, 40, 44, 153, 313

Servlet Bridge, 324–328, 333

Equinox x-friends, 156–158, 428

Equinox x-internal, 156–158, 428

Event listener bundle, 257

Event source bundle, 257

Event sources, 210, 377

Event strategy, 450–451

Events, 23

.exe, 148

Executable, 147–148, 282–283, 292, 363, 430–432

Executables feature, 348

Execution environment, 147–148

Export directives, 428

Exported Packages, 60, 73–74, 116, 156–158

Exporting Toast, 149–152

Export-Package, 18–20, 60–61, 115–116, 156, 401, 427

ext (buddy policy), 397

ext (Java class loader), 424

extendedFrameworkExports, 333

ExtendedLogEntry, 304–306

ExtendedLogReaderService, 304–305

ExtendedLogService, 304–306

Extender Pattern and BundleTracker, 378–379

Extensible user interface, 173

climate and audio, 181–184

crust, 173–175

emergency scenario, 175–181

navigation and mapping, 187–194

OSGi application model, 184–187

Extensible Web portal, 207–216

ExtensionActionLookup, 278–279

Extension(s), 25, 275

addExtension, 289–290

anonymous, 282

caching, 284–287

contribution IDs, 281

deltas, 283–284, 286–288

dynamic, 284–291

and extension points, 25–26, 278–280, 312–313

Extension Registry, 275–278, 283–284, 292–293

factories, 282–283, 292

named, 282

object caching, 287–290

removeExtension, 289–290

services and extensions, 290–292

singletons, 279, 281, 291

tracker, 289–290

External bundle JARs, 393

extra.<library>, 346

F

Factory components (DS)

airbag domain logic, 263–265

ComponentFactory Service, 266–268

declaring, 265–266

launching Toast, 269

Factory ID, 439

Fake Airbag, 163–164

Fake GPS, 164

Feature build, 362–366

Feature Builder, 364–366

feature IDs, 224

feature.builder/build.properties, 364

feature|fragment|plugin@elementId=, 358

features/customBuildCallbacks, 357

FeatureSync, 241–242

Felix, 28

Fetching from an SCM system, 358–360

Fetching the maps, 360

Fetching the product file, 359

fetchTag, 352

FileLocator, 412

Firefox, 188, 192

Folder bundles, 391

Folder-based bundles, 19

Food chain, 75, 94, 111, 177, 255, 373–374, 454

forceContextQualifier, 361

Forward slash, 249, 358, 363, 440

Fragment bundles, 128, 249, 413–415

framework (class loader), 424

Framework events, 23

Framework implementations, 27–28

Framework (OSGi), 26–27

frameworkLauncherClass, 333

FrameworkUtil.getBundle, 377

Friends directive, 158

Futures (IFuture object), 340

G

Galileo SR1 release, 36

Generic types, 53

getAvailableFeatures, 229, 231–232

getBundle, 297, 378

getCache, 286

getContextClassLoader, 401

getException, 297

getExtension, 282, 284, 287–288

getExtensionDeltas, 283–284, 287–288

getExtensionPoint, 284

getExtensionRegistry, 289

getHelp, 407–408

getImportedService, 95

getImportedServiceNames, 95–96, 98

getKind, 263

getLevel, 297

getLog, 297

getLogger, 305

getMapFiles, 360

getMessage, 297

getObjects, 290

getOrientation, 263

getRow, 263

getServiceReference, 297

getServlet, 289–290

getTime, 297

getUsingBundle, 442

GlassFish, 321

Google Earth, 180, 187–195, 227–228

GPS, 169

GPS bundle, 58, 98–100

GPS Bundle Activator, 94

Gps class, 51–52

GPS service, 69–75

Granularity, 22, 32

Guidance system, 228

H

Headless, 108, 197, 239, 354, 357, 394

headless-build, 357, 364

Host bundle (fragments), 413

HTTP support, 307

BindException, 319

Configuring the port, 312

contexts, 314–318

extensions, 312–313

JAAS, 314–318

Jetty, 313–314

port query, 319–320

registering a servlet, 309–313

secured client, 317–318

http.address, 320

http.port, 320

HttpRegistryManager, 288–289

http.schema, 320

HttpService, 109–111, 121, 166, 285, 308–314, 318–320, 374, 376

HttpServlet, 109–110, 199, 208–209

http.timeout, 319–320

Hudson, 367

I

IActionLookup, 210–211, 214

IAirbagListener, 52–54

IArtifactRepositoryManager, 230

IChannel, 112, 114, 115, 119, 131, 200, 254, 338

IClimateControl interface, 181–183

IClimateControlListener interface, 181–182

Icons, 147–148, 174, 178–180, 183–184, 273

ICrustDisplay, 174, 186, 292, 419

ICrustShell, 174, 178, 183, 191, 251, 256

IDs, 281, 350

IEngine, 230

IExecutableExtension, 283

IExtension, 288–290

IExtensionChangeHandler, 288–289

IExtensionDeltas, 283–284, 286–288

IExtensionRegistry, 282

IExtensionTracker, 288–289

ignore (configuration-policy), 439

IGoogleEarth, 189–192

IGps, 70–71, 73, 79–80, 99–100, 169, 190, 200, 253

Illegal XML characters, 444

IMappingScreen, 191–192

IMetadataRepositoryManager, 230

Immediate components, 255–256, 438, 453–454

Implementation, 162–165, 178

<implementation> element, 436, 439

Imported Packages, 61, 73–74

Importing versus requiring, 426

Import-Package, 19–21, 78, 394

Imports and exports, declaring, 424

Imports, organizing, 53, 73

Initialization file, 430

initializeTracker, 289–290

init-param, 328, 332

initparams, 309–310

injection, 87, 388–390

Install area (Equinox data area), 432–434

InstallAction, 235

Installed (bundle), 23, 416

install.xml, 235

Instance area (Equinox data area), 432–434

integer, 448

Integrating code libraries, 387

bundling by injection, 388–390

bundling by reference, 392–394

bundling by wrapping, 390–391

bundling using bnd, 394

JARs as bundles, 388

troubleshooting class loading problems, 394–403

interface attribute, 442–443

Interface duplication, 162

Interface/implementation separation, 138, 162–165, 178

Interfaces, 162–165

Internal directive, 157

Internal packages, 71, 115–116, 157–158

Internet Explorer, 192

Introspection, 332, 377, 406

IPlanner, 230

IPortalAction, 25–26, 209–215, 258–262, 276–281

IProfileRegistry, 230

IProvisioner, 229

IRegistryChangeEvent, 283, 286–288

IRegistryChangeListener, 283, 286

ISafeRunnable, 377

ITrackingConstants, 198, 200, 203

IUs (installable units), 219–222, 231–232

J

jarsigner, 36

Java Archives (JARs), 15–18, 188, 346, 357, 388, 391–395

Java Authentication and Authorization Service (JAAS), 307, 314–318

Java class libraries, 352–353

Java database connectivity (JDBC), 392–394

Java Development Tools (JDT), 36

Java Runtime Environment (JRE), 36, 356, 401–402, 425

Java Servlet API, 309

Java Software Development Kit (SDK), 36, 330

Java system components, 15–18

Java virtual machine (JVM), 15

JavaScript, 190

javax.servlet, 109, 325

javax.servlet.http, 325

javax.servlet.http.HttpServlet, 209

javax.servlet.resources, 325

Jetty, 313–314, 322–323

Jingle, 334

JMock, 127

join, 77, 384–385

JUnit, 126, 128–130, 136–139

junit.jar, 411

K

Key/value pairs, 120, 285, 328, 347

Keyboard shortcuts, 46–47, 53, 73, 170

Knopflerfish, 28

L

label property, 214–215

<<lazy>>, 420

Launch configuration, 63–64, 148, 205

Launcher Name, 148

Launching page, 147–148

launch.ini, 328

Lazy activation, 417, 419–420, 422

LDAP filters, 406, 414, 444, 456

Licensed material, 391

Lifecycle (bundle), 22–23, 291, 410, 416

Linux, 192, 319

listBundles, 407–408

Listener/Observer Pattern, 52–54, 77, 79, 86, 177–179, 182, 257, 283, 286–288, 292, 298, 300–305

Listeners

addListener method, 52–53

BundleListeners, 377–378

dynamic best practices, 376

Event listener bundle, 257

IAirbagListener, 52–54

IClimateControlListener interface, 181–182

IRegistryChangeListener, 283

registry, 286, 288, 381

removeListener method, 52–55

service listeners, 86

weak listener list, 377

locateService, 103, 259–260, 452–453

Logging, 295

clearLog, 298–300, 304

getLog, 297

getLogger, 305

log appenders, 395

log service specification, 295–298

LogEntry, 297

LogFilter, 305

logging levels, 296

logInfo, 299–300

LogListener, 298

LogReaderService, 295, 297–298, 301–303

LogService, 133–134, 298–301, 304–306

LogUtility, 119–121, 133, 303–304

setLog, 135–137, 298–300, 304

writing to the log, 296–297

Logical location, 312

Login, 314–318

log4j, 304, 395

LogService.LOG_DEBUG, 296

LogService.LOG_ERROR, 296

LogService.LOG_INFO, 296

LogService.LOG_WARNING, 296

LogUtility, 119–121, 133, 303–304

Lookup algorithm, 424

Lookup strategy, 450–452

M

Mac platform issues, 180, 185–186, 193

main class, 55–56

ManageAction, 235

Map, 447–448

Map files, 351, 358–360

Mapping, 187–192, 227

mapsCheckoutTag, 349, 351, 360

mapsRepo, 349, 351, 360

mapsRoot, 349, 351, 360

Marker properties, 351–353

mBedded Server, 28

Metadata, 219–220

Metadata repositories, 219–220, 230–231, 237–239, 352

META-INF, 18, 60, 149, 346

MockAirbag, 127, 131–138

Mocking, 127, 132

MockLog, 131, 133–136

modified attribute, 437–438, 447–450

Modularity, 20–22

N

name attribute, 437, 440, 443

Named extensions, 282

Names with . (dot), 455

Namespace, 220

namespace and schema, 435–437

Naming conventions, 103, 224, 455

NASA, 8, 10–11

Native configuration, 322

Navigation and mapping

extensibility, 191–192

Google Earth integration, 187–190

mapping support, 191

user interface, 192–194

Navigation operations, 46–47

Nested DS components, 437

Nested reference elements, 250

netstat -anb, 319, 331

NetWeaver, 321

newInstance, 268, 454

NoClassDefFoundErrors, 395, 400

O

Object constructors, 380

Object handling, 376–377

Observer Pattern, 177, 181

Observers, 376–377

Open Services Gateway initiative, 13n

optional (configuration-policy), 439

Optional prerequisites, 426

Optional service, 446, 449

Orbit, 390

OSGi Alliance, 13

OSGi application model, 184–187

OSGi Mobile Expert Group (MEG), 184

OSGi R4.2 Enterprise Expert Group (EEG), 333–334

osgi.bundles, 422–423, 429

OSGI-INF, 98

osgi.instance.area, 429

osgi.noShutdown, 104–105

Overview page (Toast), 143–144

P

Package Explorer, 53, 56, 70–71, 150

Package filtering, 61

Package visibility, 156–158

Packaging, 141

Binary Build, 149–150

component definition, 154–158

exporting Toast, 149–152

launch configuration, 142–143

platform-specific code, 152–154

product configurations, 141–149

versions and version ranges, 155–156

Parallel development, 161, 165

parent (buddy policy), 398

Password, 314–318

Path separator, 440

PDE (Plug-in Development Environment), 36, 148, 152

Build, 344–345, 362–363

Build target, 348

Build templates, 357

tooling, 270–273

Permissions, 27

perm_pattern, 363

Persistent configuration, 205

Persistent ID (PID), 198, 203, 319–320, 437, 439, 445–446, 455

Persistent starting, 422

Physical location, 312

Platform, 7, 26–27

Platform-specific code, 152–154

Platform-specific issues, 180

Pluggable services, 161–170

pluginPath, 349, 351, 357

Plug-ins view, 47

plugins/customBuildCallbacks, 357

plugin.xml, 26, 47, 276

POJO, 33, 126

policy attribute, 252, 443–444, 449

Port 8080, 121

Port 8081, 170, 312

Port management, 319–320, 331, 456

Port query, 319–320

Portal actions, 212–215

PortalServlet, 208–210, 256, 258

postSetup, 359

processSync, 241

Producers (bundle writers), 14

Product configurations

configuration page, 146

creating, 142–143

dependencies page, 144–146

launching page, 147–148

overview page, 143–144

productizing the client, 149

running the product, 148

sync with launch configuration, 148

Product files, release engineering, 359

product (property), 349

productBuild.xml, 348, 356, 366

Productizing the client, 149

Profile registry, 230

Properties, 119–120

<properties> element, 436, 440–441

<property> element, 436, 439–440

PropertyManager class, 111, 119–120, 122

Protocol providers, 335

<provide> element, 253, 436, 442–443

providing services, 68–69, 98–101, 253–255

Provisioner, 229–233

Provisioning UI, 235

p2 (Equinox)

architecture, 218–219

artifacts, 220

director, 221, 239

engine, 221

metadata, 219–220

profiles, 220, 425

repository, 220, 236–238, 352

wiki, 220

p2.artifact.repo, 349, 352, 365

p2.compress, 349, 352, 365–366

p2.gathering, 349, 352, 365–366

p2.inf, 231, 237

p2.metadata.repo, 349, 352, 365

Q

qualifier, 155, 361–362

Qualifying version numbers, 361–362

Quality, 22, 126, 131, 248

Query, 210, 231, 286, 305, 409

R

Raw types (compiler warnings), 53, 283

Re-exporting bundles, 427

Refactoring, 59, 70, 71, 79, 176

Reference (bundling), 392–394

<reference> element, 103–104, 250–252, 261, 436, 442–444, 449–452, 456

Reference implementation (RI), 9

Referenced services, 68–69, 102–104, 250, 446, 450–453

REF_WEAK, 289–290, 377

registered (buddy policy), 396–398

Registering/unregistering a servlet, 309–313

registerObject, 289–290

registerResources, 308–311

registerService, 73, 186

registerServlet, 111, 210, 309–311

Registration Pattern, 210

Registry change events, 283, 286–288

Registry change listeners, 286, 288, 381

Regression testing, 164–165

Release engineering, 343

add-on features, 363–366

Ant properties, 353

build.properties, 345–353, 360, 364–365

client.builder, 347–353

control properties, 346–347

cross-platform building, 351

custom build scripts, 347, 356–357

debugging, 355–356

Eclipse delta pack, 348

feature.builder, 364–366

fetching from an SCM system, 358–360

Java class libraries, 352–353

map files, 358–360

p2 repository, 352

PDE Build, 344–345

product files, 345, 359

repositories, 352, 357

root files, 362–363

SCM access control, 351–352

SCM integration, 359–360

version numbers, 360–362

WARs, 367

Remote Method Invocation (RMI), 402

Remote Services, 322, 333–341

Remote service client, 338–339

Remote service host, 336–337

Removal, dynamic awareness, 375

removeAction, 211–212, 260–261

removeExtension, 289–290

removeListener method, 52–55

repoBaseLocation, 352, 357, 364–365

Repositories, 219–220, 230–231, 236–238, 242, 352, 357

repository directory, 355

require (configuration-policy), 439

Require-Bundle, 19–21, 78, 116–117

Required services, 80, 97, 104, 446

Resolved (bundle), 17, 23, 283–284, 417

Reverse domain name convention, 59

Root element, 437

Root files, 362–363

root.<os.ws.arch>, 362

Roots, 231

ROOT_TAG, 232

ROOT.war, 330

running, 385

Runtime, 26–27

S

Safari, 188, 192

SafeRunner, 377

Samples Manager, 37–39

SAT4J constraint solver, 221

SAX (Simple API for XML) classes, 425

SCM access control, 351–352, 365

SCM integration, 359–360

SCM system, 358–360

scr namespace identifier, 436

Secured client, 317–318

Security, 27, 314–318

Semantic naming, 103

Separation approach, 162–164

Separation of concerns, 210, 301, 311, 324

Serialization, 402–403

Server side, 321

bridged configuration, 322–333

distributed Toast, 335–336

Eclipse Communication Framework (ECF), 334–335

embedding OSGi, 323–333

<init-param>s, 333

native configuration, 322

remote service client, 338–339

remote service host, 336–337

Remote Services, 335

servers and OSGi, 322–323

service discovery, 339–340

Service Location Protocol (SLP), 339–340

Servlet Bridge, 324–325, 327–328, 333

solo configuration, 322

Web Application Root (WAR) files, 326–329

Zeroconf, 339

Service Activator Toolkit (SAT), 93–97, 303

Service Component Runtime (SCR), 98, 248, 270

Service discovery, 339–340

<service> element, 436, 441–442

Service events, 23

Service listeners, 86

Service Location Protocol (SLP), 339–340

Service platform (sp) commands, 331–332

Service registry, 24–26

Service Trackers, 86–93

ServiceActionLookup, 211–213, 259–261

Service-based action lookup, 210–213

Service-Component, 100, 164, 249, 379, 413, 444

servicefactory attribute, 441

service.id property, 409

service.ranking property, 409

ServiceReference, 80, 186, 212, 261, 296, 451–452

ServiceRegistration, 73

Services, 17, 24, 67, 85

acquiring, 79–81

definition, 67

and extensions, 290–292

launching, 81

optional, 446, 449

registering the airbag service, 75–78

registering the GPS service, 69–75

required, 80, 97, 104, 446

troubleshooting, 82

services command, 406

ServiceTrackerCustomizers, 88–90

servlet, 327–328

Servlet Bridge, 324–328, 333

servletbridge.jar, 327

servlet-class, 327–328

servlet-mapping, 328

set*, 211, 230

setAirbag method, 54–56

setChannel, 118–119

setGps method, 55–56

setHttp, 110–111, 309–310

setLog, 135–137, 298–300, 304

setUp, 135–136

Shell feature, 225–226

short status command, 91–92, 332, 406, 415

Signing, 391

Simple Configurator, 333, 383, 429

SimpleLoginModule, 317

Simulated devices, 167–170

Simulator framework, 165–167

Singletons, 120, 279, 281, 291, 415–416

skipBase, 349, 351, 353, 364

skipFetch, 349, 352, 359, 365

skipMaps, 349, 352, 360, 365

SoftReferences, 377

solo configuration, 322

some.bundle/plugin.xml, 282

source.<library>, 346

sp_deploy, 331

sp_redeploy, 331

sp_start, 331

sp_stop, 331

sp_test, 331

sp_undeploy, 331

special_executable, 363

Splash screen, 430

Split packages, 76

Spring DM, 321

ss command (short status), 91–92, 332, 406, 415

Standard Widget Toolkit (SWT), 35, 173–175, 179–180, 188, 190–192, 414–415, 427

Start levels, 82, 146, 382–383

Starting, 422

Starting (bundle), 417

StartLevel service, 85

startup method, 55, 78, 136–137, 265, 268

Static imports, 129

static (policy attribute setting), 443, 449

Stopping (bundle), 417

Strict mode, 158

svn, 359

Symmetry, 55

Synchronization (Product Export), 151

Synchronized launch and product configurations, 148

System Bundle, 26–27, 425

System deployment with p2, 217

architecture, 218–219

artifacts, 220

back end features, 222–225

client features, 225–228

client-side dynamic deployment, 241–242

director, 221

engine, 221

exporting, running, and provisioning, 235–241

feature IDs, 224

p2 metadata, 219–220

profiles, 220

provisioner, 229–233

repositories, 220

Web UI, 233–235

System integrators (consumers), 14

SystemTestCase, 135, 137

System-testing Toast, 131–139

T

target attribute, 444, 456

Target editor, 41–45

Target platform, 39–46, 104, 138

Target properties, 456–457

Telematics, 31–32, 35, 49–56

Templates, 347–349, 356–357, 364, 367

Testing, 125

Easymock, 126–130, 132

fragment bundles, 128

JUnit, 126, 128–130, 136–139

mocking, 127, 132

regression testing, 164–165

static imports, 129

system-testing, 131–139

test cases, 127–130, 135–137

test harness, 127, 131–134

unit-testing, 126–130

Tickle, 235, 241–242

Toast

dynamic-awareness, 375

evolution, 34–35

exporting, 149–152

sample code, 36–39

target content, 46

target platform setup, 39–46

ToastBackEnd, 142, 148, 170, 229, 239

ToastLogReader, 301, 306

toast.war, 330–331

toast.zip, 238, 330

toFileURL, 188–189

Tomcat, 323, 331

topLevelElementID, 364–365

topLevelElementType, 364–365

Touchpoints, 218, 221

Trackers, 289–290

Tracking code, 198–201

Tracking Scenario, 197–198

TrackingConfigServlet, 202–204, 310–312

TrackingMonitor, 197–203

TrackingServlet, 197–199

transformedRepoLocation, 357, 364–365

Troubleshooting

class loading problems, 394–403

ClassNotFoundExceptions, 395, 400, 424

HttpService, 318–320

server side, 332–334

services, 82

Twitter, 334

type attribute, 440

U

unbind attribute, 88–90, 102–104, 211, 251, 300, 304, 443

ungetService, 80–81

UninstallAction, 235

Uninstalled, 23, 378, 417

uninstall.xml, 235

Unit-testing Toast, 126–130

unregister, 309–310

Unresolved, 23, 281, 378

Unzip, 389, 391

updateDelay, 200–203

URL, 44, 188, 331

URL pattern, 327–328

UrlChannel, 114–115, 122

URLConverter, 188

User Admin service, 27

User area (Equinox data area), 433–434

User interface

climate and audio, 183–184

emergency, 176, 178–181

navigation and mapping, 192–194 See also Extensible user interface

uses directive, 426–427

UTF-8, 249

util package, 427

Utility classes

constants, 119

logging, 120–121

properties, 119–120

V

Validity testing, 376

value attribute, 439

Version numbers, 155, 297, 360–361, 364–365

VM arguments, 104, 120–121, 137, 158, 170, 432

void <method>, 451

W

wait, 384–385

war.builder/customTargets.xml, 367

watchFor, 134–136

Weak listener list, 377

WeakReferences, 289–290, 377

Web archive (WAR), 326–333, 367

Web interface, 165–166, 169–170, 204

Web portal, 207

action lookup, 209–213

delayed component instantiation, 213

portal actions, 212–215

PortalServlet, 208–210, 256, 258

Whiteboard Pattern, 210, 215–216

Web UI, 233–235

WEB-INF, 326, 330–332

WebSphere, 321, 323

web.xml, 326–327, 332–333

Whiteboard Pattern, 210, 215–216, 256–262, 377

Whitespace in config.ini files, 430

Widgets, 173–175

Wildcards, 46, 249

Windows, 192, 360

Workspace bundles, 63, 138, 393

Wrapping a code library, 390–391

X

Xalan, 401

x-friends, 156–158, 428

x-internal, 156–158, 428

XML, 26, 98, 248–249, 261, 401

XML namespace and schema, 435–437

XML-compliance, 437

XMPP, 334–335

Z

Zeroconf, 339

Zip, 238, 344, 352, 357, 367, 389, 391

Zombie bundles, 375

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.24.106