Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2013-01-18 06:27:23 +0000
committerslewis2013-01-18 06:27:23 +0000
commitcb4d73609ca031c5649f855b57dd03ed7cfc1b9d (patch)
treefd978c47712e959929584ace3e62984713bd213d /protocols
parent15d0cf001a6ca546eb08955b67a3fe7b9b51494e (diff)
parent6e0debee6465770c617adc3ca4c9c9e04e7c49b5 (diff)
downloadorg.eclipse.ecf-cb4d73609ca031c5649f855b57dd03ed7cfc1b9d.tar.gz
org.eclipse.ecf-cb4d73609ca031c5649f855b57dd03ed7cfc1b9d.tar.xz
org.eclipse.ecf-cb4d73609ca031c5649f855b57dd03ed7cfc1b9d.zip
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'protocols')
-rw-r--r--protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.jdt.core.prefs200
-rw-r--r--protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.jdt.launching.prefs6
-rw-r--r--protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.pde.prefs66
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/.checkstyle12
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/.settings/org.eclipse.wst.validation.prefs12
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/maven-site-jslp.vm704
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/runtimeTests/META-INF/MANIFEST.MF40
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/runtimeTests/src/main/java/ch/ethz/iks/slp/test/SelfDiscoveryTest.java320
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/runtimeTests/src/main/java/ch/ethz/iks/slp/test/TestActivator.java324
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/impl/package.html4
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/package.html4
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/main/resources/LICENSE.txt52
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP-OSGi/index.xml60
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP-OSGi/userguide.xml194
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/index.xml114
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/modularity.xml98
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/userguide.xml290
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/properties.xml258
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/security.xml86
-rw-r--r--protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/using.xml112
-rw-r--r--protocols/bundles/org.eclipse.ecf.protocol.bittorrent/.settings/org.eclipse.jdt.ui.prefs6
-rw-r--r--protocols/bundles/org.eclipse.ecf.protocol.bittorrent/about.html58
-rw-r--r--protocols/bundles/org.eclipse.ecf.protocol.msn/.classpath14
-rw-r--r--protocols/bundles/org.eclipse.ecf.protocol.msn/.settings/org.eclipse.jdt.core.prefs698
24 files changed, 1866 insertions, 1866 deletions
diff --git a/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.jdt.core.prefs b/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.jdt.core.prefs
index 7bc4f35c1..0acef2c4e 100644
--- a/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.jdt.core.prefs
+++ b/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.jdt.core.prefs
@@ -1,100 +1,100 @@
-#Fri Oct 15 17:32:27 PDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.3
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
+#Fri Oct 15 17:32:27 PDT 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.3
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.3
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.jdt.launching.prefs b/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.jdt.launching.prefs
index c5b0d9304..4fcabfc80 100644
--- a/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.jdt.launching.prefs
+++ b/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.jdt.launching.prefs
@@ -1,3 +1,3 @@
-#Fri Oct 15 17:32:24 PDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
+#Fri Oct 15 17:32:24 PDT 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.pde.prefs b/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.pde.prefs
index 8e7b248c4..14abb2f89 100644
--- a/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.pde.prefs
+++ b/protocols/bundles/ch.ethz.iks.r_osgi.remote/.settings/org.eclipse.pde.prefs
@@ -1,33 +1,33 @@
-#Fri Oct 15 17:32:28 PDT 2010
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=2
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=0
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=2
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
+#Fri Oct 15 17:32:28 PDT 2010
+compilers.f.unresolved-features=1
+compilers.f.unresolved-plugins=1
+compilers.incompatible-environment=2
+compilers.p.build=1
+compilers.p.build.bin.includes=1
+compilers.p.build.encodings=2
+compilers.p.build.java.compiler=2
+compilers.p.build.java.compliance=1
+compilers.p.build.missing.output=2
+compilers.p.build.output.library=1
+compilers.p.build.source.library=1
+compilers.p.build.src.includes=1
+compilers.p.deprecated=1
+compilers.p.discouraged-class=0
+compilers.p.internal=1
+compilers.p.missing-packages=2
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
+compilers.p.no-required-att=0
+compilers.p.not-externalized-att=2
+compilers.p.unknown-attribute=1
+compilers.p.unknown-class=1
+compilers.p.unknown-element=1
+compilers.p.unknown-identifier=1
+compilers.p.unknown-resource=1
+compilers.p.unresolved-ex-points=0
+compilers.p.unresolved-import=0
+compilers.s.create-docs=false
+compilers.s.doc-folder=doc
+compilers.s.open-tags=1
+eclipse.preferences.version=1
diff --git a/protocols/bundles/ch.ethz.iks.slp/.checkstyle b/protocols/bundles/ch.ethz.iks.slp/.checkstyle
index 041374e14..b2c0bc484 100644
--- a/protocols/bundles/ch.ethz.iks.slp/.checkstyle
+++ b/protocols/bundles/ch.ethz.iks.slp/.checkstyle
@@ -1,6 +1,6 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fileset-config file-format-version="1.2.0" simple-config="true">
- <fileset name="Alle" enabled="true" check-config-name="Sun Checks (Eclipse)" local="false">
- <file-match-pattern match-pattern="." include-pattern="true"/>
- </fileset>
-</fileset-config>
+<?xml version="1.0" encoding="UTF-8"?>
+<fileset-config file-format-version="1.2.0" simple-config="true">
+ <fileset name="Alle" enabled="true" check-config-name="Sun Checks (Eclipse)" local="false">
+ <file-match-pattern match-pattern="." include-pattern="true"/>
+ </fileset>
+</fileset-config>
diff --git a/protocols/bundles/ch.ethz.iks.slp/.settings/org.eclipse.wst.validation.prefs b/protocols/bundles/ch.ethz.iks.slp/.settings/org.eclipse.wst.validation.prefs
index 43dc60c08..5d557e867 100644
--- a/protocols/bundles/ch.ethz.iks.slp/.settings/org.eclipse.wst.validation.prefs
+++ b/protocols/bundles/ch.ethz.iks.slp/.settings/org.eclipse.wst.validation.prefs
@@ -1,6 +1,6 @@
-#Wed May 31 17:52:13 CEST 2006
-DELEGATES_PREFERENCE=delegateValidatorListorg.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator\=org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator\=org.eclipse.wst.wsdl.validation.internal.eclipse.Validator;
-USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator;org.eclipse.jst.jsp.core.internal.validation.JSPELValidator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.html.internal.validation.HTMLValidator;
-USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator;org.eclipse.jst.jsp.core.internal.validation.JSPELValidator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.html.internal.validation.HTMLValidator;
-USER_PREFERENCE=overrideGlobalPreferencesfalse
-eclipse.preferences.version=1
+#Wed May 31 17:52:13 CEST 2006
+DELEGATES_PREFERENCE=delegateValidatorListorg.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator\=org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator\=org.eclipse.wst.wsdl.validation.internal.eclipse.Validator;
+USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator;org.eclipse.jst.jsp.core.internal.validation.JSPELValidator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.html.internal.validation.HTMLValidator;
+USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.wst.wsi.ui.internal.WSIMessageValidator;org.eclipse.jst.jsp.core.internal.validation.JSPJavaValidator;org.eclipse.jst.jsp.core.internal.validation.JSPELValidator;org.eclipse.wst.xml.core.internal.validation.eclipse.Validator;org.eclipse.jst.jsp.core.internal.validation.JSPDirectiveValidator;org.eclipse.wst.xsd.core.internal.validation.eclipse.XSDDelegatingValidator;org.eclipse.wst.dtd.core.internal.validation.eclipse.Validator;org.eclipse.wst.wsdl.validation.internal.eclipse.WSDLDelegatingValidator;org.eclipse.wst.html.internal.validation.HTMLValidator;
+USER_PREFERENCE=overrideGlobalPreferencesfalse
+eclipse.preferences.version=1
diff --git a/protocols/bundles/ch.ethz.iks.slp/maven-site-jslp.vm b/protocols/bundles/ch.ethz.iks.slp/maven-site-jslp.vm
index 7b1e6c351..fab891279 100644
--- a/protocols/bundles/ch.ethz.iks.slp/maven-site-jslp.vm
+++ b/protocols/bundles/ch.ethz.iks.slp/maven-site-jslp.vm
@@ -1,353 +1,353 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
-#macro ( banner $banner $id )
- #if ( $banner )
- #if( $banner.href )
- <a href="$banner.href" id="$id">
- #else
- <span id="$id">
- #end
-
- #if( $banner.src )
- #set ( $src = $banner.src )
- #if ( ! ( $src.toLowerCase().startsWith("http") || $src.toLowerCase().startsWith("https") ) )
- #set ( $src = $PathTool.calculateLink( $src, $relativePath ) )
- #set ( $src = $src.replaceAll( "\\", "/" ) )
- #end
- #if ( $banner.alt )
- #set ( $alt = $banner.alt )
- #else
- #set ( $alt = "" )
- #end
- <img src="$src" alt="$alt" />
- #else
- $banner.name
- #end
-
- #if( $banner.href )
- </a>
- #else
- </span>
- #end
- #end
-#end
-
-#macro ( links $links )
- #set ( $counter = 0 )
- #foreach( $item in $links )
- #set ( $counter = $counter + 1 )
- #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
- #set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) )
- <a href="$currentItemHref">$item.name</a>
- #if ( $links.size() > $counter )
- |
- #end
- #end
-#end
-
-#macro ( breadcrumbs $breadcrumbs )
- #set ( $counter = 0 )
- #foreach( $item in $breadcrumbs )
- #set ( $counter = $counter + 1 )
- #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
- #set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) )
-
- #if ( $currentItemHref == $alignedFileName || $currentItemHref == "" )
- $item.name
- #else
- <a href="$currentItemHref">$item.name</a>
- #end
- #if ( $breadcrumbs.size() > $counter )
- &gt;
- #end
- #end
-#end
-
-#macro ( displayTree $display $item )
- #if ( $item && $item.items && $item.items.size() > 0 )
- #foreach( $subitem in $item.items )
- #set ( $subitemHref = $PathTool.calculateLink( $subitem.href, $relativePath ) )
- #set ( $subitemHref = $subitemHref.replaceAll( "\\", "/" ) )
-
- #if ( $alignedFileName == $subitemHref )
- #set ( $display = true )
- #end
-
- #displayTree( $display $subitem )
- #end
- #end
-#end
-
-#macro ( menuItem $item )
- #set ( $collapse = "none" )
- #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
- #set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) )
-
- #if ( $item && $item.items && $item.items.size() > 0 )
- #if ( $item.collapse == false )
- #set ( $collapse = "expanded" )
- #else
- ## By default collapsed
- #set ( $collapse = "collapsed" )
- #end
-
- #set ( $display = false )
- #displayTree( $display $item )
-
- #if ( $alignedFileName == $currentItemHref || $display )
- #set ( $collapse = "expanded" )
- #end
- #end
- <li class="$collapse">
- #if ( $item.img )
- #if ( ! ( $item.img.toLowerCase().startsWith("http") || $item.img.toLowerCase().startsWith("https") ) )
- #set ( $src = $PathTool.calculateLink( $item.img, $relativePath ) )
- #set ( $src = $item.img.replaceAll( "\\", "/" ) )
- <img src="$src"/>
- #else
- <img src="$item.img" align="absbottom" style="border-width: 0"/>
- #end
- #end
- #if ( $alignedFileName == $currentItemHref )
- <strong>$item.name</strong>
- #else
- <a href="$currentItemHref">$item.name</a>
- #end
- #if ( $item && $item.items && $item.items.size() > 0 )
- #if ( $collapse == "expanded" )
- <ul>
- #foreach( $subitem in $item.items )
- #menuItem( $subitem )
- #end
- </ul>
- #end
- #end
- </li>
-#end
-
-#macro ( mainMenu $menus )
- #foreach( $menu in $menus )
- #if ( $menu.name )
- <h5>$menu.name</h5>
- #end
- <ul>
- #foreach( $item in $menu.items )
- #menuItem( $item )
- #end
- </ul>
- #end
-#end
-
-#macro ( copyright )
- #if ( $project )
- #set ( $currentYear = ${currentDate.year} + 1900 )
-
- #if ( ${project.inceptionYear} && ( ${project.inceptionYear} != ${currentYear.toString()} ) )
- ${project.inceptionYear}-${currentYear}
- #else
- ${currentYear}
- #end
-
- #if ( ${project.organization} && ${project.organization.name} )
- ${project.organization.name}
- #end
- #end
-#end
-
-#macro ( publishDate $position $publishDate $version )
- #if ( $publishDate && $publishDate.format )
- #set ( $format = $publishDate.format )
- #else
- #set ( $format = "MM/dd/yyyy" )
- #end
-
- $dateFormat.applyPattern( $format )
-
- #set ( $dateToday = $dateFormat.format( $currentDate ) )
-
- #if ( $publishDate && $publishDate.position )
- #set ( $datePosition = $publishDate.position )
- #else
- #set ( $datePosition = "left" )
- #end
-
- #if ( $version )
- #if ( $version.position )
- #set ( $versionPosition = $version.position )
- #else
- #set ( $versionPosition = "left" )
- #end
- #end
-
- #set ( $breadcrumbs = $decoration.body.breadcrumbs )
-
- #if ( $datePosition.equalsIgnoreCase( $position ) )
- #if ( ( $datePosition.equalsIgnoreCase( "right" ) ) || ( $datePosition.equalsIgnoreCase( "bottom" ) ) )
- &nbsp;| $i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday
- #if ( $versionPosition.equalsIgnoreCase( $position ) )
- &nbsp;| $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
- #end
- #elseif ( ( $datePosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $datePosition.equalsIgnoreCase( "navigation-top" ) ) )
- <div id="lastPublished">
- $i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday
- #if ( $versionPosition.equalsIgnoreCase( $position ) )
- &nbsp;| $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
- #end
- </div>
- #elseif ( $datePosition.equalsIgnoreCase("left") )
- <div class="xleft">
- $i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday
- #if ( $versionPosition.equalsIgnoreCase( $position ) )
- &nbsp;| $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
- #end
- #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
- | #breadcrumbs( $breadcrumbs )
- #end
- </div>
- #end
- #elseif ( $versionPosition.equalsIgnoreCase( $position ) )
- #if ( ( $versionPosition.equalsIgnoreCase( "right" ) ) || ( $versionPosition.equalsIgnoreCase( "bottom" ) ) )
- &nbsp;| $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
- #elseif ( ( $versionPosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $versionPosition.equalsIgnoreCase( "navigation-top" ) ) )
- <div id="lastPublished">
- $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
- </div>
- #elseif ( $versionPosition.equalsIgnoreCase("left") )
- <div class="xleft">
- $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
- #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
- | #breadcrumbs( $breadcrumbs )
- #end
- </div>
- #end
- #elseif ( $position.equalsIgnoreCase( "left" ) )
- #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
- <div class="xleft">
- #breadcrumbs( $breadcrumbs )
- </div>
- #end
- #end
-#end
-
-#macro ( poweredByLogo $poweredBy )
- #if( $poweredBy )
- #foreach ($item in $poweredBy)
- #if( $item.href )
- #set ( $href = $PathTool.calculateLink( $item.href, $relativePath ) )
- #set ( $href = $href.replaceAll( "\\", "/" ) )
- #else
- #set ( $href="http://maven.apache.org/" )
- #end
-
- #if( $item.name )
- #set ( $name = $item.name )
- #else
- #set ( $name = $i18n.getString( "site-renderer", $locale, "template.builtby" ) )
- #set ( $name = "${name} Maven" )
- #end
-
- #if( $item.img )
- #set ( $img = $item.img )
- #else
- #set ( $img = "images/maven-feather.png" )
- #end
-
- <a href="$href" title="$name" id="poweredBy">
- #set ( $img = $PathTool.calculateLink( $img, $relativePath ) )
- #set ( $img = $img.replaceAll( "\\", "/" ) )
- <img alt="$name" src="$img" />
- </a>
- #end
- #if( $poweredBy.isEmpty() )
- <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" id="poweredBy">
- <img alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/maven-feather.png"></img>
- </a>
- <center>
- <a href="http://sourceforge.net/projects/jslp">
- <img src="http://sourceforge.net/sflogo.php?group_id=151721&amp;type=3" border="0" alt="sf logo"/>
- </a>
- </center>
-
-<!-- Start of StatCounter Code -->
-<script type="text/javascript">
-<!--
-var sc_project=1666943;
-var sc_invisible=1;
-var sc_partition=11;
-var sc_security="1d05fd8a";
-//-->
-</script>
-
-<script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script><noscript><div class="statcounter"><a class="statcounter" href="http://www.statcounter.com/"><img class="statcounter" src="http://c12.statcounter.com/counter.php?sc_project=1666943&java=0&security=1d05fd8a&invisible=1" alt="counter easy hit" /></a></div></noscript>
-<!-- End of StatCounter Code -->
-
- #end
- #else
- <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" id="poweredBy">
- <img alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/maven-feather.png"></img>
- </a>
- #end
-#end
-
-<html>
- <head>
- <title>$title</title>
- <style type="text/css" media="all">
- @import url("$relativePath/css/maven-base.css");
- @import url("$relativePath/css/maven-theme.css");
- @import url("$relativePath/css/site.css");
- </style>
- <link rel="stylesheet" href="$relativePath/css/print.css" type="text/css" media="print" />
- #foreach( $author in $authors )
- <meta name="author" content="$author" />
- #end
- <meta http-equiv="Content-Type" content="text/html; charset=${outputEncoding}" />
- #if ( $decoration.body.head )
- #foreach( $item in $decoration.body.head.getChildren() )
- #if ( $item.name == "script" )
- $item.toUnescapedString()
- #else
- $item.toString()
- #end
- #end
- #end
- </head>
- <body class="composite">
- <div id="banner">
- #banner( $decoration.bannerLeft "bannerLeft" )
- #banner( $decoration.bannerRight "bannerRight" )
- <div class="clear">
- <hr/>
- </div>
- </div>
- <div id="breadcrumbs">
- #publishDate( "left" $decoration.publishDate $decoration.version )
- <div class="xright">#links( $decoration.body.links )#publishDate( "right" $decoration.publishDate $decoration.version )</div>
- <div class="clear">
- <hr/>
- </div>
- </div>
- <div id="leftColumn">
- <div id="navcolumn">
- #publishDate( "navigation-top" $decoration.publishDate $decoration.version )
- #mainMenu( $decoration.body.menus )
- #poweredByLogo( $decoration.poweredBy )
- #publishDate( "navigation-bottom" $decoration.publishDate $decoration.version )
- </div>
- </div>
- <div id="bodyColumn">
- <div id="contentBox">
- $bodyContent
- </div>
- </div>
- <div class="clear">
- <hr/>
- </div>
- <div id="footer">
- <div class="xright">&#169;#copyright()#publishDate( "bottom" $decoration.publishDate $decoration.version )</div>
- <div class="clear">
- <hr/>
- </div>
- </div>
- </body>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+#macro ( banner $banner $id )
+ #if ( $banner )
+ #if( $banner.href )
+ <a href="$banner.href" id="$id">
+ #else
+ <span id="$id">
+ #end
+
+ #if( $banner.src )
+ #set ( $src = $banner.src )
+ #if ( ! ( $src.toLowerCase().startsWith("http") || $src.toLowerCase().startsWith("https") ) )
+ #set ( $src = $PathTool.calculateLink( $src, $relativePath ) )
+ #set ( $src = $src.replaceAll( "\\", "/" ) )
+ #end
+ #if ( $banner.alt )
+ #set ( $alt = $banner.alt )
+ #else
+ #set ( $alt = "" )
+ #end
+ <img src="$src" alt="$alt" />
+ #else
+ $banner.name
+ #end
+
+ #if( $banner.href )
+ </a>
+ #else
+ </span>
+ #end
+ #end
+#end
+
+#macro ( links $links )
+ #set ( $counter = 0 )
+ #foreach( $item in $links )
+ #set ( $counter = $counter + 1 )
+ #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+ #set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) )
+ <a href="$currentItemHref">$item.name</a>
+ #if ( $links.size() > $counter )
+ |
+ #end
+ #end
+#end
+
+#macro ( breadcrumbs $breadcrumbs )
+ #set ( $counter = 0 )
+ #foreach( $item in $breadcrumbs )
+ #set ( $counter = $counter + 1 )
+ #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+ #set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) )
+
+ #if ( $currentItemHref == $alignedFileName || $currentItemHref == "" )
+ $item.name
+ #else
+ <a href="$currentItemHref">$item.name</a>
+ #end
+ #if ( $breadcrumbs.size() > $counter )
+ &gt;
+ #end
+ #end
+#end
+
+#macro ( displayTree $display $item )
+ #if ( $item && $item.items && $item.items.size() > 0 )
+ #foreach( $subitem in $item.items )
+ #set ( $subitemHref = $PathTool.calculateLink( $subitem.href, $relativePath ) )
+ #set ( $subitemHref = $subitemHref.replaceAll( "\\", "/" ) )
+
+ #if ( $alignedFileName == $subitemHref )
+ #set ( $display = true )
+ #end
+
+ #displayTree( $display $subitem )
+ #end
+ #end
+#end
+
+#macro ( menuItem $item )
+ #set ( $collapse = "none" )
+ #set ( $currentItemHref = $PathTool.calculateLink( $item.href, $relativePath ) )
+ #set ( $currentItemHref = $currentItemHref.replaceAll( "\\", "/" ) )
+
+ #if ( $item && $item.items && $item.items.size() > 0 )
+ #if ( $item.collapse == false )
+ #set ( $collapse = "expanded" )
+ #else
+ ## By default collapsed
+ #set ( $collapse = "collapsed" )
+ #end
+
+ #set ( $display = false )
+ #displayTree( $display $item )
+
+ #if ( $alignedFileName == $currentItemHref || $display )
+ #set ( $collapse = "expanded" )
+ #end
+ #end
+ <li class="$collapse">
+ #if ( $item.img )
+ #if ( ! ( $item.img.toLowerCase().startsWith("http") || $item.img.toLowerCase().startsWith("https") ) )
+ #set ( $src = $PathTool.calculateLink( $item.img, $relativePath ) )
+ #set ( $src = $item.img.replaceAll( "\\", "/" ) )
+ <img src="$src"/>
+ #else
+ <img src="$item.img" align="absbottom" style="border-width: 0"/>
+ #end
+ #end
+ #if ( $alignedFileName == $currentItemHref )
+ <strong>$item.name</strong>
+ #else
+ <a href="$currentItemHref">$item.name</a>
+ #end
+ #if ( $item && $item.items && $item.items.size() > 0 )
+ #if ( $collapse == "expanded" )
+ <ul>
+ #foreach( $subitem in $item.items )
+ #menuItem( $subitem )
+ #end
+ </ul>
+ #end
+ #end
+ </li>
+#end
+
+#macro ( mainMenu $menus )
+ #foreach( $menu in $menus )
+ #if ( $menu.name )
+ <h5>$menu.name</h5>
+ #end
+ <ul>
+ #foreach( $item in $menu.items )
+ #menuItem( $item )
+ #end
+ </ul>
+ #end
+#end
+
+#macro ( copyright )
+ #if ( $project )
+ #set ( $currentYear = ${currentDate.year} + 1900 )
+
+ #if ( ${project.inceptionYear} && ( ${project.inceptionYear} != ${currentYear.toString()} ) )
+ ${project.inceptionYear}-${currentYear}
+ #else
+ ${currentYear}
+ #end
+
+ #if ( ${project.organization} && ${project.organization.name} )
+ ${project.organization.name}
+ #end
+ #end
+#end
+
+#macro ( publishDate $position $publishDate $version )
+ #if ( $publishDate && $publishDate.format )
+ #set ( $format = $publishDate.format )
+ #else
+ #set ( $format = "MM/dd/yyyy" )
+ #end
+
+ $dateFormat.applyPattern( $format )
+
+ #set ( $dateToday = $dateFormat.format( $currentDate ) )
+
+ #if ( $publishDate && $publishDate.position )
+ #set ( $datePosition = $publishDate.position )
+ #else
+ #set ( $datePosition = "left" )
+ #end
+
+ #if ( $version )
+ #if ( $version.position )
+ #set ( $versionPosition = $version.position )
+ #else
+ #set ( $versionPosition = "left" )
+ #end
+ #end
+
+ #set ( $breadcrumbs = $decoration.body.breadcrumbs )
+
+ #if ( $datePosition.equalsIgnoreCase( $position ) )
+ #if ( ( $datePosition.equalsIgnoreCase( "right" ) ) || ( $datePosition.equalsIgnoreCase( "bottom" ) ) )
+ &nbsp;| $i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday
+ #if ( $versionPosition.equalsIgnoreCase( $position ) )
+ &nbsp;| $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
+ #end
+ #elseif ( ( $datePosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $datePosition.equalsIgnoreCase( "navigation-top" ) ) )
+ <div id="lastPublished">
+ $i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday
+ #if ( $versionPosition.equalsIgnoreCase( $position ) )
+ &nbsp;| $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
+ #end
+ </div>
+ #elseif ( $datePosition.equalsIgnoreCase("left") )
+ <div class="xleft">
+ $i18n.getString( "site-renderer", $locale, "template.lastpublished" ): $dateToday
+ #if ( $versionPosition.equalsIgnoreCase( $position ) )
+ &nbsp;| $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
+ #end
+ #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+ | #breadcrumbs( $breadcrumbs )
+ #end
+ </div>
+ #end
+ #elseif ( $versionPosition.equalsIgnoreCase( $position ) )
+ #if ( ( $versionPosition.equalsIgnoreCase( "right" ) ) || ( $versionPosition.equalsIgnoreCase( "bottom" ) ) )
+ &nbsp;| $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
+ #elseif ( ( $versionPosition.equalsIgnoreCase( "navigation-bottom" ) ) || ( $versionPosition.equalsIgnoreCase( "navigation-top" ) ) )
+ <div id="lastPublished">
+ $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
+ </div>
+ #elseif ( $versionPosition.equalsIgnoreCase("left") )
+ <div class="xleft">
+ $i18n.getString( "site-renderer", $locale, "template.version" ): ${project.version}
+ #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+ | #breadcrumbs( $breadcrumbs )
+ #end
+ </div>
+ #end
+ #elseif ( $position.equalsIgnoreCase( "left" ) )
+ #if ( $breadcrumbs && $breadcrumbs.size() > 0 )
+ <div class="xleft">
+ #breadcrumbs( $breadcrumbs )
+ </div>
+ #end
+ #end
+#end
+
+#macro ( poweredByLogo $poweredBy )
+ #if( $poweredBy )
+ #foreach ($item in $poweredBy)
+ #if( $item.href )
+ #set ( $href = $PathTool.calculateLink( $item.href, $relativePath ) )
+ #set ( $href = $href.replaceAll( "\\", "/" ) )
+ #else
+ #set ( $href="http://maven.apache.org/" )
+ #end
+
+ #if( $item.name )
+ #set ( $name = $item.name )
+ #else
+ #set ( $name = $i18n.getString( "site-renderer", $locale, "template.builtby" ) )
+ #set ( $name = "${name} Maven" )
+ #end
+
+ #if( $item.img )
+ #set ( $img = $item.img )
+ #else
+ #set ( $img = "images/maven-feather.png" )
+ #end
+
+ <a href="$href" title="$name" id="poweredBy">
+ #set ( $img = $PathTool.calculateLink( $img, $relativePath ) )
+ #set ( $img = $img.replaceAll( "\\", "/" ) )
+ <img alt="$name" src="$img" />
+ </a>
+ #end
+ #if( $poweredBy.isEmpty() )
+ <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" id="poweredBy">
+ <img alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/maven-feather.png"></img>
+ </a>
+ <center>
+ <a href="http://sourceforge.net/projects/jslp">
+ <img src="http://sourceforge.net/sflogo.php?group_id=151721&amp;type=3" border="0" alt="sf logo"/>
+ </a>
+ </center>
+
+<!-- Start of StatCounter Code -->
+<script type="text/javascript">
+<!--
+var sc_project=1666943;
+var sc_invisible=1;
+var sc_partition=11;
+var sc_security="1d05fd8a";
+//-->
+</script>
+
+<script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script><noscript><div class="statcounter"><a class="statcounter" href="http://www.statcounter.com/"><img class="statcounter" src="http://c12.statcounter.com/counter.php?sc_project=1666943&java=0&security=1d05fd8a&invisible=1" alt="counter easy hit" /></a></div></noscript>
+<!-- End of StatCounter Code -->
+
+ #end
+ #else
+ <a href="http://maven.apache.org/" title="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" id="poweredBy">
+ <img alt="$i18n.getString( "site-renderer", $locale, "template.builtby" ) Maven" src="$relativePath/images/maven-feather.png"></img>
+ </a>
+ #end
+#end
+
+<html>
+ <head>
+ <title>$title</title>
+ <style type="text/css" media="all">
+ @import url("$relativePath/css/maven-base.css");
+ @import url("$relativePath/css/maven-theme.css");
+ @import url("$relativePath/css/site.css");
+ </style>
+ <link rel="stylesheet" href="$relativePath/css/print.css" type="text/css" media="print" />
+ #foreach( $author in $authors )
+ <meta name="author" content="$author" />
+ #end
+ <meta http-equiv="Content-Type" content="text/html; charset=${outputEncoding}" />
+ #if ( $decoration.body.head )
+ #foreach( $item in $decoration.body.head.getChildren() )
+ #if ( $item.name == "script" )
+ $item.toUnescapedString()
+ #else
+ $item.toString()
+ #end
+ #end
+ #end
+ </head>
+ <body class="composite">
+ <div id="banner">
+ #banner( $decoration.bannerLeft "bannerLeft" )
+ #banner( $decoration.bannerRight "bannerRight" )
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="breadcrumbs">
+ #publishDate( "left" $decoration.publishDate $decoration.version )
+ <div class="xright">#links( $decoration.body.links )#publishDate( "right" $decoration.publishDate $decoration.version )</div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ <div id="leftColumn">
+ <div id="navcolumn">
+ #publishDate( "navigation-top" $decoration.publishDate $decoration.version )
+ #mainMenu( $decoration.body.menus )
+ #poweredByLogo( $decoration.poweredBy )
+ #publishDate( "navigation-bottom" $decoration.publishDate $decoration.version )
+ </div>
+ </div>
+ <div id="bodyColumn">
+ <div id="contentBox">
+ $bodyContent
+ </div>
+ </div>
+ <div class="clear">
+ <hr/>
+ </div>
+ <div id="footer">
+ <div class="xright">&#169;#copyright()#publishDate( "bottom" $decoration.publishDate $decoration.version )</div>
+ <div class="clear">
+ <hr/>
+ </div>
+ </div>
+ </body>
</html> \ No newline at end of file
diff --git a/protocols/bundles/ch.ethz.iks.slp/runtimeTests/META-INF/MANIFEST.MF b/protocols/bundles/ch.ethz.iks.slp/runtimeTests/META-INF/MANIFEST.MF
index 5835fa47b..50fca9986 100644
--- a/protocols/bundles/ch.ethz.iks.slp/runtimeTests/META-INF/MANIFEST.MF
+++ b/protocols/bundles/ch.ethz.iks.slp/runtimeTests/META-INF/MANIFEST.MF
@@ -1,20 +1,20 @@
-Manifest-Version: 1.0
-Export-Package: ch.ethz.iks.slp.test;uses:="ch.ethz.iks.slp,junit.fram
- ework,org.osgi.framework,junit.textui"
-Private-Package: ch.ethz.iks.slp.test
-Built-By: markus
-Tool: Bnd-0.0.357
-Bundle-Name: jslp-test
-Created-By: Apache Maven Bundle Plugin
-Bundle-Vendor: Jan S. Rellermeyer, IKS, ETH Zurich
-Build-Jdk: 1.6.0_16
-Bundle-Version: 1.1.0.qualifier
-Bnd-LastModified: 1258568231718
-Bundle-Activator: ch.ethz.iks.slp.test.TestActivator
-Bundle-SymbolicName: ch.ethz.iks.slp.test
-Import-Package: ch.ethz.iks.slp;version="1.0",
- junit.framework,
- junit.textui,
- org.apache.tools.ant.taskdefs.optional.junit,
- org.osgi.framework;version="1.2"
-
+Manifest-Version: 1.0
+Export-Package: ch.ethz.iks.slp.test;uses:="ch.ethz.iks.slp,junit.fram
+ ework,org.osgi.framework,junit.textui"
+Private-Package: ch.ethz.iks.slp.test
+Built-By: markus
+Tool: Bnd-0.0.357
+Bundle-Name: jslp-test
+Created-By: Apache Maven Bundle Plugin
+Bundle-Vendor: Jan S. Rellermeyer, IKS, ETH Zurich
+Build-Jdk: 1.6.0_16
+Bundle-Version: 1.1.0.qualifier
+Bnd-LastModified: 1258568231718
+Bundle-Activator: ch.ethz.iks.slp.test.TestActivator
+Bundle-SymbolicName: ch.ethz.iks.slp.test
+Import-Package: ch.ethz.iks.slp;version="1.0",
+ junit.framework,
+ junit.textui,
+ org.apache.tools.ant.taskdefs.optional.junit,
+ org.osgi.framework;version="1.2"
+
diff --git a/protocols/bundles/ch.ethz.iks.slp/runtimeTests/src/main/java/ch/ethz/iks/slp/test/SelfDiscoveryTest.java b/protocols/bundles/ch.ethz.iks.slp/runtimeTests/src/main/java/ch/ethz/iks/slp/test/SelfDiscoveryTest.java
index b24550cbe..baf99def5 100644
--- a/protocols/bundles/ch.ethz.iks.slp/runtimeTests/src/main/java/ch/ethz/iks/slp/test/SelfDiscoveryTest.java
+++ b/protocols/bundles/ch.ethz.iks.slp/runtimeTests/src/main/java/ch/ethz/iks/slp/test/SelfDiscoveryTest.java
@@ -1,160 +1,160 @@
-/*******************************************************************************
- * Copyright (c) 2008 Versant Corp.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Markus Kuppe (mkuppe <at> versant <dot> com) - initial API and implementation
- ******************************************************************************/
-package ch.ethz.iks.slp.test;
-
-import java.util.Dictionary;
-import java.util.Enumeration;
-import java.util.Hashtable;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-import ch.ethz.iks.slp.ServiceLocationEnumeration;
-import ch.ethz.iks.slp.ServiceLocationException;
-import ch.ethz.iks.slp.ServiceType;
-import ch.ethz.iks.slp.ServiceURL;
-
-public class SelfDiscoveryTest extends TestCase {
-
- private final String HOST_AND_PORT = System.getProperty("net.slp.tests.hostAndPort", "gantenbein:123");
- private ServiceURL service;
- private Dictionary properties;
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#setUp()
- */
- public void setUp() throws InterruptedException {
- try {
- service = new ServiceURL("service:osgi://" + HOST_AND_PORT, 10800);
- int i = 0;
- properties = new Hashtable();
- properties.put("attr", Boolean.FALSE);
- properties.put("attr" + i++, "value");
- properties.put("attr" + i++, "foo,bar");
- properties.put("attr" + i++, "foo:bar");
- properties.put("attr" + i++, "foo bar");
- TestActivator.advertiser.register(service, properties);
- } catch (ServiceLocationException e) {
- Assert.fail(e.getMessage());
- e.printStackTrace();
- }
- }
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#tearDown()
- */
- public void tearDown() throws InterruptedException {
- try {
- TestActivator.advertiser.deregister(service);
- } catch (ServiceLocationException e) {
- Assert.fail(e.getMessage());
- e.printStackTrace();
- }
- }
-
- /**
- * Test method for
- * {@link ch.ethz.iks.slp.Locator}.
- */
- public void testService() throws Exception {
- int count = 0;
- for (ServiceLocationEnumeration services = TestActivator.locator
- .findServices(new ServiceType("service:osgi"), null, null); services
- .hasMoreElements();) {
- assertEquals(services.next().toString(),
- "service:osgi://" + HOST_AND_PORT);
- count++;
- }
- assertEquals(1, count);
- }
-
- /**
- * Test method for
- * {@link ch.ethz.iks.slp.Locator}.
- */
- public void testAttributes() throws Exception {
- int count = 0;
-
- // not fast but DRY
- outter:
- for (ServiceLocationEnumeration attributes = TestActivator.locator
- .findAttributes(new ServiceType("service:osgi"), null, null); attributes
- .hasMoreElements();) {
- final String attribute = attributes.next().toString();
-
- // inner loop over the dict
- Enumeration elements = properties.keys();
- for(;elements.hasMoreElements();) {
- String key= elements.nextElement().toString();
- String value = properties.get(key).toString();
- if(attribute.equals(("(" + key + "=" + value + ")"))) {
- count++;
- continue outter;
- }
- }
- fail(attribute + " not found in reference " + properties.toString());
- }
- assertEquals(properties.size(), count);
- }
-
- /**
- * Test method for
- * {@link ch.ethz.iks.slp.Locator}.
- */
- public void testFilter() throws Exception {
- int count = 0;
- for (ServiceLocationEnumeration services = TestActivator.locator
- .findServices(new ServiceType("service:osgi"), null,
- "(attr=false)"); services.hasMoreElements();) {
- assertEquals(services.next().toString(),
- "service:osgi://" + HOST_AND_PORT);
- count++;
- }
- assertEquals(1, count);
- }
-
- /**
- * Test method for
- * {@link ch.ethz.iks.slp.Locator}.
- */
- public void testFilterWithWildcard() throws Exception {
- int count = 0;
- for (ServiceLocationEnumeration services = TestActivator.locator
- .findServices(new ServiceType("service:osgi"), null, "(attr=*)"); services
- .hasMoreElements();) {
- assertEquals(services.next().toString(),
- "service:osgi://" + HOST_AND_PORT);
- count++;
- }
- assertEquals(1, count);
- }
-
-
- /**
- * Test method for
- * {@link ch.ethz.iks.slp.Locator}.
- *
- * [1] http://www.faqs.org/rfcs/rfc1960.html
- * Cite: If a <value> must contain one of the characters '*' or '(' or ')', these
- * characters should be escaped by preceding them with the backslash '\' character.
- */
- public void testFilterWithBrokenParenthesis() throws Exception {
- try {
- // correct filter is (service-type=\(service:osgi\))
- TestActivator.locator.findServices(new ServiceType("service:osgi"), null,
- "(service-type=(service:osgi))");
- } catch (ServiceLocationException e) {
- if(e.getErrorCode() == 20) {
- return;
- }
- }
- fail();
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2008 Versant Corp.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Markus Kuppe (mkuppe <at> versant <dot> com) - initial API and implementation
+ ******************************************************************************/
+package ch.ethz.iks.slp.test;
+
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.Hashtable;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+import ch.ethz.iks.slp.ServiceLocationEnumeration;
+import ch.ethz.iks.slp.ServiceLocationException;
+import ch.ethz.iks.slp.ServiceType;
+import ch.ethz.iks.slp.ServiceURL;
+
+public class SelfDiscoveryTest extends TestCase {
+
+ private final String HOST_AND_PORT = System.getProperty("net.slp.tests.hostAndPort", "gantenbein:123");
+ private ServiceURL service;
+ private Dictionary properties;
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ public void setUp() throws InterruptedException {
+ try {
+ service = new ServiceURL("service:osgi://" + HOST_AND_PORT, 10800);
+ int i = 0;
+ properties = new Hashtable();
+ properties.put("attr", Boolean.FALSE);
+ properties.put("attr" + i++, "value");
+ properties.put("attr" + i++, "foo,bar");
+ properties.put("attr" + i++, "foo:bar");
+ properties.put("attr" + i++, "foo bar");
+ TestActivator.advertiser.register(service, properties);
+ } catch (ServiceLocationException e) {
+ Assert.fail(e.getMessage());
+ e.printStackTrace();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#tearDown()
+ */
+ public void tearDown() throws InterruptedException {
+ try {
+ TestActivator.advertiser.deregister(service);
+ } catch (ServiceLocationException e) {
+ Assert.fail(e.getMessage());
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * Test method for
+ * {@link ch.ethz.iks.slp.Locator}.
+ */
+ public void testService() throws Exception {
+ int count = 0;
+ for (ServiceLocationEnumeration services = TestActivator.locator
+ .findServices(new ServiceType("service:osgi"), null, null); services
+ .hasMoreElements();) {
+ assertEquals(services.next().toString(),
+ "service:osgi://" + HOST_AND_PORT);
+ count++;
+ }
+ assertEquals(1, count);
+ }
+
+ /**
+ * Test method for
+ * {@link ch.ethz.iks.slp.Locator}.
+ */
+ public void testAttributes() throws Exception {
+ int count = 0;
+
+ // not fast but DRY
+ outter:
+ for (ServiceLocationEnumeration attributes = TestActivator.locator
+ .findAttributes(new ServiceType("service:osgi"), null, null); attributes
+ .hasMoreElements();) {
+ final String attribute = attributes.next().toString();
+
+ // inner loop over the dict
+ Enumeration elements = properties.keys();
+ for(;elements.hasMoreElements();) {
+ String key= elements.nextElement().toString();
+ String value = properties.get(key).toString();
+ if(attribute.equals(("(" + key + "=" + value + ")"))) {
+ count++;
+ continue outter;
+ }
+ }
+ fail(attribute + " not found in reference " + properties.toString());
+ }
+ assertEquals(properties.size(), count);
+ }
+
+ /**
+ * Test method for
+ * {@link ch.ethz.iks.slp.Locator}.
+ */
+ public void testFilter() throws Exception {
+ int count = 0;
+ for (ServiceLocationEnumeration services = TestActivator.locator
+ .findServices(new ServiceType("service:osgi"), null,
+ "(attr=false)"); services.hasMoreElements();) {
+ assertEquals(services.next().toString(),
+ "service:osgi://" + HOST_AND_PORT);
+ count++;
+ }
+ assertEquals(1, count);
+ }
+
+ /**
+ * Test method for
+ * {@link ch.ethz.iks.slp.Locator}.
+ */
+ public void testFilterWithWildcard() throws Exception {
+ int count = 0;
+ for (ServiceLocationEnumeration services = TestActivator.locator
+ .findServices(new ServiceType("service:osgi"), null, "(attr=*)"); services
+ .hasMoreElements();) {
+ assertEquals(services.next().toString(),
+ "service:osgi://" + HOST_AND_PORT);
+ count++;
+ }
+ assertEquals(1, count);
+ }
+
+
+ /**
+ * Test method for
+ * {@link ch.ethz.iks.slp.Locator}.
+ *
+ * [1] http://www.faqs.org/rfcs/rfc1960.html
+ * Cite: If a <value> must contain one of the characters '*' or '(' or ')', these
+ * characters should be escaped by preceding them with the backslash '\' character.
+ */
+ public void testFilterWithBrokenParenthesis() throws Exception {
+ try {
+ // correct filter is (service-type=\(service:osgi\))
+ TestActivator.locator.findServices(new ServiceType("service:osgi"), null,
+ "(service-type=(service:osgi))");
+ } catch (ServiceLocationException e) {
+ if(e.getErrorCode() == 20) {
+ return;
+ }
+ }
+ fail();
+ }
+}
diff --git a/protocols/bundles/ch.ethz.iks.slp/runtimeTests/src/main/java/ch/ethz/iks/slp/test/TestActivator.java b/protocols/bundles/ch.ethz.iks.slp/runtimeTests/src/main/java/ch/ethz/iks/slp/test/TestActivator.java
index b75f27c21..c17c1e1a5 100644
--- a/protocols/bundles/ch.ethz.iks.slp/runtimeTests/src/main/java/ch/ethz/iks/slp/test/TestActivator.java
+++ b/protocols/bundles/ch.ethz.iks.slp/runtimeTests/src/main/java/ch/ethz/iks/slp/test/TestActivator.java
@@ -1,162 +1,162 @@
-/****************************************************************************
- * Copyright (c) 2005, 2010 Jan S. Rellermeyer, Systems Group,
- * Department of Computer Science, ETH Zurich and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jan S. Rellermeyer - initial API and implementation
- * Markus Alexander Kuppe - enhancements and bug fixes
- *
-*****************************************************************************/
-package ch.ethz.iks.slp.test;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-import junit.framework.TestFailure;
-import junit.framework.TestResult;
-import junit.framework.TestSuite;
-
-import org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter;
-import org.apache.tools.ant.taskdefs.optional.junit.JUnitResultFormatter;
-import org.apache.tools.ant.taskdefs.optional.junit.JUnitTest;
-import org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-import ch.ethz.iks.slp.Advertiser;
-import ch.ethz.iks.slp.Locator;
-
-public class TestActivator implements BundleActivator {
- protected String outputDirectory = System.getProperty("test.result.output.dir", System.getProperty("user.dir"));
-
- static Advertiser advertiser;
- static Locator locator;
-
- public void start(BundleContext context) throws Exception {
- ServiceReference advertiserRef = null;
- try {
- ServiceReference[] aSrefs = context
- .getServiceReferences(Advertiser.class.getName(), null);
- for (int i = 0; i < aSrefs.length; i++) {
- ServiceReference serviceReference = aSrefs[i];
- String version = (String) serviceReference.getBundle().getHeaders().get("Bundle-Version");
- if(version.equals(System.getProperty("net.slp.versionUnderTest"))) {
- advertiserRef = serviceReference;
- } else {
- context.getService(serviceReference);
- }
- }
-
- advertiser = (Advertiser) context.getService(advertiserRef);
- locator = (Locator) context.getService(context
- .getServiceReference(Locator.class.getName()));
- } catch (Exception e) {
- System.exit(1);
- }
-
- startTests();
- }
-
- protected void startTests() {
- final TestSuite suite = new TestSuite();
- final TestResult result = new TestResult();
-
- final JUnitTest jUnitTest = new JUnitTest("ch.ethz.iks.slp.test");
- jUnitTest.setProperties(System.getProperties());
-
- // create the xml result formatter
- final JUnitResultFormatter xmlResultFormatter = new XMLJUnitResultFormatter();
- final File file = new File(outputDirectory, "TEST-ch.ethz.iks.slp.test" + ".xml");
- try {
- xmlResultFormatter.setOutput(new FileOutputStream(file));
- } catch (FileNotFoundException e) {
- // may never happen
- e.printStackTrace();
- }
- result.addListener(xmlResultFormatter);
- // create a result formatter that prints to the console
- final JUnitResultFormatter consoleResultFormatter = new BriefJUnitResultFormatter();
- consoleResultFormatter.setOutput(System.out);
- result.addListener(consoleResultFormatter);
-
- // add the actual tests to the test suite
- Collection collection = new ArrayList();
- collection.add(SelfDiscoveryTest.class);
- for (Iterator iterator = collection.iterator(); iterator.hasNext();) {
- Class clazz = (Class) iterator.next();
- // run all methods starting with "test*"
- Method[] methods = clazz.getMethods();
- for (int i = 0; i < methods.length; i++) {
- if (methods[i].getName().startsWith("test")) {
- TestCase testCase;
- try {
- testCase = (TestCase) clazz.newInstance();
- testCase.setName(methods[i].getName());
- suite.addTest(testCase);
- } catch (InstantiationException e) {
- // may never happen
- e.printStackTrace();
- } catch (IllegalAccessException e) {
- // may never happen
- e.printStackTrace();
- }
- }
- }
- }
-
- // prepare to run tests
- final long start = System.currentTimeMillis();
- xmlResultFormatter.startTestSuite(jUnitTest);
- consoleResultFormatter.startTestSuite(jUnitTest);
-
- // run tests
- suite.run(result);
-
- // write stats and close reultformatter
- jUnitTest.setCounts(result.runCount(), result.failureCount(), result.errorCount());
- jUnitTest.setRunTime(System.currentTimeMillis() - start);
- xmlResultFormatter.endTestSuite(jUnitTest);
- consoleResultFormatter.endTestSuite(jUnitTest);
-
- // print success of failure
- if (result.wasSuccessful()) {
- System.exit(0);
- } else {
- if (result.errorCount() > 0) {
- System.err.println("Errors:");
- for (Enumeration errors = result.errors(); errors
- .hasMoreElements();) {
- TestFailure error = (TestFailure) errors.nextElement();
- System.err.println(error.trace());
- }
- }
- if (result.failureCount() > 0) {
- System.err.println("Failures:");
- for (Enumeration failures = result.failures(); failures
- .hasMoreElements();) {
- TestFailure failure = (TestFailure) failures.nextElement();
- System.err.println(failure.trace());
- }
- }
- System.exit(1);
- };
- }
-
- public void stop(BundleContext context) throws Exception {
- advertiser = null;
- locator = null;
- }
-
-}
+/****************************************************************************
+ * Copyright (c) 2005, 2010 Jan S. Rellermeyer, Systems Group,
+ * Department of Computer Science, ETH Zurich and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Jan S. Rellermeyer - initial API and implementation
+ * Markus Alexander Kuppe - enhancements and bug fixes
+ *
+*****************************************************************************/
+package ch.ethz.iks.slp.test;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.Iterator;
+
+import junit.framework.TestCase;
+import junit.framework.TestFailure;
+import junit.framework.TestResult;
+import junit.framework.TestSuite;
+
+import org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter;
+import org.apache.tools.ant.taskdefs.optional.junit.JUnitResultFormatter;
+import org.apache.tools.ant.taskdefs.optional.junit.JUnitTest;
+import org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+
+import ch.ethz.iks.slp.Advertiser;
+import ch.ethz.iks.slp.Locator;
+
+public class TestActivator implements BundleActivator {
+ protected String outputDirectory = System.getProperty("test.result.output.dir", System.getProperty("user.dir"));
+
+ static Advertiser advertiser;
+ static Locator locator;
+
+ public void start(BundleContext context) throws Exception {
+ ServiceReference advertiserRef = null;
+ try {
+ ServiceReference[] aSrefs = context
+ .getServiceReferences(Advertiser.class.getName(), null);
+ for (int i = 0; i < aSrefs.length; i++) {
+ ServiceReference serviceReference = aSrefs[i];
+ String version = (String) serviceReference.getBundle().getHeaders().get("Bundle-Version");
+ if(version.equals(System.getProperty("net.slp.versionUnderTest"))) {
+ advertiserRef = serviceReference;
+ } else {
+ context.getService(serviceReference);
+ }
+ }
+
+ advertiser = (Advertiser) context.getService(advertiserRef);
+ locator = (Locator) context.getService(context
+ .getServiceReference(Locator.class.getName()));
+ } catch (Exception e) {
+ System.exit(1);
+ }
+
+ startTests();
+ }
+
+ protected void startTests() {
+ final TestSuite suite = new TestSuite();
+ final TestResult result = new TestResult();
+
+ final JUnitTest jUnitTest = new JUnitTest("ch.ethz.iks.slp.test");
+ jUnitTest.setProperties(System.getProperties());
+
+ // create the xml result formatter
+ final JUnitResultFormatter xmlResultFormatter = new XMLJUnitResultFormatter();
+ final File file = new File(outputDirectory, "TEST-ch.ethz.iks.slp.test" + ".xml");
+ try {
+ xmlResultFormatter.setOutput(new FileOutputStream(file));
+ } catch (FileNotFoundException e) {
+ // may never happen
+ e.printStackTrace();
+ }
+ result.addListener(xmlResultFormatter);
+ // create a result formatter that prints to the console
+ final JUnitResultFormatter consoleResultFormatter = new BriefJUnitResultFormatter();
+ consoleResultFormatter.setOutput(System.out);
+ result.addListener(consoleResultFormatter);
+
+ // add the actual tests to the test suite
+ Collection collection = new ArrayList();
+ collection.add(SelfDiscoveryTest.class);
+ for (Iterator iterator = collection.iterator(); iterator.hasNext();) {
+ Class clazz = (Class) iterator.next();
+ // run all methods starting with "test*"
+ Method[] methods = clazz.getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ if (methods[i].getName().startsWith("test")) {
+ TestCase testCase;
+ try {
+ testCase = (TestCase) clazz.newInstance();
+ testCase.setName(methods[i].getName());
+ suite.addTest(testCase);
+ } catch (InstantiationException e) {
+ // may never happen
+ e.printStackTrace();
+ } catch (IllegalAccessException e) {
+ // may never happen
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
+ // prepare to run tests
+ final long start = System.currentTimeMillis();
+ xmlResultFormatter.startTestSuite(jUnitTest);
+ consoleResultFormatter.startTestSuite(jUnitTest);
+
+ // run tests
+ suite.run(result);
+
+ // write stats and close reultformatter
+ jUnitTest.setCounts(result.runCount(), result.failureCount(), result.errorCount());
+ jUnitTest.setRunTime(System.currentTimeMillis() - start);
+ xmlResultFormatter.endTestSuite(jUnitTest);
+ consoleResultFormatter.endTestSuite(jUnitTest);
+
+ // print success of failure
+ if (result.wasSuccessful()) {
+ System.exit(0);
+ } else {
+ if (result.errorCount() > 0) {
+ System.err.println("Errors:");
+ for (Enumeration errors = result.errors(); errors
+ .hasMoreElements();) {
+ TestFailure error = (TestFailure) errors.nextElement();
+ System.err.println(error.trace());
+ }
+ }
+ if (result.failureCount() > 0) {
+ System.err.println("Failures:");
+ for (Enumeration failures = result.failures(); failures
+ .hasMoreElements();) {
+ TestFailure failure = (TestFailure) failures.nextElement();
+ System.err.println(failure.trace());
+ }
+ }
+ System.exit(1);
+ };
+ }
+
+ public void stop(BundleContext context) throws Exception {
+ advertiser = null;
+ locator = null;
+ }
+
+}
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/impl/package.html b/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/impl/package.html
index f3b5b7000..48357b9c5 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/impl/package.html
+++ b/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/impl/package.html
@@ -1,3 +1,3 @@
-<body>
-This package contains all the implementation classes of jSLP.
+<body>
+This package contains all the implementation classes of jSLP.
</body> \ No newline at end of file
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/package.html b/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/package.html
index d63f25091..1eb1229f0 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/package.html
+++ b/protocols/bundles/ch.ethz.iks.slp/src/main/java/ch/ethz/iks/slp/package.html
@@ -1,3 +1,3 @@
-<body>
-The user interface of the SLP framework. The ServiceLocationManager is used to retrieve a Advertiser instance for registering services or to get a Locator that allows to find services.
+<body>
+The user interface of the SLP framework. The ServiceLocationManager is used to retrieve a Advertiser instance for registering services or to get a Locator that allows to find services.
</body> \ No newline at end of file
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/main/resources/LICENSE.txt b/protocols/bundles/ch.ethz.iks.slp/src/main/resources/LICENSE.txt
index 553e542cb..9646c2873 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/main/resources/LICENSE.txt
+++ b/protocols/bundles/ch.ethz.iks.slp/src/main/resources/LICENSE.txt
@@ -1,27 +1,27 @@
-Copyright (c) 2005-2007, Jan S. Rellermeyer
- Information and Communication Research Group (IKS),
- Swiss Federal Institute of Technology (ETH Zurich)
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- - Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- - Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- - Neither the name of ETH Zurich nor the names of its contributors may be
- used to endorse or promote products derived from this software without
- specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+Copyright (c) 2005-2007, Jan S. Rellermeyer
+ Information and Communication Research Group (IKS),
+ Swiss Federal Institute of Technology (ETH Zurich)
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ - Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ - Neither the name of ETH Zurich nor the names of its contributors may be
+ used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP-OSGi/index.xml b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP-OSGi/index.xml
index 603a8809c..ed40c2d3f 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP-OSGi/index.xml
+++ b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP-OSGi/index.xml
@@ -1,30 +1,30 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<document>
- <properties>
- <title>jSLP-OSGi - Java SLP (Service Location Protocol) Implementation for OSGi. jSLP-OSGi Overview</title>
- <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
- </properties>
-
- <meta name="keyword" content="Java, SLP, jSLP, Service Location Protocol, OSGi"/>
- <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative)."/>
- <meta http-equiv="cache-control" content="no-cache"/>
- <meta http-equiv="pragma" content="no-cache"/>
- <meta http-equiv="robots" content="index, follow"/>
-
-<body>
- <section name="jSLP-OSGi">
- <p>
- jSLP OSGi is designed to enable SLP service discovery on OSGi platforms. Bundles can get <code>Locator</code> and
- <code>Advertiser</code> instances to find other services in the Network. The OSGi version has a smaller footprint
- than the jSLP standalone version because it uses the framework <code>Filter</code> and instead of using commons-logging,
- it makes use of the OSGi <code>org.osgi.service.log</code> logger. The OSGi version of jSLP registers the
- <code>ServiceLocationManager</code> as a ServiceFactory for <code>ch.ethz.iks.slp.Advertiser</code> and
- <code>ch.ethz.iks.slp.Locator</code> services. <br/>
- Since OSGi does not provide any general way to parametrize ServiceFactories, both <code>Locator</code> and
- <code>Advertiser</code> have an additional <code>void setLocale(Locale locale)</code> method to set the locale
- after having retrieved the service object. <br/>
- For details, see the <a href="userguide.html">Getting Started</a>.
- </p>
- </section>
-</body>
-</document>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document>
+ <properties>
+ <title>jSLP-OSGi - Java SLP (Service Location Protocol) Implementation for OSGi. jSLP-OSGi Overview</title>
+ <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
+ </properties>
+
+ <meta name="keyword" content="Java, SLP, jSLP, Service Location Protocol, OSGi"/>
+ <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative)."/>
+ <meta http-equiv="cache-control" content="no-cache"/>
+ <meta http-equiv="pragma" content="no-cache"/>
+ <meta http-equiv="robots" content="index, follow"/>
+
+<body>
+ <section name="jSLP-OSGi">
+ <p>
+ jSLP OSGi is designed to enable SLP service discovery on OSGi platforms. Bundles can get <code>Locator</code> and
+ <code>Advertiser</code> instances to find other services in the Network. The OSGi version has a smaller footprint
+ than the jSLP standalone version because it uses the framework <code>Filter</code> and instead of using commons-logging,
+ it makes use of the OSGi <code>org.osgi.service.log</code> logger. The OSGi version of jSLP registers the
+ <code>ServiceLocationManager</code> as a ServiceFactory for <code>ch.ethz.iks.slp.Advertiser</code> and
+ <code>ch.ethz.iks.slp.Locator</code> services. <br/>
+ Since OSGi does not provide any general way to parametrize ServiceFactories, both <code>Locator</code> and
+ <code>Advertiser</code> have an additional <code>void setLocale(Locale locale)</code> method to set the locale
+ after having retrieved the service object. <br/>
+ For details, see the <a href="userguide.html">Getting Started</a>.
+ </p>
+ </section>
+</body>
+</document>
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP-OSGi/userguide.xml b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP-OSGi/userguide.xml
index 6795801fc..e2407967a 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP-OSGi/userguide.xml
+++ b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP-OSGi/userguide.xml
@@ -1,97 +1,97 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<document>
- <properties>
- <title>jSLP-OSGi - Java SLP (Service Location Protocol) Implementation for OSGi. Getting started with jSLP-OSGi</title>
- <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
- </properties>
-
- <meta name="keyword" content="Java, SLP, jSLP, Service Location Protocol, OSGi, Userguide"/>
- <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative)."/>
- <meta http-equiv="cache-control" content="no-cache"/>
- <meta http-equiv="pragma" content="no-cache"/>
- <meta http-equiv="robots" content="index, follow"/>
-
-<body>
-
- <section name="Getting started with jSLP-OSGi">
- <p>
- jSLP OSGi registers <code>ch.ethz.iks.slp.ServiceLocationManager</code> as <code>ServiceFactory</code>.
- The registered services are <code>ch.ethz.iks.slp.Advertiser</code> and <code>ch.ethz.iks.slp.Locator</code>
- and every bundle requesting one of the services will get their own instance. Since requests for
- <code>ServiceReferences</code> cannot pass parameters to the <code>ServiceFactory</code>,
- the <code>Advertiser</code> and <code>Locator</code> instances will be created with the empty default
- <code>Locale</code> and both classes have a setter method <code>.setLocale(Locale locale)</code> to change
- the locale at runtime (this differs from the jSLP standalone version).
- </p>
- <p>
- The following example shows how to get <code>Advertiser</code> and <code>Locator</code> instances and use them:
-<source>
-public class SLPTestBundle implements BundleActivator {
-
- public void start(BundleContext context) throws Exception {
-
- ServiceReference advRef = context.getServiceReference("ch.ethz.iks.slp.Advertiser");
- ServiceReference locRef = context.getServiceReference("ch.ethz.iks.slp.Locator");
-
- if (advRef != null) {
- System.out.println("Got reference for Advertiser");
- Advertiser advertiser = (Advertiser) context.getService(advRef);
-
- advertiser.register(new ServiceURL("service:osgi:test://192.168.24.118", 20), null);
- }
-
- if (locRef != null) {
- System.out.println("Got reference for Locator");
- Locator locator = (Locator) context.getService(locRef);
-
- ServiceLocationEnumeration slenum = locator.findServices(new ServiceType("service:osgi"), null, null);
- System.out.println("RESULT:");
- while (slenum.hasMoreElements()) {
- System.out.println(slenum.nextElement());
- }
- }
- }
-
-
- public void stop(BundleContext context) throws Exception {
-
- }
-
-}
-</source>
- </p>
- <p>
- jSLP OSGi does not require <code>org.osgi.service.log</code> to run but if a bundle is present that provides this service,
- jSLP OSGi makes use of it. If the service is not present, trace options passed by properties have no effect. jSLP-OSGi has
- been successfully tested with <a href="http://flowsgi.inf.ethz.ch/concierge.html">Concierge OSGi</a>,
- <a href="http://www.knopflerfish.org">Knopflerfish</a>, <a href="http://oscar.objectweb.org">Oscar</a> and
- <a href="http://www.eclipse.org/equinox/">Eclipse Equinox</a>.
- </p>
- <p>
- For developing Eclipse Plugins, it is recommended to checkout the jSLP-OSGi project from the
- <a href="source-repository.html">subversion repository</a>. This project is already an Eclipse Plugin and
- can be used as dependency for your own project. Unfortunately, Eclipse does not show the exception that is thrown
- when jSLP runs on a linux box as non-root user and it tries to open port 427. Instead, it will print a plain
- <code>ExceptionInInitializer</code>. The result is a general unavailability of the requested Locator or Advertiser instance.
- </p>
- <p>
- Furthermore, Eclipse uses a resolving and starting strategy which is different from traditional OSGi. jSLP has
- <code>Eclipse-LazyStart</code> set so it is started whenever a class from the bundle is accessed. This somewhat collides
- with the OSGi service model where bundles are completely decoupled. So in the above example, jSLP as a Plugin is never
- started and no Advertiser or Locator instance can be retrieved. To prevent this, simple use
-<source>
- ServiceReference advRef = context.getServiceReference(Advertiser.class.getName());
-</source>
- The call to the static field <code>class</code> will force the resolving of <code>ch.ethz.slp.Advertiser</code>,
- the Plugin will be started and thus the ServiceFactory registered with the OSGi registry. (The same indeed works
- for the Locator)
- </p>
- <p>
- For debugging, jSLP-OSGi features the <code>ch.ethz.iks.slp.debug</code> property. If set to <code>true</code>
- and a LogService is present, jSLP-OSGi prints additional information about internal state changes which makes it
- easier to debug applications.
- </p>
- </section>
-
-</body>
-</document>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document>
+ <properties>
+ <title>jSLP-OSGi - Java SLP (Service Location Protocol) Implementation for OSGi. Getting started with jSLP-OSGi</title>
+ <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
+ </properties>
+
+ <meta name="keyword" content="Java, SLP, jSLP, Service Location Protocol, OSGi, Userguide"/>
+ <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative)."/>
+ <meta http-equiv="cache-control" content="no-cache"/>
+ <meta http-equiv="pragma" content="no-cache"/>
+ <meta http-equiv="robots" content="index, follow"/>
+
+<body>
+
+ <section name="Getting started with jSLP-OSGi">
+ <p>
+ jSLP OSGi registers <code>ch.ethz.iks.slp.ServiceLocationManager</code> as <code>ServiceFactory</code>.
+ The registered services are <code>ch.ethz.iks.slp.Advertiser</code> and <code>ch.ethz.iks.slp.Locator</code>
+ and every bundle requesting one of the services will get their own instance. Since requests for
+ <code>ServiceReferences</code> cannot pass parameters to the <code>ServiceFactory</code>,
+ the <code>Advertiser</code> and <code>Locator</code> instances will be created with the empty default
+ <code>Locale</code> and both classes have a setter method <code>.setLocale(Locale locale)</code> to change
+ the locale at runtime (this differs from the jSLP standalone version).
+ </p>
+ <p>
+ The following example shows how to get <code>Advertiser</code> and <code>Locator</code> instances and use them:
+<source>
+public class SLPTestBundle implements BundleActivator {
+
+ public void start(BundleContext context) throws Exception {
+
+ ServiceReference advRef = context.getServiceReference("ch.ethz.iks.slp.Advertiser");
+ ServiceReference locRef = context.getServiceReference("ch.ethz.iks.slp.Locator");
+
+ if (advRef != null) {
+ System.out.println("Got reference for Advertiser");
+ Advertiser advertiser = (Advertiser) context.getService(advRef);
+
+ advertiser.register(new ServiceURL("service:osgi:test://192.168.24.118", 20), null);
+ }
+
+ if (locRef != null) {
+ System.out.println("Got reference for Locator");
+ Locator locator = (Locator) context.getService(locRef);
+
+ ServiceLocationEnumeration slenum = locator.findServices(new ServiceType("service:osgi"), null, null);
+ System.out.println("RESULT:");
+ while (slenum.hasMoreElements()) {
+ System.out.println(slenum.nextElement());
+ }
+ }
+ }
+
+
+ public void stop(BundleContext context) throws Exception {
+
+ }
+
+}
+</source>
+ </p>
+ <p>
+ jSLP OSGi does not require <code>org.osgi.service.log</code> to run but if a bundle is present that provides this service,
+ jSLP OSGi makes use of it. If the service is not present, trace options passed by properties have no effect. jSLP-OSGi has
+ been successfully tested with <a href="http://flowsgi.inf.ethz.ch/concierge.html">Concierge OSGi</a>,
+ <a href="http://www.knopflerfish.org">Knopflerfish</a>, <a href="http://oscar.objectweb.org">Oscar</a> and
+ <a href="http://www.eclipse.org/equinox/">Eclipse Equinox</a>.
+ </p>
+ <p>
+ For developing Eclipse Plugins, it is recommended to checkout the jSLP-OSGi project from the
+ <a href="source-repository.html">subversion repository</a>. This project is already an Eclipse Plugin and
+ can be used as dependency for your own project. Unfortunately, Eclipse does not show the exception that is thrown
+ when jSLP runs on a linux box as non-root user and it tries to open port 427. Instead, it will print a plain
+ <code>ExceptionInInitializer</code>. The result is a general unavailability of the requested Locator or Advertiser instance.
+ </p>
+ <p>
+ Furthermore, Eclipse uses a resolving and starting strategy which is different from traditional OSGi. jSLP has
+ <code>Eclipse-LazyStart</code> set so it is started whenever a class from the bundle is accessed. This somewhat collides
+ with the OSGi service model where bundles are completely decoupled. So in the above example, jSLP as a Plugin is never
+ started and no Advertiser or Locator instance can be retrieved. To prevent this, simple use
+<source>
+ ServiceReference advRef = context.getServiceReference(Advertiser.class.getName());
+</source>
+ The call to the static field <code>class</code> will force the resolving of <code>ch.ethz.slp.Advertiser</code>,
+ the Plugin will be started and thus the ServiceFactory registered with the OSGi registry. (The same indeed works
+ for the Locator)
+ </p>
+ <p>
+ For debugging, jSLP-OSGi features the <code>ch.ethz.iks.slp.debug</code> property. If set to <code>true</code>
+ and a LogService is present, jSLP-OSGi prints additional information about internal state changes which makes it
+ easier to debug applications.
+ </p>
+ </section>
+
+</body>
+</document>
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/index.xml b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/index.xml
index 05d4dcac8..45c81238c 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/index.xml
+++ b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/index.xml
@@ -1,57 +1,57 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<document>
- <properties>
- <title>jSLP - Java SLP (Service Location Protocol) Implementation. jSLP Overview</title>
- <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
- </properties>
-
- <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, RFC 2608, RFC 2614"/>
- <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative). It runs on small and embedded devices and can run under J2SE as well as J2ME CDC and Personal Profile."/>
- <meta http-equiv="cache-control" content="no-cache"/>
- <meta http-equiv="pragma" content="no-cache"/>
- <meta http-equiv="robots" content="index, follow"/>
-
-<body>
-
- <section name="jSLP">
- <p>
- jSLP is the standalone version. It requires <a href="http://jakarta.apache.org/commons/logging/">commons-logging</a> to be in classpath. For example code and setup instructions, see <a href="userguide.html">Getting Started</a>.
- </p>
- </section>
- <section name="jSLP Features">
- <p>
- jSLP implements all required features of RFC 2608 for SA and UA, that includes accepting incoming message both via TCP and UDP. Implemented optional features are Attribute Requests, Authentication Blocks and User Defined Scopes.
- </p>
- </section>
-
- <section name="Divergence from RFC 2608">
- <p>
- The only divergence from RFC 2608 is the use of LDAP filters. RFC 2608 proposes RFC 2254 LDAP v3 filters whereas jSLP uses RFC 1960 LDAP filters. The difference between the two standards is the support for Extensible Matches that RFC 1960 does not provide. However, Extensible Matching is closely related to LDAP trees and does not really apply to systems like jSLP.
- </p>
- <p>
- With version 0.7.x, jSLP allows an additional feature that is not directly intended by RFC 2608: The definition of a protocol for service access. RFC 2608 only allows to specify the transport. However, in some cases, it is required to also specify a protocol to allow for services that can be accessed by different protocols. jSLP allows service urls like:
- <code>
- service:test:myservice://http://myhost:8080
- </code>
- where http is the protocol to access the service. Since the OpenSLP DA does not check the URL part any further, this does not preserve full interoperability with existing SLP solutions.
- </p>
- </section>
-
- <section name="Divergence from RFC 2614">
- <p>
- The major divergence from RFC 2614 is the use of Java Collection Framework by jSLP while RFC 2614 uses <code>Vector</code> elements for passing scope or tag lists.
- <br/> Second, RFC 2614 proposes a class named <code>ServiceLocationAttribute</code> to store attributes and passes attributes as String lists of key/value pairs. jSLP has been designed to be close to OSGi in order to provide best integration, so it uses <code>Dictionary</code> instances for storing and passing attributes. There is a little inconsistency in using <code>Dictionary</code> instead of <code>Map</code> but OSGi uses this format.
- <br/>jSLP adds support for User Defined Scopes to the API, additionally to the standard method for registering a service, it provides a method where a List of scopes can be passed to select the service scopes at runtime.
- <br/>Currently, incremental service registration is not yet implemented.
- </p>
-
- </section>
-
- <section name="Java VM requirements">
- jSLP has been designed to run on servers or desktop machines as well as on small and embedded devices. It has a very small memory and storage
- footprint and runs on Java 1.2 compatible virtual machine or above. <br/>
- Successful tests have been performed on Sun J2SE 1.4.2 and J2SE 1.5, J2SE 1.6, Sun J2ME Personal Profile cvm on Sharp Zaurus, SableVM on iPAQ Linux Familiar, JamVM on iPAQ Linux Familiar, IBM J9 on iPAQ Windows PocketPC, IBM J9 on a Nokia 9300i smartphone, JamVM on a LinkSys NSLU2 (Slug) and an Intel iMote2 sensor network node with a blackdown VM.
- </section>
-
-</body>
-</document>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document>
+ <properties>
+ <title>jSLP - Java SLP (Service Location Protocol) Implementation. jSLP Overview</title>
+ <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
+ </properties>
+
+ <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, RFC 2608, RFC 2614"/>
+ <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative). It runs on small and embedded devices and can run under J2SE as well as J2ME CDC and Personal Profile."/>
+ <meta http-equiv="cache-control" content="no-cache"/>
+ <meta http-equiv="pragma" content="no-cache"/>
+ <meta http-equiv="robots" content="index, follow"/>
+
+<body>
+
+ <section name="jSLP">
+ <p>
+ jSLP is the standalone version. It requires <a href="http://jakarta.apache.org/commons/logging/">commons-logging</a> to be in classpath. For example code and setup instructions, see <a href="userguide.html">Getting Started</a>.
+ </p>
+ </section>
+ <section name="jSLP Features">
+ <p>
+ jSLP implements all required features of RFC 2608 for SA and UA, that includes accepting incoming message both via TCP and UDP. Implemented optional features are Attribute Requests, Authentication Blocks and User Defined Scopes.
+ </p>
+ </section>
+
+ <section name="Divergence from RFC 2608">
+ <p>
+ The only divergence from RFC 2608 is the use of LDAP filters. RFC 2608 proposes RFC 2254 LDAP v3 filters whereas jSLP uses RFC 1960 LDAP filters. The difference between the two standards is the support for Extensible Matches that RFC 1960 does not provide. However, Extensible Matching is closely related to LDAP trees and does not really apply to systems like jSLP.
+ </p>
+ <p>
+ With version 0.7.x, jSLP allows an additional feature that is not directly intended by RFC 2608: The definition of a protocol for service access. RFC 2608 only allows to specify the transport. However, in some cases, it is required to also specify a protocol to allow for services that can be accessed by different protocols. jSLP allows service urls like:
+ <code>
+ service:test:myservice://http://myhost:8080
+ </code>
+ where http is the protocol to access the service. Since the OpenSLP DA does not check the URL part any further, this does not preserve full interoperability with existing SLP solutions.
+ </p>
+ </section>
+
+ <section name="Divergence from RFC 2614">
+ <p>
+ The major divergence from RFC 2614 is the use of Java Collection Framework by jSLP while RFC 2614 uses <code>Vector</code> elements for passing scope or tag lists.
+ <br/> Second, RFC 2614 proposes a class named <code>ServiceLocationAttribute</code> to store attributes and passes attributes as String lists of key/value pairs. jSLP has been designed to be close to OSGi in order to provide best integration, so it uses <code>Dictionary</code> instances for storing and passing attributes. There is a little inconsistency in using <code>Dictionary</code> instead of <code>Map</code> but OSGi uses this format.
+ <br/>jSLP adds support for User Defined Scopes to the API, additionally to the standard method for registering a service, it provides a method where a List of scopes can be passed to select the service scopes at runtime.
+ <br/>Currently, incremental service registration is not yet implemented.
+ </p>
+
+ </section>
+
+ <section name="Java VM requirements">
+ jSLP has been designed to run on servers or desktop machines as well as on small and embedded devices. It has a very small memory and storage
+ footprint and runs on Java 1.2 compatible virtual machine or above. <br/>
+ Successful tests have been performed on Sun J2SE 1.4.2 and J2SE 1.5, J2SE 1.6, Sun J2ME Personal Profile cvm on Sharp Zaurus, SableVM on iPAQ Linux Familiar, JamVM on iPAQ Linux Familiar, IBM J9 on iPAQ Windows PocketPC, IBM J9 on a Nokia 9300i smartphone, JamVM on a LinkSys NSLU2 (Slug) and an Intel iMote2 sensor network node with a blackdown VM.
+ </section>
+
+</body>
+</document>
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/modularity.xml b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/modularity.xml
index 5a09fd33d..ca54fcc6e 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/modularity.xml
+++ b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/modularity.xml
@@ -1,49 +1,49 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<document>
- <properties>
- <title>jSLP - Java SLP (Service Location Protocol) Implementation. Modularity in jSLP > 0.6</title>
- <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
- </properties>
-
- <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, Userguide, User Guide, OpenSLP, Modularity, SA, UA"/>
- <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative). Modularity in jSLP 0.6:"/>
- <meta http-equiv="cache-control" content="no-cache"/>
- <meta http-equiv="pragma" content="no-cache"/>
- <meta http-equiv="robots" content="index, follow"/>
-
-<body>
-
- <section name="jSLP Modularity">
- <p>
- jSLP can be used to build custom configurations for SLP peers. It is possible to use UA or SA functionalities only and leave out some classes to reduce the file footprint.
- </p>
- </section>
-
- <section name="SA only configurations">
- <p>
- If the configuration has to support SA functionalities only, the <code>ch.ethz.iks.slp.impl.LocatorImpl</code> class is not required. Since the core has only dynamic dependencies to this class,
- it can be omitted without any further modifications. Calls of <code>ch.ethz.iks.slp.ServiceLocationManager.getLocator</code> will throw a ServiceLocationException of type
- <code>ServiceLocationException.NOT_IMPLEMENTED</code>. Depending on the setup, the <code>ch.ethz.iks.slp.impl.SLPDaemonImpl</code> class is also not required, see section below.
- </p>
- </section>
-
- <section name="UA only configurations">
- <p>
- Configurations that only serve as a SLP client can omit the <code>ch.ethz.iks.slp.impl.AdvertiserImpl</code> class and the <code>ch.ethz.iks.slp.impl.SLPDaemon</code> class without further
- implications. Calls of <code>ch.ethz.iks.slp.ServiceLocationManager.getAdvertiser</code> will throw a ServiceLocationException of type
- <code>ServiceLocationException.NOT_IMPLEMENTED</code>.
- </p>
- </section>
-
- <section name="Configurations without the SLPDaemon">
- <p>
- jSLP is able to run on different VMs on the same machine. Every separated instance of jSLP checks, if a SLP daemon is running on port 427 on the machine. If this is
- the case, no new instance of SLPDaemon is created. Therefore, if it can be assured that another process has already started a deamon, the class <code>ch.ethz.iks.slp.impl.SLPDaemonImpl</code>
- does not have to be provided by subsequent instances on different VMs. The same applies for the situation where a OpenSLP slpd is running on the machine. <br/>
- The daemon is required for SA functionalities only. It contains a service registry for the case where no DA of the designated scope is available within the network and
- answers requests that arrive by multicast. It should thus be assured that the instance running the daemon does not terminate prior to other existing SA-enabled instances running on different VMs.
- </p>
- </section>
-
-</body>
-</document>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document>
+ <properties>
+ <title>jSLP - Java SLP (Service Location Protocol) Implementation. Modularity in jSLP > 0.6</title>
+ <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
+ </properties>
+
+ <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, Userguide, User Guide, OpenSLP, Modularity, SA, UA"/>
+ <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative). Modularity in jSLP 0.6:"/>
+ <meta http-equiv="cache-control" content="no-cache"/>
+ <meta http-equiv="pragma" content="no-cache"/>
+ <meta http-equiv="robots" content="index, follow"/>
+
+<body>
+
+ <section name="jSLP Modularity">
+ <p>
+ jSLP can be used to build custom configurations for SLP peers. It is possible to use UA or SA functionalities only and leave out some classes to reduce the file footprint.
+ </p>
+ </section>
+
+ <section name="SA only configurations">
+ <p>
+ If the configuration has to support SA functionalities only, the <code>ch.ethz.iks.slp.impl.LocatorImpl</code> class is not required. Since the core has only dynamic dependencies to this class,
+ it can be omitted without any further modifications. Calls of <code>ch.ethz.iks.slp.ServiceLocationManager.getLocator</code> will throw a ServiceLocationException of type
+ <code>ServiceLocationException.NOT_IMPLEMENTED</code>. Depending on the setup, the <code>ch.ethz.iks.slp.impl.SLPDaemonImpl</code> class is also not required, see section below.
+ </p>
+ </section>
+
+ <section name="UA only configurations">
+ <p>
+ Configurations that only serve as a SLP client can omit the <code>ch.ethz.iks.slp.impl.AdvertiserImpl</code> class and the <code>ch.ethz.iks.slp.impl.SLPDaemon</code> class without further
+ implications. Calls of <code>ch.ethz.iks.slp.ServiceLocationManager.getAdvertiser</code> will throw a ServiceLocationException of type
+ <code>ServiceLocationException.NOT_IMPLEMENTED</code>.
+ </p>
+ </section>
+
+ <section name="Configurations without the SLPDaemon">
+ <p>
+ jSLP is able to run on different VMs on the same machine. Every separated instance of jSLP checks, if a SLP daemon is running on port 427 on the machine. If this is
+ the case, no new instance of SLPDaemon is created. Therefore, if it can be assured that another process has already started a deamon, the class <code>ch.ethz.iks.slp.impl.SLPDaemonImpl</code>
+ does not have to be provided by subsequent instances on different VMs. The same applies for the situation where a OpenSLP slpd is running on the machine. <br/>
+ The daemon is required for SA functionalities only. It contains a service registry for the case where no DA of the designated scope is available within the network and
+ answers requests that arrive by multicast. It should thus be assured that the instance running the daemon does not terminate prior to other existing SA-enabled instances running on different VMs.
+ </p>
+ </section>
+
+</body>
+</document>
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/userguide.xml b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/userguide.xml
index 1bfe0988b..9139c4a60 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/userguide.xml
+++ b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/jSLP/userguide.xml
@@ -1,145 +1,145 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<document>
- <properties>
- <title>jSLP - Java SLP (Service Location Protocol) Implementation. Getting started with jSLP</title>
- <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
- </properties>
-
- <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, Userguide, User Guide, OpenSLP, security, PEM, DER, private key, public key"/>
- <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative). Getting started with jSLP:"/>
- <meta http-equiv="cache-control" content="no-cache"/>
- <meta http-equiv="pragma" content="no-cache"/>
- <meta http-equiv="robots" content="index, follow"/>
-
-<body>
-
- <section name="Getting started with jSLP">
- <p>
- First, download the current 1.0_RC1 release of jSLP and a current release of commons-logging.
- Similar to RFC 2614, jSLP separates the UA and SA functionalities into two different classes,
- location of services is provided by <code>ch.ethz.iks.slp.Locator</code>, registration of services
- by <code>ch.ethz.iks.slp.Advertiser</code>. The starting point of interacting with jSLP is to get
- an instance of one of the classes (or both) via the static methods of
- <code>ch.ethz.iks.slp.ServiceLocationManager</code>.
- </p>
- </section>
-
-
- <section name="Understanding, what's going on">
- <p>
- jSLP can either operate stand-alone (in peer-to-peer mode), or with a dedicated SLP Directory
- Agent in the network. In the first case, jSLP uses multicast convergence to query the local
- subnet for peers that offer requested services. In the latter case, the central Directory Agent
- maintains all registered services and answers requests.
- </p>
- <p>
- The SLP protocol is self-adaptive in the sense that whenever a Directory Agent is present
- (and matches the scope), it is exclusively used. Otherwise, multicast convergence is used.
- jSLP fully complies to this behavior.
- </p>
- <p>
- By default, the SLP protocol uses the standardized port 427 for communication. This, however,
- requires to run jSLP as <i>root</i> on Linux/Unix platforms. In some situations, where a closed
- world can be assumed and interoperability with other SLP peers is not relevant, it might be more
- convenient to run jSLP on a port > 1024 to allow it to run from an ordinary user account. This is
- possible from jSLP release 0.7.x by setting <i>net.slp.port</i> to a target port.
- </p>
- <p>
- jSLP is designed to be accessible from multiple instances of Java running on the same machine.
- Be aware, that always the first instance started holds the Java part that corresponds to the Deaemon.
- If this instance is shut down, also the registrations are lost. To prevent this, use a DA in the
- network of make sure that this first instance runs continously. (In general, this is the behavior of slpd).
- </p>
- </section>
- <section name="Register a service">
- <p>
- The following example shows how to register a service with jSLP:
-
-<source>
-// get Advertiser instance
-Advertiser advertiser = ServiceLocationManager.getAdvertiser(new Locale("en"));
-
-// the service has lifetime 60, that means it will only persist for one minute
-ServiceURL myService = new ServiceURL("service:test:myService://my.host.ch", 60);
-
-// some attributes for the service
-Hashtable attributes = new Hashtable();
-attributes.put("persistent", Boolean.TRUE);
-attributes.put("cool", "yes");
-attributes.put("max-connections", new Integer(5));
-
-advertiser.register(myService, attributes);
-</source>
-
- Please note that a service is always registered with a lifetime, that means the service registration will
- expire after [lifetime] seconds unless set to ServiceURL.LIFETIME_PERMANENT. In this case, the service
- will never expire but the registering applications should take care about unregistering the service
- when it terminates to avoid stale service registrations.
- </p>
- </section>
-
- <section name="Locate a service">
- <p>
- The next example shows how to locate a service in the network:
-
-<source>
-// get Locator instance
-Locator locator = ServiceLocationManager.getLocator(new Locale("en"));
-
-// find all services of type "test" that have attribute "cool=yes"
-ServiceLocationEnumeration sle = locator.findServices(new ServiceType("service:test")
- , null, "(cool=yes)");
-
-// iterate over the results
-while (sle.hasMoreElements()) {
- ServiceURL foundService = (ServiceURL) sle.nextElement();
- System.out.println(foundService);
-}
-</source>
-
- Services can also be found by ServiceURL. The attribute filter may be everything compliant to
- <a href="http://www.faqs.org/rfcs/rfc1960.html">RFC 1960</a> (String Representation of LDAP Filters),
- so a valid filter could also be:
- <code>(&amp;(resolution>=600)(|(format=a4)(format=usLetter)))</code>.
- jSLP supports service, attribute requests and service type requests (with revision 0.6).
- </p>
- </section>
-
- <section name="See, what's going on">
- <p>
- The following lines added to your VM's command line can help to see and understand what is going on on the
- level of messages and registrations:
-<code>
- -Dorg.apache.commons.logging.log=org.apache.commons.logging.impl.SimpleLog
- -Dorg.apache.commons.logging.simplelog.defaultlog=trace
- -Dnet.slp.traceMsg=true
- -Dnet.slp.traceReg=true
-</code>
- </p>
- </section>
-
- <section name="Troubleshooting">
- <p>
- There are two common problems that might prevent jSLP from working correctly:
- <ul>
- <li><b>jSLP cannot open the port 427</b>: Either run jSLP as root, or change the port, if
- this is acceptable for your setup.</li>
- <li><b>jSLP cannot find your OpenSLP DA</b>: First, ensure that your OpenSLP DA is in the
- same subnet as your jSLP client is and that it is actually running in DA mode. Check
- <code>/var/log/slpd.log</code> for the agent URL, it should read something like
- <code>service:directory-agent://URL</code>. If your OpenSLP DA is running as an SA although
- you configured it to be a DA, it is a hostname lookup problem. OpenSLP will refuse to run
- as a DA if it cannot find out your host name. Make sure that your /etc/hosts contains an
- entry that maps your hostname to the actual IP address and that your machine has a hostname
- set. As long as the result of OpenSLP's effort to find out the machines canonical host name
- is 127.X, it will silently switch to SA mode (one could argue that this is not a nice behavior
- but it is implemented this way).</li>
- <li><b>jSLP cannot detect the local host address on Linux</b>: First, try to set your
- <code>/etc/hosts</code>, etc. If you cannot do this, you can manually influence the interfaces
- by setting <i>net.slp.interfaces</i>. The first entry will determine on which network interface
- jSLP sends outgoing messages. See the properties for details.</li>
- </ul>
- </p>
- </section>
-</body>
-</document>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document>
+ <properties>
+ <title>jSLP - Java SLP (Service Location Protocol) Implementation. Getting started with jSLP</title>
+ <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
+ </properties>
+
+ <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, Userguide, User Guide, OpenSLP, security, PEM, DER, private key, public key"/>
+ <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative). Getting started with jSLP:"/>
+ <meta http-equiv="cache-control" content="no-cache"/>
+ <meta http-equiv="pragma" content="no-cache"/>
+ <meta http-equiv="robots" content="index, follow"/>
+
+<body>
+
+ <section name="Getting started with jSLP">
+ <p>
+ First, download the current 1.0_RC1 release of jSLP and a current release of commons-logging.
+ Similar to RFC 2614, jSLP separates the UA and SA functionalities into two different classes,
+ location of services is provided by <code>ch.ethz.iks.slp.Locator</code>, registration of services
+ by <code>ch.ethz.iks.slp.Advertiser</code>. The starting point of interacting with jSLP is to get
+ an instance of one of the classes (or both) via the static methods of
+ <code>ch.ethz.iks.slp.ServiceLocationManager</code>.
+ </p>
+ </section>
+
+
+ <section name="Understanding, what's going on">
+ <p>
+ jSLP can either operate stand-alone (in peer-to-peer mode), or with a dedicated SLP Directory
+ Agent in the network. In the first case, jSLP uses multicast convergence to query the local
+ subnet for peers that offer requested services. In the latter case, the central Directory Agent
+ maintains all registered services and answers requests.
+ </p>
+ <p>
+ The SLP protocol is self-adaptive in the sense that whenever a Directory Agent is present
+ (and matches the scope), it is exclusively used. Otherwise, multicast convergence is used.
+ jSLP fully complies to this behavior.
+ </p>
+ <p>
+ By default, the SLP protocol uses the standardized port 427 for communication. This, however,
+ requires to run jSLP as <i>root</i> on Linux/Unix platforms. In some situations, where a closed
+ world can be assumed and interoperability with other SLP peers is not relevant, it might be more
+ convenient to run jSLP on a port > 1024 to allow it to run from an ordinary user account. This is
+ possible from jSLP release 0.7.x by setting <i>net.slp.port</i> to a target port.
+ </p>
+ <p>
+ jSLP is designed to be accessible from multiple instances of Java running on the same machine.
+ Be aware, that always the first instance started holds the Java part that corresponds to the Deaemon.
+ If this instance is shut down, also the registrations are lost. To prevent this, use a DA in the
+ network of make sure that this first instance runs continously. (In general, this is the behavior of slpd).
+ </p>
+ </section>
+ <section name="Register a service">
+ <p>
+ The following example shows how to register a service with jSLP:
+
+<source>
+// get Advertiser instance
+Advertiser advertiser = ServiceLocationManager.getAdvertiser(new Locale("en"));
+
+// the service has lifetime 60, that means it will only persist for one minute
+ServiceURL myService = new ServiceURL("service:test:myService://my.host.ch", 60);
+
+// some attributes for the service
+Hashtable attributes = new Hashtable();
+attributes.put("persistent", Boolean.TRUE);
+attributes.put("cool", "yes");
+attributes.put("max-connections", new Integer(5));
+
+advertiser.register(myService, attributes);
+</source>
+
+ Please note that a service is always registered with a lifetime, that means the service registration will
+ expire after [lifetime] seconds unless set to ServiceURL.LIFETIME_PERMANENT. In this case, the service
+ will never expire but the registering applications should take care about unregistering the service
+ when it terminates to avoid stale service registrations.
+ </p>
+ </section>
+
+ <section name="Locate a service">
+ <p>
+ The next example shows how to locate a service in the network:
+
+<source>
+// get Locator instance
+Locator locator = ServiceLocationManager.getLocator(new Locale("en"));
+
+// find all services of type "test" that have attribute "cool=yes"
+ServiceLocationEnumeration sle = locator.findServices(new ServiceType("service:test")
+ , null, "(cool=yes)");
+
+// iterate over the results
+while (sle.hasMoreElements()) {
+ ServiceURL foundService = (ServiceURL) sle.nextElement();
+ System.out.println(foundService);
+}
+</source>
+
+ Services can also be found by ServiceURL. The attribute filter may be everything compliant to
+ <a href="http://www.faqs.org/rfcs/rfc1960.html">RFC 1960</a> (String Representation of LDAP Filters),
+ so a valid filter could also be:
+ <code>(&amp;(resolution>=600)(|(format=a4)(format=usLetter)))</code>.
+ jSLP supports service, attribute requests and service type requests (with revision 0.6).
+ </p>
+ </section>
+
+ <section name="See, what's going on">
+ <p>
+ The following lines added to your VM's command line can help to see and understand what is going on on the
+ level of messages and registrations:
+<code>
+ -Dorg.apache.commons.logging.log=org.apache.commons.logging.impl.SimpleLog
+ -Dorg.apache.commons.logging.simplelog.defaultlog=trace
+ -Dnet.slp.traceMsg=true
+ -Dnet.slp.traceReg=true
+</code>
+ </p>
+ </section>
+
+ <section name="Troubleshooting">
+ <p>
+ There are two common problems that might prevent jSLP from working correctly:
+ <ul>
+ <li><b>jSLP cannot open the port 427</b>: Either run jSLP as root, or change the port, if
+ this is acceptable for your setup.</li>
+ <li><b>jSLP cannot find your OpenSLP DA</b>: First, ensure that your OpenSLP DA is in the
+ same subnet as your jSLP client is and that it is actually running in DA mode. Check
+ <code>/var/log/slpd.log</code> for the agent URL, it should read something like
+ <code>service:directory-agent://URL</code>. If your OpenSLP DA is running as an SA although
+ you configured it to be a DA, it is a hostname lookup problem. OpenSLP will refuse to run
+ as a DA if it cannot find out your host name. Make sure that your /etc/hosts contains an
+ entry that maps your hostname to the actual IP address and that your machine has a hostname
+ set. As long as the result of OpenSLP's effort to find out the machines canonical host name
+ is 127.X, it will silently switch to SA mode (one could argue that this is not a nice behavior
+ but it is implemented this way).</li>
+ <li><b>jSLP cannot detect the local host address on Linux</b>: First, try to set your
+ <code>/etc/hosts</code>, etc. If you cannot do this, you can manually influence the interfaces
+ by setting <i>net.slp.interfaces</i>. The first entry will determine on which network interface
+ jSLP sends outgoing messages. See the properties for details.</li>
+ </ul>
+ </p>
+ </section>
+</body>
+</document>
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/properties.xml b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/properties.xml
index b8ea663be..f373d7abb 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/properties.xml
+++ b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/properties.xml
@@ -1,130 +1,130 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<document>
- <properties>
- <title>jSLP - Java SLP (Service Location Protocol) Implementation. jSLP Properties</title>
- <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
- </properties>
- <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, Properties, OpenSLP, security, PEM, DER, private key, public key"/>
- <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative)."/>
- <meta http-equiv="cache-control" content="no-cache"/>
- <meta http-equiv="pragma" content="no-cache"/>
- <meta http-equiv="robots" content="index, follow"/>
-
-<body>
- <section name="jSLP properties">
- <p>
- Currently, jSLP supports the following properties:
- <table>
- <tr>
- <th>Attribute</th>
- <th>Default</th>
- <th>Comment</th>
- </tr>
- <tr>
- <td><code>net.slp.interfaces</code></td>
- <td><i>none</i></td>
- <td>Comma separated list of IP addresses of the interfaces on which jSLP should listen for SLP messages. Currently, jSLP only listens to the first address. You might have to set this property on multi-homed machines and on linux if your JVM thinks your machine's IP is 127.0.0.1</td>
- </tr>
- <tr>
- <td><code>net.slp.port</code></td>
- <td><i>none</i></td>
- <td>number that denotes the (non-standard) port where jSLP is going to operate on. Note that this prevents interoperability with other SLP entities running on the standard port, if multicast convergence is used.</td>
- </tr>
- <tr>
- <td><code>net.slp.useScopes</code></td>
- <td>default</td>
- <td>predefined scopes for the SA</td>
- </tr>
- <tr>
- <td><code>net.slp.DAAddresses</code></td>
- <td><i>none</i></td>
- <td>predefined DA addresses</td>
- </tr>
- <tr>
- <td><code>net.slp.noDADiscovery</code></td>
- <td><i>false</i></td>
- <td>perform no active or passive DA discovery. Only valid if <i>net.slp.DAAddresses</i> are defined.</td>
- </tr>
- <tr>
- <td><code>net.slp.waitTime</code></td>
- <td>1000</td>
- <td>wait time for initial DA discovery etc.</td>
- </tr>
- <tr>
- <td><code>net.slp.traceDATraffic</code></td>
- <td>false</td>
- <td>trace traffic to DA</td>
- </tr>
- <tr>
- <td><code>net.slp.traceMsg</code></td>
- <td>false</td>
- <td>trace messages</td>
- </tr>
- <tr>
- <td><code>net.slp.traceDrop</code></td>
- <td>false</td>
- <td>trace dropped messages</td>
- </tr>
- <tr>
- <td><code>net.slp.traceReg</code></td>
- <td>false</td>
- <td>trace registrations / deregistrations</td>
- </tr>
- <tr>
- <td><code>net.slp.multicastTTL</code></td>
- <td>255</td>
- <td>TTL for multicast messages. <i>Note: decreasing this value will lead to localized query results and peers at different locations in the network might get different results</i></td>
- </tr>
- <tr>
- <td><code>net.slp.multicastMaximumWait</code></td>
- <td>15000</td>
- <td>total timeout for multicast convergence in mSec.</td>
- </tr>
- <tr>
- <td><code>net.slp.multicastTimeouts</code></td>
- <td>500,750,1000,1500,2000,3000</td>
- <td>timeouts for the rounds during multicast convergence. <i>Note that the number of timeouts affects the maximum total number of rounds for multicast convergence.</i></td>
- </tr>
- <tr>
- <td><code>net.slp.datagramMaximumWait</code></td>
- <td>5000</td>
- <td>Number of mSecs until jSLP stops waiting for a reply to a UDP request message and timeframe for retransmissions of failed UDP messages.</td>
- </tr>
- <tr>
- <td><code>net.slp.datagramTimeouts</code></td>
- <td>3000,3000,3000,3000,3000</td>
- <td>timeouts for the retransmissions of failed UDP messages. <i>Note that the number of timeouts does NOT affect the maximum number of retransmissions. This number is limited by <code>net.slp.datagramMaximumWait</code></i>.</td>
- </tr>
- <tr>
- <td><code>net.slp.MTU</code></td>
- <td>1400</td>
- <td>maximum size of a UDP datagram in Bytes</td>
- </tr>
- <tr>
- <td><code>net.slp.securityEnabled</code></td>
- <td>false</td>
- <td>enable security</td>
- </tr>
- <tr>
- <td><code>net.slp.spi</code></td>
- <td><i>none</i></td>
- <td>a comma separated list of SPIs to use if security is enabled.</td>
- </tr>
- <tr>
- <td><code>net.slp.privateKey.<i>SPI</i></code></td>
- <td><i>none</i></td>
- <td>the location of the private key in DER format for SPI <i>SPI</i></td>
- </tr>
- <tr>
- <td><code>net.slp.publicKey.<i>SPI</i></code></td>
- <td><i>none</i></td>
- <td>the location of the public key in DER format for SPI <i>SPI</i></td>
- </tr>
- </table>
- </p>
- <p>
- jSLP expects the properties to be either passed by system environment (that means as -D<i>property</i>=<i>value</i> parameter for the VM) or in a file called jslp.properties. Please note that for tracing messages etc., you also have to configure your logger to output trace messages.
- </p>
- </section>
-</body>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document>
+ <properties>
+ <title>jSLP - Java SLP (Service Location Protocol) Implementation. jSLP Properties</title>
+ <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
+ </properties>
+ <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, Properties, OpenSLP, security, PEM, DER, private key, public key"/>
+ <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative)."/>
+ <meta http-equiv="cache-control" content="no-cache"/>
+ <meta http-equiv="pragma" content="no-cache"/>
+ <meta http-equiv="robots" content="index, follow"/>
+
+<body>
+ <section name="jSLP properties">
+ <p>
+ Currently, jSLP supports the following properties:
+ <table>
+ <tr>
+ <th>Attribute</th>
+ <th>Default</th>
+ <th>Comment</th>
+ </tr>
+ <tr>
+ <td><code>net.slp.interfaces</code></td>
+ <td><i>none</i></td>
+ <td>Comma separated list of IP addresses of the interfaces on which jSLP should listen for SLP messages. Currently, jSLP only listens to the first address. You might have to set this property on multi-homed machines and on linux if your JVM thinks your machine's IP is 127.0.0.1</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.port</code></td>
+ <td><i>none</i></td>
+ <td>number that denotes the (non-standard) port where jSLP is going to operate on. Note that this prevents interoperability with other SLP entities running on the standard port, if multicast convergence is used.</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.useScopes</code></td>
+ <td>default</td>
+ <td>predefined scopes for the SA</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.DAAddresses</code></td>
+ <td><i>none</i></td>
+ <td>predefined DA addresses</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.noDADiscovery</code></td>
+ <td><i>false</i></td>
+ <td>perform no active or passive DA discovery. Only valid if <i>net.slp.DAAddresses</i> are defined.</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.waitTime</code></td>
+ <td>1000</td>
+ <td>wait time for initial DA discovery etc.</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.traceDATraffic</code></td>
+ <td>false</td>
+ <td>trace traffic to DA</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.traceMsg</code></td>
+ <td>false</td>
+ <td>trace messages</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.traceDrop</code></td>
+ <td>false</td>
+ <td>trace dropped messages</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.traceReg</code></td>
+ <td>false</td>
+ <td>trace registrations / deregistrations</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.multicastTTL</code></td>
+ <td>255</td>
+ <td>TTL for multicast messages. <i>Note: decreasing this value will lead to localized query results and peers at different locations in the network might get different results</i></td>
+ </tr>
+ <tr>
+ <td><code>net.slp.multicastMaximumWait</code></td>
+ <td>15000</td>
+ <td>total timeout for multicast convergence in mSec.</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.multicastTimeouts</code></td>
+ <td>500,750,1000,1500,2000,3000</td>
+ <td>timeouts for the rounds during multicast convergence. <i>Note that the number of timeouts affects the maximum total number of rounds for multicast convergence.</i></td>
+ </tr>
+ <tr>
+ <td><code>net.slp.datagramMaximumWait</code></td>
+ <td>5000</td>
+ <td>Number of mSecs until jSLP stops waiting for a reply to a UDP request message and timeframe for retransmissions of failed UDP messages.</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.datagramTimeouts</code></td>
+ <td>3000,3000,3000,3000,3000</td>
+ <td>timeouts for the retransmissions of failed UDP messages. <i>Note that the number of timeouts does NOT affect the maximum number of retransmissions. This number is limited by <code>net.slp.datagramMaximumWait</code></i>.</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.MTU</code></td>
+ <td>1400</td>
+ <td>maximum size of a UDP datagram in Bytes</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.securityEnabled</code></td>
+ <td>false</td>
+ <td>enable security</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.spi</code></td>
+ <td><i>none</i></td>
+ <td>a comma separated list of SPIs to use if security is enabled.</td>
+ </tr>
+ <tr>
+ <td><code>net.slp.privateKey.<i>SPI</i></code></td>
+ <td><i>none</i></td>
+ <td>the location of the private key in DER format for SPI <i>SPI</i></td>
+ </tr>
+ <tr>
+ <td><code>net.slp.publicKey.<i>SPI</i></code></td>
+ <td><i>none</i></td>
+ <td>the location of the public key in DER format for SPI <i>SPI</i></td>
+ </tr>
+ </table>
+ </p>
+ <p>
+ jSLP expects the properties to be either passed by system environment (that means as -D<i>property</i>=<i>value</i> parameter for the VM) or in a file called jslp.properties. Please note that for tracing messages etc., you also have to configure your logger to output trace messages.
+ </p>
+ </section>
+</body>
</document> \ No newline at end of file
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/security.xml b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/security.xml
index c516141c6..011fb061b 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/security.xml
+++ b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/security.xml
@@ -1,44 +1,44 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<document>
- <properties>
- <title>jSLP - Java SLP (Service Location Protocol) Implementation. Enabling SLP Security</title>
- <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
- </properties>
-
- <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, OpenSLP, security, PEM, DER, private key, public key"/>
- <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative). The following example shows how to enable security and generate public and private key that can also be used for OpenSLP and for interaction with a Directory Agent (DA)."/>
- <meta http-equiv="cache-control" content="no-cache"/>
- <meta http-equiv="pragma" content="no-cache"/>
- <meta http-equiv="robots" content="index, follow"/>
-
-<body>
- <section name="Enabling security">
- <p>
- jSLP uses the standard SLP security mechanism with SPIs and Authentication Blocks. To enable security, one has to create a public / private key pair to use with the jSLP peers. This can be done by using <a href="http://www.openssl.org">OpenSSL</a>. Generally, jSLP supports BSD 0x0002, DSA keys. Java requires the keys to be in <i>DER</i> format. In the Unix world, the <i>PEM</i> format is more common but every <i>PEM</i> encoded key can be transformed into a <i>DER</i> key by performing the last step of the example below. This is particularly required if there are already security enabled OpenSLP DAs in the network and jSLP peers need to access their services.
-<br/><br/>
-The following example creates a public / private key pair that can be used with jSLP and OpenSLP Directory Agents:
-<br/><br/>
-First, create a new private key in PEM format and remove the passphrase:
-<source>
-openssl dsaparam -out dsap.pem 1024
-openssl gendsa -des -out private_key_with_pw.pem dsap.pem
-openssl dsa -in private_key:with_pw.pem -out private_key.pem
-</source>
-<br/>
-Then, create a public key from the private key:
-<source>
-openssl dsa -in private_key.pem -pubout -out public_key.pem
-</source>
-<br/>
-These keys can be used with OpenSLP, for Java, we need to convert them to DER format:
-<source>
-openssl dsa -in public_key.pem -inform PEM -pubin -outform DER -out public_key.der
-openssl pkcs8 -nocrypt -in private_key.pem -inform PEM -topk8 -outform DER -out private_key.der
-</source>
- <br/>
- The DER format keys can be used with jSLP. One has to define an SPI which is in an identifier for a public/private key pair. <br/>
- We set <code>net.slp.spi</code> to e.g., <i>mySlp</i> and register the keys by setting <code>net.slp.privateKey.mySlp</code> and <code>net.slp.publicKey.mySlp</code> to the files where your DER keys are stored. Don't forget to set <code>net.slp.securityEnabled</code> to true and the jSLP peer will use security. If OpenSLP DAs are used, register the PEM format keys with the DA or the jSLP peer will not be able to communicate with the DA.
- </p>
- </section>
-</body>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document>
+ <properties>
+ <title>jSLP - Java SLP (Service Location Protocol) Implementation. Enabling SLP Security</title>
+ <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
+ </properties>
+
+ <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, OpenSLP, security, PEM, DER, private key, public key"/>
+ <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative). The following example shows how to enable security and generate public and private key that can also be used for OpenSLP and for interaction with a Directory Agent (DA)."/>
+ <meta http-equiv="cache-control" content="no-cache"/>
+ <meta http-equiv="pragma" content="no-cache"/>
+ <meta http-equiv="robots" content="index, follow"/>
+
+<body>
+ <section name="Enabling security">
+ <p>
+ jSLP uses the standard SLP security mechanism with SPIs and Authentication Blocks. To enable security, one has to create a public / private key pair to use with the jSLP peers. This can be done by using <a href="http://www.openssl.org">OpenSSL</a>. Generally, jSLP supports BSD 0x0002, DSA keys. Java requires the keys to be in <i>DER</i> format. In the Unix world, the <i>PEM</i> format is more common but every <i>PEM</i> encoded key can be transformed into a <i>DER</i> key by performing the last step of the example below. This is particularly required if there are already security enabled OpenSLP DAs in the network and jSLP peers need to access their services.
+<br/><br/>
+The following example creates a public / private key pair that can be used with jSLP and OpenSLP Directory Agents:
+<br/><br/>
+First, create a new private key in PEM format and remove the passphrase:
+<source>
+openssl dsaparam -out dsap.pem 1024
+openssl gendsa -des -out private_key_with_pw.pem dsap.pem
+openssl dsa -in private_key:with_pw.pem -out private_key.pem
+</source>
+<br/>
+Then, create a public key from the private key:
+<source>
+openssl dsa -in private_key.pem -pubout -out public_key.pem
+</source>
+<br/>
+These keys can be used with OpenSLP, for Java, we need to convert them to DER format:
+<source>
+openssl dsa -in public_key.pem -inform PEM -pubin -outform DER -out public_key.der
+openssl pkcs8 -nocrypt -in private_key.pem -inform PEM -topk8 -outform DER -out private_key.der
+</source>
+ <br/>
+ The DER format keys can be used with jSLP. One has to define an SPI which is in an identifier for a public/private key pair. <br/>
+ We set <code>net.slp.spi</code> to e.g., <i>mySlp</i> and register the keys by setting <code>net.slp.privateKey.mySlp</code> and <code>net.slp.publicKey.mySlp</code> to the files where your DER keys are stored. Don't forget to set <code>net.slp.securityEnabled</code> to true and the jSLP peer will use security. If OpenSLP DAs are used, register the PEM format keys with the DA or the jSLP peer will not be able to communicate with the DA.
+ </p>
+ </section>
+</body>
</document> \ No newline at end of file
diff --git a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/using.xml b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/using.xml
index 1f2d66446..dce121731 100644
--- a/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/using.xml
+++ b/protocols/bundles/ch.ethz.iks.slp/src/site/xdoc/using.xml
@@ -1,56 +1,56 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<document>
- <properties>
- <title>jSLP - Java SLP (Service Location Protocol) Implementation. Projects Using jSLP</title>
- <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
- </properties>
-
- <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, OSGi, projects using, flowSGi, collaborative, middleware"/>
- <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative). The following projects are using jSLP:"/>
- <meta http-equiv="cache-control" content="no-cache"/>
- <meta http-equiv="pragma" content="no-cache"/>
- <meta http-equiv="robots" content="index, follow"/>
-
-<body>
- <section name="Projects using jSLP">
- <p>
- <table>
- <tr>
- <th>Project</th>
- <th>Description</th>
- <th>Link</th>
- </tr>
- <tr>
- <td>Adaptec iSCSI Management</td>
- <td>Adaptec is in the storage management business. We have a storage management configuration utility based on a client/server model which is implemented in Java. As such it is portable to all of the OS platforms we support. We are developing an auto discovery feature to clients to automatically discover servers. Since iSCSI already uses SLP and we support a great many iSCSI devices, it seemed like a good idea to at least explore the idea of basing the auto discovery feature on SLP using jslp. Presently the auto discovery feature (using jslp) is being exercised by a network of several dozen servers.</td>
- <td><a href="http://www.adaptec.com">Adaptec</a></td>
- </tr>
- <tr>
- <td>R-OSGi</td>
- <td>Remote service extension for OSGi</td>
- <td><a href="http://sourceforge.net/projects/r-osgi">R-OSGi website</a></td>
- </tr>
- <tr>
- <td>flowSGi</td>
- <td>Collaborative middleware for mobile devices based on OSGi</td>
- <td><a href="http://flowsgi.inf.ethz.ch">flowSGi website</a></td>
- </tr>
- <tr>
- <td>VoiceHoc</td>
- <td>VoiceHoc is a platform for running out-of-the-box SIP-based VoIP applications transparently in Mobile Ad Hoc Networks (MANETs) and heterogneous Internet-connected MANETs. VoiceHoc adopts a fully decentralized SIP infrastructure which makes use of D-SLP, an efficient service discovery mechanism in MANETs. D-SLP provides a regular SLP interface over TCP and UDP for service discovery, but exploits the underlying MANET routing protocol to piggyback the service information during the route setup. Mostly, the problem with these systems is that they are routing dependent. The very benefit of D-SLP however, is that it allows handlers for specific MANET routing protocols to be loaded like plugins. <br/> (Current research project of Patrick Stuedi, ETH Zurich)</td>
- <td></td>
- </tr>
- <tr>
- <td>Eclipse ECF</td>
- <td>The Eclipse Communication Framework (ECF) uses jSLP as a provider for the Discovery API.</td>
- <td>http://www.eclipse.org/ecf</td>
- </tr>
- </table>
- </p>
-
- <p>
- If you use jSLP in your project, please let us know and send an <a href="mailto:rjan@users.sourceforge.net">email</a>.
- </p>
- </section>
-</body>
-</document>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<document>
+ <properties>
+ <title>jSLP - Java SLP (Service Location Protocol) Implementation. Projects Using jSLP</title>
+ <author email="rellermeyer_AT_inf.ethz.ch">Jan S. Rellermeyer</author>
+ </properties>
+
+ <meta name="keyword" content="Java, SLP, slp, Service Location Protocol, jSLP, jslp, OSGi, projects using, flowSGi, collaborative, middleware"/>
+ <meta name="description" content="jSLP is a pure Java implementation of RFC 2608 (SLP, Service Location Protocol, Version 2) with a RFC 2614 style API. It can be both SLP UserAgent (UA) and ServiceAgent (SA). jSLP-OSGi integrates SLP with OSGi (Open Service Gateway Initiative). The following projects are using jSLP:"/>
+ <meta http-equiv="cache-control" content="no-cache"/>
+ <meta http-equiv="pragma" content="no-cache"/>
+ <meta http-equiv="robots" content="index, follow"/>
+
+<body>
+ <section name="Projects using jSLP">
+ <p>
+ <table>
+ <tr>
+ <th>Project</th>
+ <th>Description</th>
+ <th>Link</th>
+ </tr>
+ <tr>
+ <td>Adaptec iSCSI Management</td>
+ <td>Adaptec is in the storage management business. We have a storage management configuration utility based on a client/server model which is implemented in Java. As such it is portable to all of the OS platforms we support. We are developing an auto discovery feature to clients to automatically discover servers. Since iSCSI already uses SLP and we support a great many iSCSI devices, it seemed like a good idea to at least explore the idea of basing the auto discovery feature on SLP using jslp. Presently the auto discovery feature (using jslp) is being exercised by a network of several dozen servers.</td>
+ <td><a href="http://www.adaptec.com">Adaptec</a></td>
+ </tr>
+ <tr>
+ <td>R-OSGi</td>
+ <td>Remote service extension for OSGi</td>
+ <td><a href="http://sourceforge.net/projects/r-osgi">R-OSGi website</a></td>
+ </tr>
+ <tr>
+ <td>flowSGi</td>
+ <td>Collaborative middleware for mobile devices based on OSGi</td>
+ <td><a href="http://flowsgi.inf.ethz.ch">flowSGi website</a></td>
+ </tr>
+ <tr>
+ <td>VoiceHoc</td>
+ <td>VoiceHoc is a platform for running out-of-the-box SIP-based VoIP applications transparently in Mobile Ad Hoc Networks (MANETs) and heterogneous Internet-connected MANETs. VoiceHoc adopts a fully decentralized SIP infrastructure which makes use of D-SLP, an efficient service discovery mechanism in MANETs. D-SLP provides a regular SLP interface over TCP and UDP for service discovery, but exploits the underlying MANET routing protocol to piggyback the service information during the route setup. Mostly, the problem with these systems is that they are routing dependent. The very benefit of D-SLP however, is that it allows handlers for specific MANET routing protocols to be loaded like plugins. <br/> (Current research project of Patrick Stuedi, ETH Zurich)</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>Eclipse ECF</td>
+ <td>The Eclipse Communication Framework (ECF) uses jSLP as a provider for the Discovery API.</td>
+ <td>http://www.eclipse.org/ecf</td>
+ </tr>
+ </table>
+ </p>
+
+ <p>
+ If you use jSLP in your project, please let us know and send an <a href="mailto:rjan@users.sourceforge.net">email</a>.
+ </p>
+ </section>
+</body>
+</document>
diff --git a/protocols/bundles/org.eclipse.ecf.protocol.bittorrent/.settings/org.eclipse.jdt.ui.prefs b/protocols/bundles/org.eclipse.ecf.protocol.bittorrent/.settings/org.eclipse.jdt.ui.prefs
index b29c172b9..a64600f64 100644
--- a/protocols/bundles/org.eclipse.ecf.protocol.bittorrent/.settings/org.eclipse.jdt.ui.prefs
+++ b/protocols/bundles/org.eclipse.ecf.protocol.bittorrent/.settings/org.eclipse.jdt.ui.prefs
@@ -1,3 +1,3 @@
-#Fri May 19 10:52:32 EDT 2006
-eclipse.preferences.version=1
-internal.default.compliance=default
+#Fri May 19 10:52:32 EDT 2006
+eclipse.preferences.version=1
+internal.default.compliance=default
diff --git a/protocols/bundles/org.eclipse.ecf.protocol.bittorrent/about.html b/protocols/bundles/org.eclipse.ecf.protocol.bittorrent/about.html
index 8f7767892..2779fc4f6 100644
--- a/protocols/bundles/org.eclipse.ecf.protocol.bittorrent/about.html
+++ b/protocols/bundles/org.eclipse.ecf.protocol.bittorrent/about.html
@@ -1,29 +1,29 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>June 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
-
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 2, 2006</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
+
diff --git a/protocols/bundles/org.eclipse.ecf.protocol.msn/.classpath b/protocols/bundles/org.eclipse.ecf.protocol.msn/.classpath
index d62b365d0..6f3b481ac 100644
--- a/protocols/bundles/org.eclipse.ecf.protocol.msn/.classpath
+++ b/protocols/bundles/org.eclipse.ecf.protocol.msn/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/CDC-1.1%Foundation-1.1"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/protocols/bundles/org.eclipse.ecf.protocol.msn/.settings/org.eclipse.jdt.core.prefs b/protocols/bundles/org.eclipse.ecf.protocol.msn/.settings/org.eclipse.jdt.core.prefs
index 091d8bfa1..81cc60651 100644
--- a/protocols/bundles/org.eclipse.ecf.protocol.msn/.settings/org.eclipse.jdt.core.prefs
+++ b/protocols/bundles/org.eclipse.ecf.protocol.msn/.settings/org.eclipse.jdt.core.prefs
@@ -1,349 +1,349 @@
-#Fri Oct 15 17:07:16 PDT 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=ignore
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=error
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
+#Fri Oct 15 17:07:16 PDT 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.builder.cleanOutputFolder=clean
+org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.invalidClasspath=abort
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
+org.eclipse.jdt.core.circularClasspath=error
+org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
+org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.maxProblemPerUnit=1000
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=ignore
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=error
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.3
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
+org.eclipse.jdt.core.formatter.comment.line_length=80
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=800
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.incompatibleJDKLevel=ignore
+org.eclipse.jdt.core.incompleteClasspath=error

Back to the top