(backslash), 249, 429–430, 440
/ (forward slash), 249, 358, 363, 440
${buildDirectory}/features, 353, 365
${buildDirectory}/plugins, 353, 365
${variable} substitution, 353
&, 444
>, 444
<, 444
@noDefault, 433
@none, 433
@user.dir, 434
@user.home, 434
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
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 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
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
Back end
core bundles, 108–109
emergency bundle, 109–111
features, 222–225
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
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
boot (buddy policy), 397
Boot delegation, 428
boot (Java boot class loader), 424
Bridged configuration, 322–329
Browsers, 166, 188–190, 202–205
Buddy Class, 397–399
BuddyLoader, 424
Bug reports, 320
Build naming, 350
build target, 348
Build templates, 357
buildDirectory, 349–350, 353, 358–360, 365–367
buildID, 349–350
build.properties, 345–353, 364–365
buildType, 349–350
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
Bundle-relative path, 440
Bundle(s)
activation policy, 419–421
API surface area, 115–116
directories, 411–413
dynamic-enabled, 380–381
folder-based, 19
host, 413
JARs, 411–413
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
Bundling by injection, 388–390
Bundling by reference, 392–394
Bundling by wrapping, 390–391
Bundling using bnd, 394
Cache management, 152
Caching, 284–290
Capability mechanism, 220
cardinality attribute, 211, 252, 443, 445–446, 449, 452
catalina run/catalina stop, 331
Channel bundle, 112–116
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
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
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
CommandInterpreter, 407
commandline, 333
Command-line arguments, 431
Commons Logging, 304, 325, 389–390
Comparing the workspace, 38
compilelogs, 355
Compiler control, 352–353
Compiler preferences, 54
Compiler warnings, 53
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
<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
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-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
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
-consolelog, 354
Constants, 119
Constraint solver SAT4J, 221
Container, 335
Context class loaders, 399–401
Context Finder, 401
Context (logging), 304–306
Continuation character (backslash), 249, 429–430, 440
Contribution IDs, 281
Control properties, 346–347
Copy into Workspace, 38
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, 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
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
Delayed component instantiation, 213
Delta pack, 40, 43–44, 153–154, 348
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
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
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 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
enableFrameworkControls, 333
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
Equinox x-friends, 156–158, 428
Equinox x-internal, 156–158, 428
Event listener bundle, 257
Event source bundle, 257
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
addExtension, 289–290
anonymous, 282
caching, 284–287
contribution IDs, 281
dynamic, 284–291
and extension points, 25–26, 278–280, 312–313
Extension Registry, 275–278, 283–284, 292–293
named, 282
object caching, 287–290
removeExtension, 289–290
services and extensions, 290–292
tracker, 289–290
External bundle JARs, 393
extra.<library>, 346
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
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
Galileo SR1 release, 36
Generic types, 53
getAvailableFeatures, 229, 231–232
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 Activator, 94
Gps class, 51–52
GPS service, 69–75
Guidance system, 228
Headless, 108, 197, 239, 354, 357, 394
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
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
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> element, 436, 439
Importing versus requiring, 426
Import-Package, 19–21, 78, 394
Imports and exports, declaring, 424
Initialization file, 430
initializeTracker, 289–290
initparams, 309–310
Install area (Equinox data area), 432–434
InstallAction, 235
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
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
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.http, 325
javax.servlet.http.HttpServlet, 209
javax.servlet.resources, 325
Jingle, 334
JMock, 127
junit.jar, 411
Key/value pairs, 120, 285, 328, 347
Keyboard shortcuts, 46–47, 53, 73, 170
Knopflerfish, 28
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
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
removeListener method, 52–55
service listeners, 86
weak listener list, 377
locateService, 103, 259–260, 452–453
Logging, 295
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
writing to the log, 296–297
Logical location, 312
Login, 314–318
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
Mac platform issues, 180, 185–186, 193
main class, 55–56
ManageAction, 235
Map, 447–448
mapsCheckoutTag, 349, 351, 360
Marker properties, 351–353
mBedded Server, 28
Metadata, 219–220
Metadata repositories, 219–220, 230–231, 237–239, 352
modified attribute, 437–438, 447–450
Modularity, 20–22
Named extensions, 282
Names with . (dot), 455
Namespace, 220
namespace and schema, 435–437
Naming conventions, 103, 224, 455
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
NetWeaver, 321
NoClassDefFoundErrors, 395, 400
Object constructors, 380
Object handling, 376–377
Observers, 376–377
Open Services Gateway initiative, 13n
optional (configuration-policy), 439
Optional prerequisites, 426
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-INF, 98
osgi.instance.area, 429
osgi.noShutdown, 104–105
Overview page (Toast), 143–144
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 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-specific code, 152–154
Platform-specific issues, 180
Pluggable services, 161–170
Plug-ins view, 47
plugins/customBuildCallbacks, 357
policy attribute, 252, 443–444, 449
Port 8080, 121
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
engine, 221
metadata, 219–220
wiki, 220
p2.artifact.repo, 349, 352, 365
p2.compress, 349, 352, 365–366
p2.gathering, 349, 352, 365–366
p2.metadata.repo, 349, 352, 365
Qualifying version numbers, 361–362
Query, 210, 231, 286, 305, 409
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
registered (buddy policy), 396–398
Registering/unregistering a servlet, 309–313
registerObject, 289–290
registerResources, 308–311
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
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 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
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
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
acquiring, 79–81
definition, 67
and extensions, 290–292
launching, 81
registering the airbag service, 75–78
registering the GPS service, 69–75
troubleshooting, 82
services command, 406
ServiceTrackerCustomizers, 88–90
servlet, 327–328
servletbridge.jar, 327
servlet-class, 327–328
servlet-mapping, 328
setAirbag method, 54–56
setChannel, 118–119
setGps method, 55–56
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
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 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
System-testing Toast, 131–139
Target editor, 41–45
Target platform, 39–46, 104, 138
Target properties, 456–457
Templates, 347–349, 356–357, 364, 367
Testing, 125
fragment bundles, 128
regression testing, 164–165
static imports, 129
system-testing, 131–139
unit-testing, 126–130
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
toast.war, 330–331
toFileURL, 188–189
topLevelElementID, 364–365
topLevelElementType, 364–365
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
unbind attribute, 88–90, 102–104, 211, 251, 300, 304, 443
ungetService, 80–81
UninstallAction, 235
uninstall.xml, 235
Unit-testing Toast, 126–130
unregister, 309–310
updateDelay, 200–203
URL pattern, 327–328
URLConverter, 188
User Admin service, 27
User area (Equinox data area), 433–434
User interface
climate and audio, 183–184
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
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
wait, 384–385
war.builder/customTargets.xml, 367
watchFor, 134–136
Weak listener list, 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
Whiteboard Pattern, 210, 215–216, 256–262, 377
Whitespace in config.ini files, 430
Widgets, 173–175
Workspace bundles, 63, 138, 393
Wrapping a code library, 390–391
Xalan, 401
XML, 26, 98, 248–249, 261, 401
XML namespace and schema, 435–437
XML-compliance, 437
XMPP, 334–335
Zeroconf, 339
Zip, 238, 344, 352, 357, 367, 389, 391
Zombie bundles, 375
18.118.24.106