Bug 4202: Migrate also toaster to use mdsal project 69/27369/1
authorVratko Polak <vrpolak@cisco.com>
Wed, 23 Sep 2015 17:33:28 +0000 (19:33 +0200)
committerVratko Polak <vrpolak@cisco.com>
Wed, 23 Sep 2015 17:33:28 +0000 (19:33 +0200)
This only changes dependency feature omitted from Change 26079,
perhaps Java edits are also needed to keep toaster working.

Also, git has somehow enforced change of line endings everywhere.

Change-Id: I810fba0ae7a55e123dd6f78ba23a7e77a7118b57
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
22 files changed:
features/mdsal/src/main/features/features.xml
karaf/opendaylight-karaf-resources/src/main/resources/bin/instance.bat
karaf/opendaylight-karaf-resources/src/main/resources/bin/karaf.bat
opendaylight/commons/checkstyle/src/main/resources/controller/checkstyle.xml
opendaylight/commons/concepts/src/main/java/org/opendaylight/controller/concepts/transform/Acceptor.java
opendaylight/commons/concepts/src/main/java/org/opendaylight/controller/concepts/transform/AggregateTransformer.java
opendaylight/commons/concepts/src/main/java/org/opendaylight/controller/concepts/transform/CompositeClassBasedTransformer.java
opendaylight/commons/concepts/src/main/java/org/opendaylight/controller/concepts/transform/CompositeConditionalTransformer.java
opendaylight/commons/concepts/src/main/java/org/opendaylight/controller/concepts/transform/InputClassBasedTransformer.java
opendaylight/commons/concepts/src/main/java/org/opendaylight/controller/concepts/transform/RuleBasedTransformer.java
opendaylight/commons/concepts/src/main/java/org/opendaylight/controller/concepts/transform/SimpleConditionalTransformer.java
opendaylight/commons/concepts/src/main/java/org/opendaylight/controller/concepts/transform/Transformer.java
opendaylight/commons/liblldp/src/test/resources/log4j.xml
opendaylight/md-sal/messagebus-config/pom.xml
opendaylight/md-sal/messagebus-impl/pom.xml
opendaylight/md-sal/messagebus-util/pom.xml
opendaylight/md-sal/sal-dom-config/src/main/yang/opendaylight-md-sal-common.yang
opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/BrokerModule.java
opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/data/package-info.java
opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/sal/core/spi/package-info.java
opendaylight/md-sal/sal-dom-xsql-config/pom.xml
opendaylight/md-sal/sal-karaf-xsql/pom.xml

index dfe39c4..269eddd 100644 (file)
@@ -53,7 +53,7 @@
     </feature>
     <feature name='odl-toaster' version='${project.version}' description="OpenDaylight :: Toaster">
         <feature version='${yangtools.version}'>odl-yangtools-common</feature>
-        <feature version='${yangtools.version}'>odl-yangtools-binding</feature>
+        <feature version='${mdsal.version}'>odl-mdsal-binding-runtime</feature>
         <feature version='${project.version}'>odl-mdsal-broker</feature>
         <bundle>mvn:org.opendaylight.controller.samples/sample-toaster/{{VERSION}}</bundle>
         <bundle>mvn:org.opendaylight.controller.samples/sample-toaster-consumer/{{VERSION}}</bundle>
index a9a5509..9759d2d 100644 (file)
-@echo off\r
-rem\r
-rem\r
-rem    Licensed to the Apache Software Foundation (ASF) under one or more\r
-rem    contributor license agreements.  See the NOTICE file distributed with\r
-rem    this work for additional information regarding copyright ownership.\r
-rem    The ASF licenses this file to You under the Apache License, Version 2.0\r
-rem    (the "License"); you may not use this file except in compliance with\r
-rem    the License.  You may obtain a copy of the License at\r
-rem\r
-rem       http://www.apache.org/licenses/LICENSE-2.0\r
-rem\r
-rem    Unless required by applicable law or agreed to in writing, software\r
-rem    distributed under the License is distributed on an "AS IS" BASIS,\r
-rem    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-rem    See the License for the specific language governing permissions and\r
-rem    limitations under the License.\r
-rem\r
-\r
-if not "%ECHO%" == "" echo %ECHO%\r
-\r
-setlocal\r
-set DIRNAME=%~dp0%\r
-set PROGNAME=%~nx0%\r
-set ARGS=%*\r
-\r
-rem Sourcing environment settings for karaf similar to tomcats setenv\r
-SET KARAF_SCRIPT="instance.bat"\r
-if exist "%DIRNAME%setenv.bat" (\r
-  call "%DIRNAME%setenv.bat"\r
-)\r
-\r
-rem Check console window title. Set to Karaf by default\r
-if not "%KARAF_TITLE%" == "" (\r
-    title %KARAF_TITLE%\r
-) else (\r
-    title Karaf\r
-)\r
-\r
-rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage\r
-if "%JAVA_MIN_MEM%" == "" (\r
-    set JAVA_MIN_MEM=128M\r
-)\r
-if "%JAVA_MAX_MEM%" == "" (\r
-    set JAVA_MAX_MEM=512M\r
-)\r
-\r
-goto BEGIN\r
-\r
-:warn\r
-    echo %PROGNAME%: %*\r
-goto :EOF\r
-\r
-:BEGIN\r
-\r
-rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\r
-\r
-if not "%KARAF_HOME%" == "" (\r
-    call :warn Ignoring predefined value for KARAF_HOME\r
-)\r
-set KARAF_HOME=%DIRNAME%..\r
-if not exist "%KARAF_HOME%" (\r
-    call :warn KARAF_HOME is not valid: "%KARAF_HOME%"\r
-    goto END\r
-)\r
-\r
-if not "%KARAF_BASE%" == "" (\r
-    if not exist "%KARAF_BASE%" (\r
-       call :warn KARAF_BASE is not valid: "%KARAF_BASE%"\r
-       goto END\r
-    )\r
-)\r
-if "%KARAF_BASE%" == "" (\r
-  set "KARAF_BASE=%KARAF_HOME%"\r
-)\r
-\r
-if not "%KARAF_DATA%" == "" (\r
-    if not exist "%KARAF_DATA%" (\r
-        call :warn KARAF_DATA is not valid: "%KARAF_DATA%"\r
-        goto END\r
-    )\r
-)\r
-if "%KARAF_DATA%" == "" (\r
-    set "KARAF_DATA=%KARAF_BASE%\data"\r
-)\r
-\r
-if not "%KARAF_ETC%" == "" (\r
-    if not exist "%KARAF_ETC%" (\r
-        call :warn KARAF_ETC is not valid: "%KARAF_ETC%"\r
-        goto END\r
-    )\r
-)\r
-if "%KARAF_ETC%" == "" (\r
-    set "KARAF_ETC=%KARAF_BASE%\etc"\r
-)\r
-\r
-set DEFAULT_JAVA_OPTS=\r
-if not "%ODL_JAVA_SECURITY_PROPERTIES%" == "" (\r
-    set DEFAULT_JAVA_OPTS=-Djava.security.properties="%ODL_JAVA_SECURITY_PROPERTIES%" %DEFAULT_JAVA_OPTS%\r
-) else (\r
-    set DEFAULT_JAVA_OPTS=-Djava.security.properties="%KARAF_ETC%\odl.java.security" %DEFAULT_JAVA_OPTS%\r
-)\r
-\r
-set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005\r
-\r
-rem Support for loading native libraries\r
-set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib\r
-\r
-rem Setup the Java Virtual Machine\r
-if not "%JAVA%" == "" goto :Check_JAVA_END\r
-    set JAVA=java\r
-    if "%JAVA_HOME%" == "" call :warn JAVA_HOME not set; results may vary\r
-    if not "%JAVA_HOME%" == "" set JAVA=%JAVA_HOME%\bin\java\r
-    if not exist "%JAVA_HOME%" (\r
-        call :warn JAVA_HOME is not valid: "%JAVA_HOME%"\r
-        goto END\r
-    )\r
-:Check_JAVA_END\r
-\r
-if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%\r
-\r
-if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END\r
-    set JAVA_OPTS="%JAVA_OPTS% %EXTRA_JAVA_OPTS%"\r
-:KARAF_EXTRA_JAVA_OPTS_END\r
-\r
-if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END\r
-    rem Use the defaults if JAVA_DEBUG_OPTS was not set\r
-    if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%\r
-\r
-    set JAVA_OPTS="%JAVA_DEBUG_OPTS% %JAVA_OPTS%"\r
-    call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%\r
-:KARAF_DEBUG_END\r
-\r
-rem Setup the classpath\r
-pushd "%KARAF_HOME%\lib"\r
-for %%G in (karaf*.jar) do call:APPEND_TO_CLASSPATH %%G\r
-popd\r
-goto CLASSPATH_END\r
-\r
-: APPEND_TO_CLASSPATH\r
-set filename=%~1\r
-set suffix=%filename:~-4%\r
-if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\%filename%\r
-goto :EOF\r
-\r
-:CLASSPATH_END\r
-\r
-set CLASSPATH=%KARAF_HOME%\system\org\apache\karaf\instance\org.apache.karaf.instance.command\3.0.3\org.apache.karaf.instance.command-3.0.3.jar;%KARAF_HOME%\system\org\apache\karaf\instance\org.apache.karaf.instance.core\3.0.3\org.apache.karaf.instance.core-3.0.3.jar;%KARAF_HOME%\system\org\apache\karaf\shell\org.apache.karaf.shell.console\3.0.3\org.apache.karaf.shell.console-3.0.3.jar;%KARAF_HOME%\system\org\apache\karaf\shell\org.apache.karaf.shell.table\3.0.3\org.apache.karaf.shell.table-3.0.3.jar;%KARAF_HOME%\system\org\apache\aries\blueprint\org.apache.aries.blueprint.api\1.0.1\org.apache.aries.blueprint.api-1.0.1.jar;%KARAF_HOME%\system\org\apache\aries\blueprint\org.apache.aries.blueprint.core\1.4.2\org.apache.aries.blueprint.core-1.4.2.jar;%KARAF_HOME%\system\org\apache\aries\blueprint\org.apache.aries.blueprint.cm\1.0.5\org.apache.aries.blueprint.cm-1.0.5.jar;%KARAF_HOME%\system\org\ops4j\pax\logging\pax-logging-api\1.8.1\pax-logging-api-1.8.1.jar;%KARAF_HOME%\system\org\apache\felix\org.apache.felix.framework\4.2.1\org.apache.felix.framework-4.2.1.jar;%KARAF_HOME%\system\jline\jline\2.12\jline-2.12.jar;%CLASSPATH%\r
-\r
-:EXECUTE\r
-    if "%SHIFT%" == "true" SET ARGS=%2 %3 %4 %5 %6 %7 %8\r
-    if not "%SHIFT%" == "true" SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8\r
-    rem Execute the Java Virtual Machine\r
-    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% org.apache.karaf.instance.main.Execute %ARGS%\r
-\r
-rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\r
-\r
-:END\r
-\r
-endlocal\r
+@echo off
+rem
+rem
+rem    Licensed to the Apache Software Foundation (ASF) under one or more
+rem    contributor license agreements.  See the NOTICE file distributed with
+rem    this work for additional information regarding copyright ownership.
+rem    The ASF licenses this file to You under the Apache License, Version 2.0
+rem    (the "License"); you may not use this file except in compliance with
+rem    the License.  You may obtain a copy of the License at
+rem
+rem       http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem    Unless required by applicable law or agreed to in writing, software
+rem    distributed under the License is distributed on an "AS IS" BASIS,
+rem    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem    See the License for the specific language governing permissions and
+rem    limitations under the License.
+rem
+
+if not "%ECHO%" == "" echo %ECHO%
+
+setlocal
+set DIRNAME=%~dp0%
+set PROGNAME=%~nx0%
+set ARGS=%*
+
+rem Sourcing environment settings for karaf similar to tomcats setenv
+SET KARAF_SCRIPT="instance.bat"
+if exist "%DIRNAME%setenv.bat" (
+  call "%DIRNAME%setenv.bat"
+)
+
+rem Check console window title. Set to Karaf by default
+if not "%KARAF_TITLE%" == "" (
+    title %KARAF_TITLE%
+) else (
+    title Karaf
+)
+
+rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage
+if "%JAVA_MIN_MEM%" == "" (
+    set JAVA_MIN_MEM=128M
+)
+if "%JAVA_MAX_MEM%" == "" (
+    set JAVA_MAX_MEM=512M
+)
+
+goto BEGIN
+
+:warn
+    echo %PROGNAME%: %*
+goto :EOF
+
+:BEGIN
+
+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+if not "%KARAF_HOME%" == "" (
+    call :warn Ignoring predefined value for KARAF_HOME
+)
+set KARAF_HOME=%DIRNAME%..
+if not exist "%KARAF_HOME%" (
+    call :warn KARAF_HOME is not valid: "%KARAF_HOME%"
+    goto END
+)
+
+if not "%KARAF_BASE%" == "" (
+    if not exist "%KARAF_BASE%" (
+       call :warn KARAF_BASE is not valid: "%KARAF_BASE%"
+       goto END
+    )
+)
+if "%KARAF_BASE%" == "" (
+  set "KARAF_BASE=%KARAF_HOME%"
+)
+
+if not "%KARAF_DATA%" == "" (
+    if not exist "%KARAF_DATA%" (
+        call :warn KARAF_DATA is not valid: "%KARAF_DATA%"
+        goto END
+    )
+)
+if "%KARAF_DATA%" == "" (
+    set "KARAF_DATA=%KARAF_BASE%\data"
+)
+
+if not "%KARAF_ETC%" == "" (
+    if not exist "%KARAF_ETC%" (
+        call :warn KARAF_ETC is not valid: "%KARAF_ETC%"
+        goto END
+    )
+)
+if "%KARAF_ETC%" == "" (
+    set "KARAF_ETC=%KARAF_BASE%\etc"
+)
+
+set DEFAULT_JAVA_OPTS=
+if not "%ODL_JAVA_SECURITY_PROPERTIES%" == "" (
+    set DEFAULT_JAVA_OPTS=-Djava.security.properties="%ODL_JAVA_SECURITY_PROPERTIES%" %DEFAULT_JAVA_OPTS%
+) else (
+    set DEFAULT_JAVA_OPTS=-Djava.security.properties="%KARAF_ETC%\odl.java.security" %DEFAULT_JAVA_OPTS%
+)
+
+set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
+
+rem Support for loading native libraries
+set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib
+
+rem Setup the Java Virtual Machine
+if not "%JAVA%" == "" goto :Check_JAVA_END
+    set JAVA=java
+    if "%JAVA_HOME%" == "" call :warn JAVA_HOME not set; results may vary
+    if not "%JAVA_HOME%" == "" set JAVA=%JAVA_HOME%\bin\java
+    if not exist "%JAVA_HOME%" (
+        call :warn JAVA_HOME is not valid: "%JAVA_HOME%"
+        goto END
+    )
+:Check_JAVA_END
+
+if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%
+
+if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END
+    set JAVA_OPTS="%JAVA_OPTS% %EXTRA_JAVA_OPTS%"
+:KARAF_EXTRA_JAVA_OPTS_END
+
+if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END
+    rem Use the defaults if JAVA_DEBUG_OPTS was not set
+    if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
+
+    set JAVA_OPTS="%JAVA_DEBUG_OPTS% %JAVA_OPTS%"
+    call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%
+:KARAF_DEBUG_END
+
+rem Setup the classpath
+pushd "%KARAF_HOME%\lib"
+for %%G in (karaf*.jar) do call:APPEND_TO_CLASSPATH %%G
+popd
+goto CLASSPATH_END
+
+: APPEND_TO_CLASSPATH
+set filename=%~1
+set suffix=%filename:~-4%
+if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\%filename%
+goto :EOF
+
+:CLASSPATH_END
+
+set CLASSPATH=%KARAF_HOME%\system\org\apache\karaf\instance\org.apache.karaf.instance.command\3.0.3\org.apache.karaf.instance.command-3.0.3.jar;%KARAF_HOME%\system\org\apache\karaf\instance\org.apache.karaf.instance.core\3.0.3\org.apache.karaf.instance.core-3.0.3.jar;%KARAF_HOME%\system\org\apache\karaf\shell\org.apache.karaf.shell.console\3.0.3\org.apache.karaf.shell.console-3.0.3.jar;%KARAF_HOME%\system\org\apache\karaf\shell\org.apache.karaf.shell.table\3.0.3\org.apache.karaf.shell.table-3.0.3.jar;%KARAF_HOME%\system\org\apache\aries\blueprint\org.apache.aries.blueprint.api\1.0.1\org.apache.aries.blueprint.api-1.0.1.jar;%KARAF_HOME%\system\org\apache\aries\blueprint\org.apache.aries.blueprint.core\1.4.2\org.apache.aries.blueprint.core-1.4.2.jar;%KARAF_HOME%\system\org\apache\aries\blueprint\org.apache.aries.blueprint.cm\1.0.5\org.apache.aries.blueprint.cm-1.0.5.jar;%KARAF_HOME%\system\org\ops4j\pax\logging\pax-logging-api\1.8.1\pax-logging-api-1.8.1.jar;%KARAF_HOME%\system\org\apache\felix\org.apache.felix.framework\4.2.1\org.apache.felix.framework-4.2.1.jar;%KARAF_HOME%\system\jline\jline\2.12\jline-2.12.jar;%CLASSPATH%
+
+:EXECUTE
+    if "%SHIFT%" == "true" SET ARGS=%2 %3 %4 %5 %6 %7 %8
+    if not "%SHIFT%" == "true" SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
+    rem Execute the Java Virtual Machine
+    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% org.apache.karaf.instance.main.Execute %ARGS%
+
+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+:END
+
+endlocal
index a5c254a..3d7ac2d 100644 (file)
-@echo off\r
-rem\r
-rem\r
-rem    Licensed to the Apache Software Foundation (ASF) under one or more\r
-rem    contributor license agreements.  See the NOTICE file distributed with\r
-rem    this work for additional information regarding copyright ownership.\r
-rem    The ASF licenses this file to You under the Apache License, Version 2.0\r
-rem    (the "License"); you may not use this file except in compliance with\r
-rem    the License.  You may obtain a copy of the License at\r
-rem\r
-rem       http://www.apache.org/licenses/LICENSE-2.0\r
-rem\r
-rem    Unless required by applicable law or agreed to in writing, software\r
-rem    distributed under the License is distributed on an "AS IS" BASIS,\r
-rem    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-rem    See the License for the specific language governing permissions and\r
-rem    limitations under the License.\r
-rem\r
-\r
-if not "%ECHO%" == "" echo %ECHO%\r
-\r
-setlocal\r
-set DIRNAME=%~dp0%\r
-set PROGNAME=%~nx0%\r
-set ARGS=%*\r
-\r
-rem Sourcing environment settings for karaf similar to tomcats setenv\r
-SET KARAF_SCRIPT="karaf.bat"\r
-if exist "%DIRNAME%setenv.bat" (\r
-  call "%DIRNAME%setenv.bat"\r
-)\r
-\r
-rem Check console window title. Set to Karaf by default\r
-if not "%KARAF_TITLE%" == "" (\r
-    title %KARAF_TITLE%\r
-) else (\r
-    title Karaf\r
-)\r
-\r
-rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage\r
-if "%JAVA_MIN_MEM%" == "" (\r
-    set JAVA_MIN_MEM=128M\r
-)\r
-if "%JAVA_MAX_MEM%" == "" (\r
-    set JAVA_MAX_MEM=512M\r
-)\r
-\r
-goto BEGIN\r
-\r
-:warn\r
-    echo %PROGNAME%: %*\r
-goto :EOF\r
-\r
-:BEGIN\r
-\r
-rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\r
-\r
-if not "%KARAF_HOME%" == "" (\r
-    call :warn Ignoring predefined value for KARAF_HOME\r
-)\r
-set KARAF_HOME=%DIRNAME%..\r
-if not exist "%KARAF_HOME%" (\r
-    call :warn KARAF_HOME is not valid: "%KARAF_HOME%"\r
-    goto END\r
-)\r
-\r
-if not "%KARAF_BASE%" == "" (\r
-    if not exist "%KARAF_BASE%" (\r
-       call :warn KARAF_BASE is not valid: "%KARAF_BASE%"\r
-       goto END\r
-    )\r
-)\r
-if "%KARAF_BASE%" == "" (\r
-  set "KARAF_BASE=%KARAF_HOME%"\r
-)\r
-\r
-if not "%KARAF_DATA%" == "" (\r
-    if not exist "%KARAF_DATA%" (\r
-        call :warn KARAF_DATA is not valid: "%KARAF_DATA%"\r
-        goto END\r
-    )\r
-)\r
-if "%KARAF_DATA%" == "" (\r
-    set "KARAF_DATA=%KARAF_BASE%\data"\r
-)\r
-\r
-if not "%KARAF_ETC%" == "" (\r
-    if not exist "%KARAF_ETC%" (\r
-        call :warn KARAF_ETC is not valid: "%KARAF_ETC%"\r
-        goto END\r
-    )\r
-)\r
-if "%KARAF_ETC%" == "" (\r
-    set "KARAF_ETC=%KARAF_BASE%\etc"\r
-)\r
-\r
-set LOCAL_CLASSPATH=%CLASSPATH%\r
-set JAVA_MODE=-server\r
-\r
-set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf\r
-set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005\r
-\r
-if "%LOCAL_CLASSPATH%" == "" goto :KARAF_CLASSPATH_EMPTY\r
-    set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf\r
-    goto :KARAF_CLASSPATH_END\r
-:KARAF_CLASSPATH_EMPTY\r
-    set CLASSPATH=%KARAF_BASE%\conf\r
-:KARAF_CLASSPATH_END\r
-\r
-rem Setup Karaf Home\r
-if exist "%KARAF_HOME%\conf\karaf-rc.cmd" call %KARAF_HOME%\conf\karaf-rc.cmd\r
-if exist "%HOME%\karaf-rc.cmd" call %HOME%\karaf-rc.cmd\r
-\r
-rem Support for loading native libraries\r
-set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib\r
-\r
-rem Setup the Java Virtual Machine\r
-if not "%JAVA%" == "" goto :Check_JAVA_END\r
-    if not "%JAVA_HOME%" == "" goto :TryJDKEnd\r
-        call :warn JAVA_HOME not set; results may vary\r
-:TryJRE\r
-    start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"\r
-    if not exist __reg1.txt goto :TryJDK\r
-    type __reg1.txt | find "CurrentVersion" > __reg2.txt\r
-    if errorlevel 1 goto :TryJDK\r
-    for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x\r
-    if errorlevel 1 goto :TryJDK\r
-    set JavaTemp=%JavaTemp%##\r
-    set JavaTemp=%JavaTemp:                ##=##%\r
-    set JavaTemp=%JavaTemp:        ##=##%\r
-    set JavaTemp=%JavaTemp:    ##=##%\r
-    set JavaTemp=%JavaTemp:  ##=##%\r
-    set JavaTemp=%JavaTemp: ##=##%\r
-    set JavaTemp=%JavaTemp:##=%\r
-    del __reg1.txt\r
-    del __reg2.txt\r
-    start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\%JavaTemp%"\r
-    if not exist __reg1.txt goto :TryJDK\r
-    type __reg1.txt | find "JavaHome" > __reg2.txt\r
-    if errorlevel 1 goto :TryJDK\r
-    for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x\r
-    if errorlevel 1 goto :TryJDK\r
-    del __reg1.txt\r
-    del __reg2.txt\r
-    goto TryJDKEnd\r
-:TryJDK\r
-    start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"\r
-    if not exist __reg1.txt (\r
-        goto TryRegJRE\r
-    )\r
-    type __reg1.txt | find "CurrentVersion" > __reg2.txt\r
-    if errorlevel 1 (\r
-        goto TryRegJRE\r
-    )\r
-    for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x\r
-    if errorlevel 1 (\r
-        goto TryRegJRE\r
-    )\r
-    set JavaTemp=%JavaTemp%##\r
-    set JavaTemp=%JavaTemp:                ##=##%\r
-    set JavaTemp=%JavaTemp:        ##=##%\r
-    set JavaTemp=%JavaTemp:    ##=##%\r
-    set JavaTemp=%JavaTemp:  ##=##%\r
-    set JavaTemp=%JavaTemp: ##=##%\r
-    set JavaTemp=%JavaTemp:##=%\r
-    del __reg1.txt\r
-    del __reg2.txt\r
-    start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\%JavaTemp%"\r
-    if not exist __reg1.txt (\r
-        goto TryRegJRE\r
-    )\r
-    type __reg1.txt | find "JavaHome" > __reg2.txt\r
-    if errorlevel 1 (\r
-        goto TryRegJRE\r
-    )\r
-    for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x\r
-    if errorlevel 1 (\r
-        goto TryRegJRE\r
-    )\r
-    del __reg1.txt\r
-    del __reg2.txt\r
-:TryRegJRE\r
-    rem try getting the JAVA_HOME from registry\r
-    FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion`) DO (\r
-       set JAVA_VERSION=%%A\r
-    )\r
-    FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%JAVA_VERSION%" /v JavaHome`) DO (\r
-       set JAVA_HOME=%%A %%B\r
-    )\r
-    if not exist "%JAVA_HOME%" (\r
-       goto TryRegJDK\r
-       )\r
-       goto TryJDKEnd\r
-:TryRegJDK\r
-    rem try getting the JAVA_HOME from registry\r
-    FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit" /v CurrentVersion`) DO (\r
-       set JAVA_VERSION=%%A\r
-    )\r
-    FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit\%JAVA_VERSION%" /v JavaHome`) DO (\r
-       set JAVA_HOME=%%A %%B\r
-    )\r
-    if not exist "%JAVA_HOME%" (\r
-       call :warn Unable to retrieve JAVA_HOME from Registry\r
-    )\r
-       goto TryJDKEnd\r
-:TryJDKEnd\r
-    if not exist "%JAVA_HOME%" (\r
-        call :warn JAVA_HOME is not valid: "%JAVA_HOME%"\r
-        goto END\r
-    )\r
-    set JAVA=%JAVA_HOME%\bin\java\r
-:Check_JAVA_END\r
-\r
-if not exist "%JAVA_HOME%\bin\server\jvm.dll" (\r
-    if not exist "%JAVA_HOME%\jre\bin\server\jvm.dll" (\r
-        echo WARNING: Running Karaf on a Java HotSpot Client VM because server-mode is not available.\r
-        echo Install Java Developer Kit to fix this.\r
-        echo For more details see http://java.sun.com/products/hotspot/whitepaper.html#client\r
-        set JAVA_MODE=-client\r
-    )\r
-)\r
-\r
-set DEFAULT_JAVA_OPTS=%JAVA_MODE% -Xms%JAVA_MIN_MEM% -Xmx%JAVA_MAX_MEM% -Dderby.system.home="%KARAF_DATA%\derby" -Dderby.storage.fileSyncTransactionLog=true -Dcom.sun.management.jmxremote  -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass\r
-\r
-if not "%ODL_JAVA_SECURITY_PROPERTIES%" == "" (\r
-    set DEFAULT_JAVA_OPTS=-Djava.security.properties="%ODL_JAVA_SECURITY_PROPERTIES%" %DEFAULT_JAVA_OPTS%\r
-) else (\r
-    set DEFAULT_JAVA_OPTS=-Djava.security.properties="%KARAF_ETC%\odl.java.security" %DEFAULT_JAVA_OPTS%\r
-)\r
-\r
-rem Check some easily accessible MIN/MAX params for JVM mem usage\r
-if not "%JAVA_PERM_MEM%" == "" (\r
-    set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:PermSize=%JAVA_PERM_MEM%\r
-)\r
-if not "%JAVA_MAX_PERM_MEM%" == "" (\r
-    set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:MaxPermSize=%JAVA_MAX_PERM_MEM%\r
-)\r
-\r
-if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%\r
-\r
-if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END\r
-    set JAVA_OPTS=%JAVA_OPTS% %EXTRA_JAVA_OPTS%\r
-:KARAF_EXTRA_JAVA_OPTS_END\r
-\r
-if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END\r
-    if "%1" == "stop" goto :KARAF_DEBUG_END\r
-    if "%1" == "client" goto :KARAF_DEBUG_END\r
-    rem Use the defaults if JAVA_DEBUG_OPTS was not set\r
-    if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%\r
-\r
-    set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%\r
-    call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%\r
-:KARAF_DEBUG_END\r
-\r
-if "%KARAF_PROFILER%" == "" goto :KARAF_PROFILER_END\r
-    set KARAF_PROFILER_SCRIPT=%KARAF_HOME%\conf\profiler\%KARAF_PROFILER%.cmd\r
-\r
-    if exist "%KARAF_PROFILER_SCRIPT%" goto :KARAF_PROFILER_END\r
-    call :warn Missing configuration for profiler '%KARAF_PROFILER%': %KARAF_PROFILER_SCRIPT%\r
-    goto END\r
-:KARAF_PROFILER_END\r
-\r
-rem Setup the classpath\r
-pushd "%KARAF_HOME%\lib"\r
-for %%G in (karaf*.jar) do call:APPEND_TO_CLASSPATH %%G\r
-popd\r
-goto CLASSPATH_END\r
-\r
-: APPEND_TO_CLASSPATH\r
-set filename=%~1\r
-set suffix=%filename:~-4%\r
-if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\%filename%\r
-goto :EOF\r
-\r
-:CLASSPATH_END\r
-\r
-rem Execute the JVM or the load the profiler\r
-if "%KARAF_PROFILER%" == "" goto :RUN\r
-    rem Execute the profiler if it has been configured\r
-    call :warn Loading profiler script: %KARAF_PROFILER_SCRIPT%\r
-    call %KARAF_PROFILER_SCRIPT%\r
-\r
-:RUN\r
-    SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true\r
-    SET MAIN=org.apache.karaf.main.Main\r
-    SET SHIFT=false\r
-\r
-:RUN_LOOP\r
-    if "%1" == "stop" goto :EXECUTE_STOP\r
-    if "%1" == "status" goto :EXECUTE_STATUS\r
-    if "%1" == "console" goto :EXECUTE_CONSOLE\r
-    if "%1" == "server" goto :EXECUTE_SERVER\r
-    if "%1" == "client" goto :EXECUTE_CLIENT\r
-    if "%1" == "clean" goto :EXECUTE_CLEAN\r
-    if "%1" == "debug" goto :EXECUTE_DEBUG\r
-    goto :EXECUTE\r
-\r
-:EXECUTE_STOP\r
-    SET MAIN=org.apache.karaf.main.Stop\r
-    shift\r
-    goto :RUN_LOOP\r
-\r
-:EXECUTE_STATUS\r
-    SET MAIN=org.apache.karaf.main.Status\r
-    shift\r
-    goto :RUN_LOOP\r
-\r
-:EXECUTE_CONSOLE\r
-    shift\r
-    goto :RUN_LOOP\r
-\r
-:EXECUTE_SERVER\r
-    SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true\r
-    shift\r
-    goto :RUN_LOOP\r
-\r
-:EXECUTE_CLIENT\r
-    SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false\r
-    shift\r
-    goto :RUN_LOOP\r
-\r
-:EXECUTE_CLEAN\r
-    rmdir /S /Q "%KARAF_DATA%"\r
-    shift\r
-    goto :RUN_LOOP\r
-\r
-:EXECUTE_DEBUG\r
-    if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%\r
-    set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%\r
-    shift\r
-    goto :RUN_LOOP\r
-\r
-:EXECUTE\r
-    SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8\r
-    rem Execute the Java Virtual Machine\r
-    cd "%KARAF_BASE%"\r
-    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed" -Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Dkaraf.data="%KARAF_DATA%" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% %MAIN% %ARGS%\r
-\r
-rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\r
-\r
-:END\r
-\r
-endlocal\r
-\r
-if not "%PAUSE%" == "" pause\r
-\r
-:END_NO_PAUSE\r
+@echo off
+rem
+rem
+rem    Licensed to the Apache Software Foundation (ASF) under one or more
+rem    contributor license agreements.  See the NOTICE file distributed with
+rem    this work for additional information regarding copyright ownership.
+rem    The ASF licenses this file to You under the Apache License, Version 2.0
+rem    (the "License"); you may not use this file except in compliance with
+rem    the License.  You may obtain a copy of the License at
+rem
+rem       http://www.apache.org/licenses/LICENSE-2.0
+rem
+rem    Unless required by applicable law or agreed to in writing, software
+rem    distributed under the License is distributed on an "AS IS" BASIS,
+rem    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+rem    See the License for the specific language governing permissions and
+rem    limitations under the License.
+rem
+
+if not "%ECHO%" == "" echo %ECHO%
+
+setlocal
+set DIRNAME=%~dp0%
+set PROGNAME=%~nx0%
+set ARGS=%*
+
+rem Sourcing environment settings for karaf similar to tomcats setenv
+SET KARAF_SCRIPT="karaf.bat"
+if exist "%DIRNAME%setenv.bat" (
+  call "%DIRNAME%setenv.bat"
+)
+
+rem Check console window title. Set to Karaf by default
+if not "%KARAF_TITLE%" == "" (
+    title %KARAF_TITLE%
+) else (
+    title Karaf
+)
+
+rem Check/Set up some easily accessible MIN/MAX params for JVM mem usage
+if "%JAVA_MIN_MEM%" == "" (
+    set JAVA_MIN_MEM=128M
+)
+if "%JAVA_MAX_MEM%" == "" (
+    set JAVA_MAX_MEM=512M
+)
+
+goto BEGIN
+
+:warn
+    echo %PROGNAME%: %*
+goto :EOF
+
+:BEGIN
+
+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+if not "%KARAF_HOME%" == "" (
+    call :warn Ignoring predefined value for KARAF_HOME
+)
+set KARAF_HOME=%DIRNAME%..
+if not exist "%KARAF_HOME%" (
+    call :warn KARAF_HOME is not valid: "%KARAF_HOME%"
+    goto END
+)
+
+if not "%KARAF_BASE%" == "" (
+    if not exist "%KARAF_BASE%" (
+       call :warn KARAF_BASE is not valid: "%KARAF_BASE%"
+       goto END
+    )
+)
+if "%KARAF_BASE%" == "" (
+  set "KARAF_BASE=%KARAF_HOME%"
+)
+
+if not "%KARAF_DATA%" == "" (
+    if not exist "%KARAF_DATA%" (
+        call :warn KARAF_DATA is not valid: "%KARAF_DATA%"
+        goto END
+    )
+)
+if "%KARAF_DATA%" == "" (
+    set "KARAF_DATA=%KARAF_BASE%\data"
+)
+
+if not "%KARAF_ETC%" == "" (
+    if not exist "%KARAF_ETC%" (
+        call :warn KARAF_ETC is not valid: "%KARAF_ETC%"
+        goto END
+    )
+)
+if "%KARAF_ETC%" == "" (
+    set "KARAF_ETC=%KARAF_BASE%\etc"
+)
+
+set LOCAL_CLASSPATH=%CLASSPATH%
+set JAVA_MODE=-server
+
+set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
+set DEFAULT_JAVA_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
+
+if "%LOCAL_CLASSPATH%" == "" goto :KARAF_CLASSPATH_EMPTY
+    set CLASSPATH=%LOCAL_CLASSPATH%;%KARAF_BASE%\conf
+    goto :KARAF_CLASSPATH_END
+:KARAF_CLASSPATH_EMPTY
+    set CLASSPATH=%KARAF_BASE%\conf
+:KARAF_CLASSPATH_END
+
+rem Setup Karaf Home
+if exist "%KARAF_HOME%\conf\karaf-rc.cmd" call %KARAF_HOME%\conf\karaf-rc.cmd
+if exist "%HOME%\karaf-rc.cmd" call %HOME%\karaf-rc.cmd
+
+rem Support for loading native libraries
+set PATH=%PATH%;%KARAF_BASE%\lib;%KARAF_HOME%\lib
+
+rem Setup the Java Virtual Machine
+if not "%JAVA%" == "" goto :Check_JAVA_END
+    if not "%JAVA_HOME%" == "" goto :TryJDKEnd
+        call :warn JAVA_HOME not set; results may vary
+:TryJRE
+    start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"
+    if not exist __reg1.txt goto :TryJDK
+    type __reg1.txt | find "CurrentVersion" > __reg2.txt
+    if errorlevel 1 goto :TryJDK
+    for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x
+    if errorlevel 1 goto :TryJDK
+    set JavaTemp=%JavaTemp%##
+    set JavaTemp=%JavaTemp:                ##=##%
+    set JavaTemp=%JavaTemp:        ##=##%
+    set JavaTemp=%JavaTemp:    ##=##%
+    set JavaTemp=%JavaTemp:  ##=##%
+    set JavaTemp=%JavaTemp: ##=##%
+    set JavaTemp=%JavaTemp:##=%
+    del __reg1.txt
+    del __reg2.txt
+    start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\%JavaTemp%"
+    if not exist __reg1.txt goto :TryJDK
+    type __reg1.txt | find "JavaHome" > __reg2.txt
+    if errorlevel 1 goto :TryJDK
+    for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x
+    if errorlevel 1 goto :TryJDK
+    del __reg1.txt
+    del __reg2.txt
+    goto TryJDKEnd
+:TryJDK
+    start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
+    if not exist __reg1.txt (
+        goto TryRegJRE
+    )
+    type __reg1.txt | find "CurrentVersion" > __reg2.txt
+    if errorlevel 1 (
+        goto TryRegJRE
+    )
+    for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JavaTemp=%%~x
+    if errorlevel 1 (
+        goto TryRegJRE
+    )
+    set JavaTemp=%JavaTemp%##
+    set JavaTemp=%JavaTemp:                ##=##%
+    set JavaTemp=%JavaTemp:        ##=##%
+    set JavaTemp=%JavaTemp:    ##=##%
+    set JavaTemp=%JavaTemp:  ##=##%
+    set JavaTemp=%JavaTemp: ##=##%
+    set JavaTemp=%JavaTemp:##=%
+    del __reg1.txt
+    del __reg2.txt
+    start /w regedit /e __reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\%JavaTemp%"
+    if not exist __reg1.txt (
+        goto TryRegJRE
+    )
+    type __reg1.txt | find "JavaHome" > __reg2.txt
+    if errorlevel 1 (
+        goto TryRegJRE
+    )
+    for /f "tokens=2 delims==" %%x in (__reg2.txt) do set JAVA_HOME=%%~x
+    if errorlevel 1 (
+        goto TryRegJRE
+    )
+    del __reg1.txt
+    del __reg2.txt
+:TryRegJRE
+    rem try getting the JAVA_HOME from registry
+    FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion`) DO (
+       set JAVA_VERSION=%%A
+    )
+    FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%JAVA_VERSION%" /v JavaHome`) DO (
+       set JAVA_HOME=%%A %%B
+    )
+    if not exist "%JAVA_HOME%" (
+       goto TryRegJDK
+       )
+       goto TryJDKEnd
+:TryRegJDK
+    rem try getting the JAVA_HOME from registry
+    FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit" /v CurrentVersion`) DO (
+       set JAVA_VERSION=%%A
+    )
+    FOR /F "usebackq tokens=3*" %%A IN (`REG QUERY "HKLM\Software\JavaSoft\Java Development Kit\%JAVA_VERSION%" /v JavaHome`) DO (
+       set JAVA_HOME=%%A %%B
+    )
+    if not exist "%JAVA_HOME%" (
+       call :warn Unable to retrieve JAVA_HOME from Registry
+    )
+       goto TryJDKEnd
+:TryJDKEnd
+    if not exist "%JAVA_HOME%" (
+        call :warn JAVA_HOME is not valid: "%JAVA_HOME%"
+        goto END
+    )
+    set JAVA=%JAVA_HOME%\bin\java
+:Check_JAVA_END
+
+if not exist "%JAVA_HOME%\bin\server\jvm.dll" (
+    if not exist "%JAVA_HOME%\jre\bin\server\jvm.dll" (
+        echo WARNING: Running Karaf on a Java HotSpot Client VM because server-mode is not available.
+        echo Install Java Developer Kit to fix this.
+        echo For more details see http://java.sun.com/products/hotspot/whitepaper.html#client
+        set JAVA_MODE=-client
+    )
+)
+
+set DEFAULT_JAVA_OPTS=%JAVA_MODE% -Xms%JAVA_MIN_MEM% -Xmx%JAVA_MAX_MEM% -Dderby.system.home="%KARAF_DATA%\derby" -Dderby.storage.fileSyncTransactionLog=true -Dcom.sun.management.jmxremote  -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass
+
+if not "%ODL_JAVA_SECURITY_PROPERTIES%" == "" (
+    set DEFAULT_JAVA_OPTS=-Djava.security.properties="%ODL_JAVA_SECURITY_PROPERTIES%" %DEFAULT_JAVA_OPTS%
+) else (
+    set DEFAULT_JAVA_OPTS=-Djava.security.properties="%KARAF_ETC%\odl.java.security" %DEFAULT_JAVA_OPTS%
+)
+
+rem Check some easily accessible MIN/MAX params for JVM mem usage
+if not "%JAVA_PERM_MEM%" == "" (
+    set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:PermSize=%JAVA_PERM_MEM%
+)
+if not "%JAVA_MAX_PERM_MEM%" == "" (
+    set DEFAULT_JAVA_OPTS=%DEFAULT_JAVA_OPTS% -XX:MaxPermSize=%JAVA_MAX_PERM_MEM%
+)
+
+if "%JAVA_OPTS%" == "" set JAVA_OPTS=%DEFAULT_JAVA_OPTS%
+
+if "%EXTRA_JAVA_OPTS%" == "" goto :KARAF_EXTRA_JAVA_OPTS_END
+    set JAVA_OPTS=%JAVA_OPTS% %EXTRA_JAVA_OPTS%
+:KARAF_EXTRA_JAVA_OPTS_END
+
+if "%KARAF_DEBUG%" == "" goto :KARAF_DEBUG_END
+    if "%1" == "stop" goto :KARAF_DEBUG_END
+    if "%1" == "client" goto :KARAF_DEBUG_END
+    rem Use the defaults if JAVA_DEBUG_OPTS was not set
+    if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
+
+    set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%
+    call :warn Enabling Java debug options: %JAVA_DEBUG_OPTS%
+:KARAF_DEBUG_END
+
+if "%KARAF_PROFILER%" == "" goto :KARAF_PROFILER_END
+    set KARAF_PROFILER_SCRIPT=%KARAF_HOME%\conf\profiler\%KARAF_PROFILER%.cmd
+
+    if exist "%KARAF_PROFILER_SCRIPT%" goto :KARAF_PROFILER_END
+    call :warn Missing configuration for profiler '%KARAF_PROFILER%': %KARAF_PROFILER_SCRIPT%
+    goto END
+:KARAF_PROFILER_END
+
+rem Setup the classpath
+pushd "%KARAF_HOME%\lib"
+for %%G in (karaf*.jar) do call:APPEND_TO_CLASSPATH %%G
+popd
+goto CLASSPATH_END
+
+: APPEND_TO_CLASSPATH
+set filename=%~1
+set suffix=%filename:~-4%
+if %suffix% equ .jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\%filename%
+goto :EOF
+
+:CLASSPATH_END
+
+rem Execute the JVM or the load the profiler
+if "%KARAF_PROFILER%" == "" goto :RUN
+    rem Execute the profiler if it has been configured
+    call :warn Loading profiler script: %KARAF_PROFILER_SCRIPT%
+    call %KARAF_PROFILER_SCRIPT%
+
+:RUN
+    SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=true
+    SET MAIN=org.apache.karaf.main.Main
+    SET SHIFT=false
+
+:RUN_LOOP
+    if "%1" == "stop" goto :EXECUTE_STOP
+    if "%1" == "status" goto :EXECUTE_STATUS
+    if "%1" == "console" goto :EXECUTE_CONSOLE
+    if "%1" == "server" goto :EXECUTE_SERVER
+    if "%1" == "client" goto :EXECUTE_CLIENT
+    if "%1" == "clean" goto :EXECUTE_CLEAN
+    if "%1" == "debug" goto :EXECUTE_DEBUG
+    goto :EXECUTE
+
+:EXECUTE_STOP
+    SET MAIN=org.apache.karaf.main.Stop
+    shift
+    goto :RUN_LOOP
+
+:EXECUTE_STATUS
+    SET MAIN=org.apache.karaf.main.Status
+    shift
+    goto :RUN_LOOP
+
+:EXECUTE_CONSOLE
+    shift
+    goto :RUN_LOOP
+
+:EXECUTE_SERVER
+    SET OPTS=-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true
+    shift
+    goto :RUN_LOOP
+
+:EXECUTE_CLIENT
+    SET OPTS=-Dkaraf.startLocalConsole=true -Dkaraf.startRemoteShell=false
+    shift
+    goto :RUN_LOOP
+
+:EXECUTE_CLEAN
+    rmdir /S /Q "%KARAF_DATA%"
+    shift
+    goto :RUN_LOOP
+
+:EXECUTE_DEBUG
+    if "%JAVA_DEBUG_OPTS%" == "" set JAVA_DEBUG_OPTS=%DEFAULT_JAVA_DEBUG_OPTS%
+    set JAVA_OPTS=%JAVA_DEBUG_OPTS% %JAVA_OPTS%
+    shift
+    goto :RUN_LOOP
+
+:EXECUTE
+    SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
+    rem Execute the Java Virtual Machine
+    cd "%KARAF_BASE%"
+    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" -Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed" -Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext" -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" -Dkaraf.base="%KARAF_BASE%" -Dkaraf.etc="%KARAF_ETC%" -Djava.io.tmpdir="%KARAF_DATA%\tmp" -Dkaraf.data="%KARAF_DATA%" -Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" %KARAF_OPTS% %MAIN% %ARGS%
+
+rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
+:END
+
+endlocal
+
+if not "%PAUSE%" == "" pause
+
+:END_NO_PAUSE
index 2b7462a..78c38f5 100644 (file)
@@ -1,25 +1,25 @@
-<?xml version="1.0"?>\r
-<!DOCTYPE module PUBLIC\r
-    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"\r
-    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">\r
-\r
-<module name="Checker">\r
-    <module name="FileTabCharacter">\r
-        <property name="eachLine" value="true"/>\r
-    </module>\r
-\r
-    <module name="RegexpSingleline">\r
-        <!-- \s matches whitespace character, $ matches end of line. -->\r
-        <property name="format" value="\s+$"/>\r
-        <property name="message" value="Line has trailing spaces."/>\r
-    </module>\r
-    <module name="TreeWalker">\r
-       <module name="RedundantImport"/>\r
-       <module name="UnusedImports"/>\r
-       <module name="AvoidStarImport"/>\r
-       <module name="UpperEll"/>\r
-       <module name="EmptyStatement"/>\r
-       <module name="EqualsHashCode"/>\r
-    </module>\r
-\r
-</module>\r
+<?xml version="1.0"?>
+<!DOCTYPE module PUBLIC
+    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<module name="Checker">
+    <module name="FileTabCharacter">
+        <property name="eachLine" value="true"/>
+    </module>
+
+    <module name="RegexpSingleline">
+        <!-- \s matches whitespace character, $ matches end of line. -->
+        <property name="format" value="\s+$"/>
+        <property name="message" value="Line has trailing spaces."/>
+    </module>
+    <module name="TreeWalker">
+       <module name="RedundantImport"/>
+       <module name="UnusedImports"/>
+       <module name="AvoidStarImport"/>
+       <module name="UpperEll"/>
+       <module name="EmptyStatement"/>
+       <module name="EqualsHashCode"/>
+    </module>
+
+</module>
index 80986e5..7127f00 100644 (file)
@@ -1,19 +1,19 @@
-/*\r
- * Copyright (c) 2013, 2015 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.controller.concepts.transform;\r
-\r
-public interface Acceptor<I> {\r
-\r
-    /**\r
-     *\r
-     * @param input\r
-     * @return true if input is accepted.\r
-     */\r
-    boolean isAcceptable(I input);\r
-}\r
+/*
+ * Copyright (c) 2013, 2015 Cisco Systems, Inc. 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
+ */
+
+package org.opendaylight.controller.concepts.transform;
+
+public interface Acceptor<I> {
+
+    /**
+     *
+     * @param input
+     * @return true if input is accepted.
+     */
+    boolean isAcceptable(I input);
+}
index 061a57f..c89bf25 100644 (file)
@@ -1,22 +1,22 @@
-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.controller.concepts.transform;\r
-\r
-import java.util.Collection;\r
-/**\r
- *\r
- * @author Tony Tkacik\r
- *\r
- * @param <I>\r
- * @param <P>\r
- */\r
-public interface AggregateTransformer<I,P> extends Transformer<I,P> {\r
-\r
-    Collection<P> transformAll(Collection<? extends I> inputs);\r
-}\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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
+ */
+
+package org.opendaylight.controller.concepts.transform;
+
+import java.util.Collection;
+/**
+ *
+ * @author Tony Tkacik
+ *
+ * @param <I>
+ * @param <P>
+ */
+public interface AggregateTransformer<I,P> extends Transformer<I,P> {
+
+    Collection<P> transformAll(Collection<? extends I> inputs);
+}
index dae9499..2548c34 100644 (file)
-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.controller.concepts.transform;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Collection;\r
-import java.util.Map;\r
-import java.util.concurrent.ConcurrentHashMap;\r
-\r
-\r
-/**\r
- * Transformer which aggregates multiple implementations of\r
- * {@link InputClassBasedTransformer}.\r
- *\r
- * The transformation process is driven by {@link Class} of input. The selection\r
- * of used {@link InputClassBasedTransformer} is done by using the {@link Class}\r
- * of input as a key to select the transformer.\r
- *\r
- * This approach provides quick resolution of transformer, but does not support\r
- * registering a super type of input to provide transformation support for all\r
- * subclasses, one must register a new instance of transformer for each valid\r
- * input class.\r
- *\r
- * If you need more flexible selection of transformation consider using\r
- * {@link CompositeConditionalTransformer} which is slower but most flexible or\r
- * {@link RuleBasedTransformer} which provides declarative approach for\r
- * transformation.\r
- *\r
- * See {@link #transform(Object)} for more information about tranformation\r
- * process.\r
- *\r
- * @author Tony Tkacik <ttkacik@cisco.com>\r
- *\r
- * @param <I>\r
- *            Input super-type\r
- * @param <P>\r
- *            Product\r
- */\r
-public abstract class CompositeClassBasedTransformer<I, P> implements\r
-        InputClassBasedTransformer<I, I, P>,\r
-        AggregateTransformer<I, P> {\r
-\r
-    private Map<Class<? extends I>, InputClassBasedTransformer<I, ? extends I, P>> transformers = new ConcurrentHashMap<Class<? extends I>, InputClassBasedTransformer<I, ? extends I, P>>();\r
-\r
-    /**\r
-     * Transforms an input into instance of Product class.\r
-     *\r
-     * The final registered transformer is the one which match following\r
-     * condition:\r
-     *\r
-     * <code>input.getClass() == transformer.getInputClass()</code>\r
-     *\r
-     * This means that transformers are not resolved by class hierarchy, only\r
-     * selected based on final class of the input. If you need more flexible\r
-     * selection of transformation consider using\r
-     * {@link CompositeConditionalTransformer} which is slower but more\r
-     * flexible.\r
-     *\r
-     */\r
-    @Override\r
-    public P transform(I input) {\r
-        @SuppressWarnings("unchecked")\r
-        InputClassBasedTransformer<I, I, P> transformer = (InputClassBasedTransformer<I, I, P>) transformers\r
-                .get(input.getClass());\r
-        if (transformer == null)\r
-            throw new IllegalArgumentException("Transformation of: " + input\r
-                    + " is not supported");\r
-        return transformer.transform(input);\r
-    }\r
-\r
-    /**\r
-     * Registers a new transformer.\r
-     *\r
-     * The transformer is registered for class returned by\r
-     * {@link InputClassBasedTransformer#getInputClass()}. Only one transformer\r
-     * can be registered for particular input class.\r
-     *\r
-     */\r
-    public void addTransformer(\r
-            InputClassBasedTransformer<I, ? extends I, P> transformer)\r
-            throws IllegalStateException {\r
-        if (transformer == null)\r
-            throw new IllegalArgumentException("Transformer should not be null");\r
-        if (transformer.getInputClass() == null)\r
-            throw new IllegalArgumentException(\r
-                    "Transformer should specify input class.");\r
-        transformers.put(transformer.getInputClass(), transformer);\r
-    }\r
-\r
-    /**\r
-     * Removes an registered transformer.\r
-     *\r
-     * Note: Removal is currently unsupported.\r
-     *\r
-     * @param transformer\r
-     *            Tranformer to be removed.\r
-     * @throws IllegalArgumentException\r
-     *             If the provided transformer is null or is not registered.\r
-     */\r
-    public void removeTransformer(\r
-            InputClassBasedTransformer<I, ? extends I, P> transformer)\r
-            throws IllegalArgumentException {\r
-        throw new UnsupportedOperationException("Not implemented yet");\r
-    }\r
-\r
-    @Override\r
-    public Collection<P> transformAll(Collection<? extends I> inputs) {\r
-        Collection<P> ret = new ArrayList<P>();\r
-        for (I i : inputs) {\r
-            ret.add(transform(i));\r
-        }\r
-        return ret;\r
-    }\r
-\r
-}\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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
+ */
+
+package org.opendaylight.controller.concepts.transform;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+
+/**
+ * Transformer which aggregates multiple implementations of
+ * {@link InputClassBasedTransformer}.
+ *
+ * The transformation process is driven by {@link Class} of input. The selection
+ * of used {@link InputClassBasedTransformer} is done by using the {@link Class}
+ * of input as a key to select the transformer.
+ *
+ * This approach provides quick resolution of transformer, but does not support
+ * registering a super type of input to provide transformation support for all
+ * subclasses, one must register a new instance of transformer for each valid
+ * input class.
+ *
+ * If you need more flexible selection of transformation consider using
+ * {@link CompositeConditionalTransformer} which is slower but most flexible or
+ * {@link RuleBasedTransformer} which provides declarative approach for
+ * transformation.
+ *
+ * See {@link #transform(Object)} for more information about tranformation
+ * process.
+ *
+ * @author Tony Tkacik <ttkacik@cisco.com>
+ *
+ * @param <I>
+ *            Input super-type
+ * @param <P>
+ *            Product
+ */
+public abstract class CompositeClassBasedTransformer<I, P> implements
+        InputClassBasedTransformer<I, I, P>,
+        AggregateTransformer<I, P> {
+
+    private Map<Class<? extends I>, InputClassBasedTransformer<I, ? extends I, P>> transformers = new ConcurrentHashMap<Class<? extends I>, InputClassBasedTransformer<I, ? extends I, P>>();
+
+    /**
+     * Transforms an input into instance of Product class.
+     *
+     * The final registered transformer is the one which match following
+     * condition:
+     *
+     * <code>input.getClass() == transformer.getInputClass()</code>
+     *
+     * This means that transformers are not resolved by class hierarchy, only
+     * selected based on final class of the input. If you need more flexible
+     * selection of transformation consider using
+     * {@link CompositeConditionalTransformer} which is slower but more
+     * flexible.
+     *
+     */
+    @Override
+    public P transform(I input) {
+        @SuppressWarnings("unchecked")
+        InputClassBasedTransformer<I, I, P> transformer = (InputClassBasedTransformer<I, I, P>) transformers
+                .get(input.getClass());
+        if (transformer == null)
+            throw new IllegalArgumentException("Transformation of: " + input
+                    + " is not supported");
+        return transformer.transform(input);
+    }
+
+    /**
+     * Registers a new transformer.
+     *
+     * The transformer is registered for class returned by
+     * {@link InputClassBasedTransformer#getInputClass()}. Only one transformer
+     * can be registered for particular input class.
+     *
+     */
+    public void addTransformer(
+            InputClassBasedTransformer<I, ? extends I, P> transformer)
+            throws IllegalStateException {
+        if (transformer == null)
+            throw new IllegalArgumentException("Transformer should not be null");
+        if (transformer.getInputClass() == null)
+            throw new IllegalArgumentException(
+                    "Transformer should specify input class.");
+        transformers.put(transformer.getInputClass(), transformer);
+    }
+
+    /**
+     * Removes an registered transformer.
+     *
+     * Note: Removal is currently unsupported.
+     *
+     * @param transformer
+     *            Tranformer to be removed.
+     * @throws IllegalArgumentException
+     *             If the provided transformer is null or is not registered.
+     */
+    public void removeTransformer(
+            InputClassBasedTransformer<I, ? extends I, P> transformer)
+            throws IllegalArgumentException {
+        throw new UnsupportedOperationException("Not implemented yet");
+    }
+
+    @Override
+    public Collection<P> transformAll(Collection<? extends I> inputs) {
+        Collection<P> ret = new ArrayList<P>();
+        for (I i : inputs) {
+            ret.add(transform(i));
+        }
+        return ret;
+    }
+
+}
index d11f319..0cdc3a1 100644 (file)
-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.controller.concepts.transform;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Collection;\r
-import java.util.Comparator;\r
-import java.util.Set;\r
-import java.util.TreeSet;\r
-\r
-/**\r
- * Composite transformer which aggregates multiple implementation and selects\r
- * the one which accepts the input.\r
- *\r
- *\r
- * @author Tony Tkacik\r
- *\r
- * @param <I>\r
- *            Input class for transformation\r
- * @param <P>\r
- *            Product of transformation\r
- */\r
-public class CompositeConditionalTransformer<I, P> implements\r
-        SimpleConditionalTransformer<I, P>,\r
-        AggregateTransformer<I,P> {\r
-\r
-    private final Comparator<TransformerWithPriority<I, P>> comparator = new Comparator<TransformerWithPriority<I, P>>() {\r
-\r
-        @Override\r
-        public int compare(TransformerWithPriority<I, P> o1,\r
-                TransformerWithPriority<I, P> o2) {\r
-            return Integer.valueOf(o1.priority).compareTo(Integer.valueOf(o2.priority));\r
-        }\r
-\r
-    };\r
-    private final Set<TransformerWithPriority<I, P>> transformers;\r
-\r
-    public CompositeConditionalTransformer() {\r
-        // FIXME: Add Ordering\r
-        transformers = new TreeSet<TransformerWithPriority<I, P>>(comparator);\r
-    }\r
-\r
-    @Override\r
-    public boolean isAcceptable(I input) {\r
-        for (SimpleConditionalTransformer<I, P> trans : transformers) {\r
-            if (trans.isAcceptable(input)) {\r
-                return true;\r
-            }\r
-        }\r
-        return false;\r
-    }\r
-\r
-    @Override\r
-    public P transform(I input) {\r
-        for (SimpleConditionalTransformer<I, P> trans : transformers) {\r
-            if (trans.isAcceptable(input)) {\r
-                return trans.transform(input);\r
-            }\r
-        }\r
-        throw new IllegalStateException(\r
-                "Transformer for provided input is not available.");\r
-    }\r
-\r
-    public void addTransformer(SimpleConditionalTransformer<I, P> transformer,\r
-            int priority) throws IllegalStateException {\r
-        if (transformer == null) {\r
-            throw new IllegalArgumentException(\r
-                    "transformer should not be null.");\r
-        }\r
-        TransformerWithPriority<I, P> withPriority = new TransformerWithPriority<I, P>(\r
-                transformer, priority);\r
-        if (false == transformers.add(withPriority)) {\r
-            throw new IllegalStateException("transformer " + transformer\r
-                    + "already registered");\r
-        }\r
-    }\r
-\r
-    public void removeTransformer(SimpleConditionalTransformer<I, P> transformer)\r
-            throws IllegalArgumentException {\r
-        if (transformer == null) {\r
-            throw new IllegalArgumentException(\r
-                    "transformer should not be null.");\r
-        }\r
-        if (false == transformers.remove(transformer)) {\r
-            throw new IllegalStateException("transformer " + transformer\r
-                    + "already registered");\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public Collection<P> transformAll(Collection<? extends I> inputs) {\r
-        Collection<P> ret = new ArrayList<P>();\r
-        for (I i : inputs) {\r
-            ret.add(transform(i));\r
-        }\r
-        return ret;\r
-    }\r
-\r
-    private static class TransformerWithPriority<I, P> implements\r
-            SimpleConditionalTransformer<I, P> {\r
-        final int priority;\r
-        final SimpleConditionalTransformer<I, P> transformer;\r
-\r
-        public TransformerWithPriority(\r
-                SimpleConditionalTransformer<I, P> transformer, int priority) {\r
-            this.priority = priority;\r
-            this.transformer = transformer;\r
-        }\r
-\r
-        @Override\r
-        public int hashCode() {\r
-            final int prime = 31;\r
-            int result = 1;\r
-            result = prime * result\r
-                    + ((transformer == null) ? 0 : transformer.hashCode());\r
-            return result;\r
-        }\r
-\r
-        @Override\r
-        public boolean equals(Object obj) {\r
-            if (this == obj)\r
-                return true;\r
-            if (obj == null)\r
-                return false;\r
-            if (getClass() != obj.getClass())\r
-                return false;\r
-            TransformerWithPriority<?,?> other = (TransformerWithPriority<?,?>) obj;\r
-            if (transformer == null) {\r
-                if (other.transformer != null)\r
-                    return false;\r
-            } else if (!transformer.equals(other.transformer))\r
-                return false;\r
-            return true;\r
-        }\r
-\r
-        @Override\r
-        public boolean isAcceptable(I input) {\r
-            return transformer.isAcceptable(input);\r
-        }\r
-\r
-        @Override\r
-        public P transform(I input) {\r
-            return transformer.transform(input);\r
-        }\r
-\r
-\r
-\r
-\r
-\r
-    }\r
-}\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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
+ */
+
+package org.opendaylight.controller.concepts.transform;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.Set;
+import java.util.TreeSet;
+
+/**
+ * Composite transformer which aggregates multiple implementation and selects
+ * the one which accepts the input.
+ *
+ *
+ * @author Tony Tkacik
+ *
+ * @param <I>
+ *            Input class for transformation
+ * @param <P>
+ *            Product of transformation
+ */
+public class CompositeConditionalTransformer<I, P> implements
+        SimpleConditionalTransformer<I, P>,
+        AggregateTransformer<I,P> {
+
+    private final Comparator<TransformerWithPriority<I, P>> comparator = new Comparator<TransformerWithPriority<I, P>>() {
+
+        @Override
+        public int compare(TransformerWithPriority<I, P> o1,
+                TransformerWithPriority<I, P> o2) {
+            return Integer.valueOf(o1.priority).compareTo(Integer.valueOf(o2.priority));
+        }
+
+    };
+    private final Set<TransformerWithPriority<I, P>> transformers;
+
+    public CompositeConditionalTransformer() {
+        // FIXME: Add Ordering
+        transformers = new TreeSet<TransformerWithPriority<I, P>>(comparator);
+    }
+
+    @Override
+    public boolean isAcceptable(I input) {
+        for (SimpleConditionalTransformer<I, P> trans : transformers) {
+            if (trans.isAcceptable(input)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public P transform(I input) {
+        for (SimpleConditionalTransformer<I, P> trans : transformers) {
+            if (trans.isAcceptable(input)) {
+                return trans.transform(input);
+            }
+        }
+        throw new IllegalStateException(
+                "Transformer for provided input is not available.");
+    }
+
+    public void addTransformer(SimpleConditionalTransformer<I, P> transformer,
+            int priority) throws IllegalStateException {
+        if (transformer == null) {
+            throw new IllegalArgumentException(
+                    "transformer should not be null.");
+        }
+        TransformerWithPriority<I, P> withPriority = new TransformerWithPriority<I, P>(
+                transformer, priority);
+        if (false == transformers.add(withPriority)) {
+            throw new IllegalStateException("transformer " + transformer
+                    + "already registered");
+        }
+    }
+
+    public void removeTransformer(SimpleConditionalTransformer<I, P> transformer)
+            throws IllegalArgumentException {
+        if (transformer == null) {
+            throw new IllegalArgumentException(
+                    "transformer should not be null.");
+        }
+        if (false == transformers.remove(transformer)) {
+            throw new IllegalStateException("transformer " + transformer
+                    + "already registered");
+        }
+    }
+
+    @Override
+    public Collection<P> transformAll(Collection<? extends I> inputs) {
+        Collection<P> ret = new ArrayList<P>();
+        for (I i : inputs) {
+            ret.add(transform(i));
+        }
+        return ret;
+    }
+
+    private static class TransformerWithPriority<I, P> implements
+            SimpleConditionalTransformer<I, P> {
+        final int priority;
+        final SimpleConditionalTransformer<I, P> transformer;
+
+        public TransformerWithPriority(
+                SimpleConditionalTransformer<I, P> transformer, int priority) {
+            this.priority = priority;
+            this.transformer = transformer;
+        }
+
+        @Override
+        public int hashCode() {
+            final int prime = 31;
+            int result = 1;
+            result = prime * result
+                    + ((transformer == null) ? 0 : transformer.hashCode());
+            return result;
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (this == obj)
+                return true;
+            if (obj == null)
+                return false;
+            if (getClass() != obj.getClass())
+                return false;
+            TransformerWithPriority<?,?> other = (TransformerWithPriority<?,?>) obj;
+            if (transformer == null) {
+                if (other.transformer != null)
+                    return false;
+            } else if (!transformer.equals(other.transformer))
+                return false;
+            return true;
+        }
+
+        @Override
+        public boolean isAcceptable(I input) {
+            return transformer.isAcceptable(input);
+        }
+
+        @Override
+        public P transform(I input) {
+            return transformer.transform(input);
+        }
+
+
+
+
+
+    }
+}
index 1ad849b..1bec9bc 100644 (file)
@@ -1,38 +1,38 @@
-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.controller.concepts.transform;\r
-\r
-/**\r
- * Input class based transformer\r
- *\r
- * {@link Transformer} which accepts / transforms only specific classes of\r
- * input, and is useful if the selection of transformer should be based on the\r
- * class of the input and there is one-to-one mapping between input class and\r
- * transformer.\r
- *\r
- *\r
- * @author Tony Tkacik\r
- *\r
- * @param <S>\r
- *            Common supertype of input\r
- * @param <I>\r
- *            Concrete type of input\r
- * @param <P>\r
- *            Product\r
- */\r
-public interface InputClassBasedTransformer<S, I extends S, P> extends\r
-        Transformer<I, P> {\r
-\r
-    /**\r
-     * Returns an {@link Class} of input which is acceptable for transformation.\r
-     *\r
-     * @return {@link Class} of input which is acceptable for transformation.\r
-     */\r
-    Class<? extends S> getInputClass();\r
-}\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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
+ */
+
+package org.opendaylight.controller.concepts.transform;
+
+/**
+ * Input class based transformer
+ *
+ * {@link Transformer} which accepts / transforms only specific classes of
+ * input, and is useful if the selection of transformer should be based on the
+ * class of the input and there is one-to-one mapping between input class and
+ * transformer.
+ *
+ *
+ * @author Tony Tkacik
+ *
+ * @param <S>
+ *            Common supertype of input
+ * @param <I>
+ *            Concrete type of input
+ * @param <P>
+ *            Product
+ */
+public interface InputClassBasedTransformer<S, I extends S, P> extends
+        Transformer<I, P> {
+
+    /**
+     * Returns an {@link Class} of input which is acceptable for transformation.
+     *
+     * @return {@link Class} of input which is acceptable for transformation.
+     */
+    Class<? extends S> getInputClass();
+}
index 820b94a..9a0d879 100644 (file)
@@ -1,42 +1,42 @@
-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.controller.concepts.transform;\r
-\r
-import java.util.Set;\r
-\r
-/**\r
- * Transformer with set of acceptance rules\r
- *\r
- * The transformer provides a set of {@link Acceptor}s, which could be used to\r
- * verify if the input will produce result using the transformer.\r
- *\r
- * The transormer is able to produce result if ANY of associated\r
- * {@link Acceptor}s accepted result.\r
- *\r
- * @author Tony Tkacik\r
- *\r
- * @param <I>\r
- *            Input class for transformation\r
- * @param <P>\r
- *            Product of transformation\r
- */\r
-public interface RuleBasedTransformer<I, P> extends Transformer<I, P> {\r
-\r
-    /**\r
-     * Set of {@link Acceptor}, which could be used to verify if the input is\r
-     * usable by transformer.\r
-     *\r
-     * The transformer is able to produce result if ANY of associated\r
-     * {@link Acceptor}s accepted result.\r
-     *\r
-     * @return Set of input acceptance rules associated to this transformer.\r
-     */\r
-    Set<Acceptor<I>> getRules();\r
-\r
-}\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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
+ */
+
+package org.opendaylight.controller.concepts.transform;
+
+import java.util.Set;
+
+/**
+ * Transformer with set of acceptance rules
+ *
+ * The transformer provides a set of {@link Acceptor}s, which could be used to
+ * verify if the input will produce result using the transformer.
+ *
+ * The transormer is able to produce result if ANY of associated
+ * {@link Acceptor}s accepted result.
+ *
+ * @author Tony Tkacik
+ *
+ * @param <I>
+ *            Input class for transformation
+ * @param <P>
+ *            Product of transformation
+ */
+public interface RuleBasedTransformer<I, P> extends Transformer<I, P> {
+
+    /**
+     * Set of {@link Acceptor}, which could be used to verify if the input is
+     * usable by transformer.
+     *
+     * The transformer is able to produce result if ANY of associated
+     * {@link Acceptor}s accepted result.
+     *
+     * @return Set of input acceptance rules associated to this transformer.
+     */
+    Set<Acceptor<I>> getRules();
+
+}
index 4d0aa03..84770b7 100644 (file)
@@ -1,38 +1,38 @@
-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.controller.concepts.transform;\r
-\r
-/**\r
- * Simple condition-based transformer\r
- *\r
- * The transformer provides {@link #isAcceptable(Object)} method,\r
- * which could be used to query transformer if the input will produce\r
- * result.\r
- *\r
- * This interface is simplified version of {@link RuleBasedTransformer} - does not\r
- * provide decoupling of Acceptance rule from transformer, and should be used only\r
- * for simple use-cases.\r
- *\r
- * @author Tony Tkacik\r
- *\r
- * @param <I> Input class for transformation\r
- * @param <P> Product of transformation\r
- */\r
-public interface SimpleConditionalTransformer<I,P> extends Transformer<I, P>, Acceptor<I> {\r
-\r
-\r
-    /**\r
-     * Checks if the input is acceptable\r
-     * for processing by the transformer.\r
-     *\r
-     * @return true it the input is acceptable for processing by transformer.\r
-     */\r
-    @Override\r
-    public boolean isAcceptable(I input);\r
-}\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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
+ */
+
+package org.opendaylight.controller.concepts.transform;
+
+/**
+ * Simple condition-based transformer
+ *
+ * The transformer provides {@link #isAcceptable(Object)} method,
+ * which could be used to query transformer if the input will produce
+ * result.
+ *
+ * This interface is simplified version of {@link RuleBasedTransformer} - does not
+ * provide decoupling of Acceptance rule from transformer, and should be used only
+ * for simple use-cases.
+ *
+ * @author Tony Tkacik
+ *
+ * @param <I> Input class for transformation
+ * @param <P> Product of transformation
+ */
+public interface SimpleConditionalTransformer<I,P> extends Transformer<I, P>, Acceptor<I> {
+
+
+    /**
+     * Checks if the input is acceptable
+     * for processing by the transformer.
+     *
+     * @return true it the input is acceptable for processing by transformer.
+     */
+    @Override
+    public boolean isAcceptable(I input);
+}
index 18184e1..6f09d8b 100644 (file)
@@ -1,27 +1,27 @@
-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-\r
-package org.opendaylight.controller.concepts.transform;\r
-\r
-/**\r
- * Factory which produces product based on input object\r
- *\r
- * @author Tony Tkacik\r
- *\r
- * @param <I> Input\r
- * @param <P> Product\r
- */\r
-public interface Transformer<I,P> {\r
-    /**\r
-     * Transforms input into instance of product.\r
-     *\r
-     * @param input Input which drives transformation\r
-     * @return Instance of product which was created from supplied input.\r
-     */\r
-    P transform(I input);\r
-}\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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
+ */
+
+package org.opendaylight.controller.concepts.transform;
+
+/**
+ * Factory which produces product based on input object
+ *
+ * @author Tony Tkacik
+ *
+ * @param <I> Input
+ * @param <P> Product
+ */
+public interface Transformer<I,P> {
+    /**
+     * Transforms input into instance of product.
+     *
+     * @param input Input which drives transformation
+     * @return Instance of product which was created from supplied input.
+     */
+    P transform(I input);
+}
index 9196fc4..e47e51a 100644 (file)
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">\r
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">\r
-\r
-    <appender name="console" class="org.apache.log4j.ConsoleAppender">\r
-        <layout class="org.apache.log4j.PatternLayout">\r
-            <param name="ConversionPattern" value="%-6p %d{HH:mm:ss.SSS} [%10.10t] %30.30c %x - %m%n" />\r
-        </layout>\r
-    </appender>\r
-\r
-    <logger name="org.opendaylight.controller.liblldp" additivity="false">\r
-        <level value="DEBUG" />\r
-        <appender-ref ref="console" />\r
-    </logger>\r
-\r
-    <root>\r
-        <priority value="INFO" />\r
-        <appender-ref ref="console" />\r
-    </root>\r
-</log4j:configuration>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+    <appender name="console" class="org.apache.log4j.ConsoleAppender">
+        <layout class="org.apache.log4j.PatternLayout">
+            <param name="ConversionPattern" value="%-6p %d{HH:mm:ss.SSS} [%10.10t] %30.30c %x - %m%n" />
+        </layout>
+    </appender>
+
+    <logger name="org.opendaylight.controller.liblldp" additivity="false">
+        <level value="DEBUG" />
+        <appender-ref ref="console" />
+    </logger>
+
+    <root>
+        <priority value="INFO" />
+        <appender-ref ref="console" />
+    </root>
+</log4j:configuration>
index 2401376..0b8eead 100644 (file)
@@ -1,73 +1,73 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.\r
-\r
-This program and the accompanying materials are made available under the\r
-terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
-and is available at http://www.eclipse.org/legal/epl-v10.html\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-\r
-  <modelVersion>4.0.0</modelVersion>\r
-\r
-  <parent>\r
-    <groupId>org.opendaylight.controller</groupId>\r
-    <artifactId>sal-parent</artifactId>\r
-    <version>1.3.0-SNAPSHOT</version>\r
-  </parent>\r
-\r
-  <artifactId>messagebus-config</artifactId>\r
-  <packaging>jar</packaging>\r
-  <description>Configuration files for message-bus</description>\r
-\r
-  <dependencies>\r
-    <dependency>\r
-      <groupId>org.opendaylight.controller</groupId>\r
-      <artifactId>config-api</artifactId>\r
-    </dependency>\r
-    <dependency>\r
-      <groupId>org.opendaylight.controller</groupId>\r
-      <artifactId>messagebus-api</artifactId>\r
-      <version>${project.version}</version>\r
-    </dependency>\r
-    <dependency>\r
-      <groupId>org.opendaylight.controller</groupId>\r
-      <artifactId>messagebus-impl</artifactId>\r
-      <version>${project.version}</version>\r
-    </dependency>\r
-  </dependencies>\r
-\r
-  <build>\r
-    <plugins>\r
-        <plugin>\r
-        <groupId>org.codehaus.mojo</groupId>\r
-        <artifactId>build-helper-maven-plugin</artifactId>\r
-        <executions>\r
-          <execution>\r
-            <id>attach-artifacts</id>\r
-            <goals>\r
-              <goal>attach-artifact</goal>\r
-            </goals>\r
-            <phase>package</phase>\r
-            <configuration>\r
-              <artifacts>\r
-                <artifact>\r
-                  <file>${project.build.directory}/classes/initial/05-message-bus.xml</file>\r
-                  <type>xml</type>\r
-                  <classifier>config</classifier>\r
-                </artifact>\r
-              </artifacts>\r
-            </configuration>\r
-          </execution>\r
-        </executions>\r
-      </plugin>\r
-    </plugins>\r
-  </build>\r
-\r
-  <scm>\r
-      <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>\r
-      <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>\r
-      <tag>HEAD</tag>\r
-      <url>https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=summary</url>\r
-   </scm>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Cisco Systems, Inc. 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
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.opendaylight.controller</groupId>
+    <artifactId>sal-parent</artifactId>
+    <version>1.3.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>messagebus-config</artifactId>
+  <packaging>jar</packaging>
+  <description>Configuration files for message-bus</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>config-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>messagebus-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>messagebus-impl</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+        <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>attach-artifacts</id>
+            <goals>
+              <goal>attach-artifact</goal>
+            </goals>
+            <phase>package</phase>
+            <configuration>
+              <artifacts>
+                <artifact>
+                  <file>${project.build.directory}/classes/initial/05-message-bus.xml</file>
+                  <type>xml</type>
+                  <classifier>config</classifier>
+                </artifact>
+              </artifacts>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
+  <scm>
+      <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>
+      <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
+      <tag>HEAD</tag>
+      <url>https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=summary</url>
+   </scm>
+</project>
index 108a295..7f1d7c5 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.\r
-\r
-This program and the accompanying materials are made available under the\r
-terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
-and is available at http://www.eclipse.org/legal/epl-v10.html\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0"\r
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-    <modelVersion>4.0.0</modelVersion>\r
-\r
-    <parent>\r
-        <groupId>org.opendaylight.controller</groupId>\r
-        <artifactId>sal-parent</artifactId>\r
-        <version>1.3.0-SNAPSHOT</version>\r
-    </parent>\r
-\r
-    <artifactId>messagebus-impl</artifactId>\r
-    <name>${project.artifactId}</name>\r
-\r
-    <packaging>bundle</packaging>\r
-\r
-    <dependencies>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>sal-binding-api</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>sal-core-api</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>sal-common-util</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.yangtools</groupId>\r
-            <artifactId>yang-data-impl</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>config-api</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>messagebus-api</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>messagebus-util</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>messagebus-spi</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>sal-binding-config</artifactId>\r
-        </dependency>\r
-\r
-        <!-- Testing Dependencies -->\r
-        <dependency>\r
-              <groupId>junit</groupId>\r
-              <artifactId>junit</artifactId>\r
-              <scope>test</scope>\r
-        </dependency>\r
-        <dependency>\r
-              <groupId>org.glassfish.jersey.test-framework.providers</groupId>\r
-              <artifactId>jersey-test-framework-provider-grizzly2</artifactId>\r
-              <scope>test</scope>\r
-        </dependency>\r
-        <dependency>\r
-              <groupId>org.mockito</groupId>\r
-              <artifactId>mockito-all</artifactId>\r
-              <scope>test</scope>\r
-        </dependency>\r
-    </dependencies>\r
-\r
-    <build>\r
-        <plugins>\r
-            <plugin>\r
-                <groupId>org.opendaylight.yangtools</groupId>\r
-                <artifactId>yang-maven-plugin</artifactId>\r
-                <executions>\r
-                    <execution>\r
-                        <goals>\r
-                            <goal>generate-sources</goal>\r
-                        </goals>\r
-                        <configuration>\r
-                            <codeGenerators>\r
-                                <generator>\r
-                                    <codeGeneratorClass>\r
-                                        org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl\r
-                                    </codeGeneratorClass>\r
-                                    <outputBaseDir>\r
-                                        ${project.build.directory}/generated-sources/sal\r
-                                    </outputBaseDir>\r
-                                </generator>\r
-                                <generator>\r
-                                    <codeGeneratorClass>\r
-                                        org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator\r
-                                    </codeGeneratorClass>\r
-                                    <outputBaseDir>${project.build.directory}/generated-sources/config</outputBaseDir>\r
-                                    <additionalConfiguration>\r
-                                        <namespaceToPackage1>\r
-                                            urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang\r
-                                        </namespaceToPackage1>\r
-                                    </additionalConfiguration>\r
-                                </generator>\r
-                                <generator>\r
-                                    <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>\r
-                                    <outputBaseDir>target/site/models</outputBaseDir>\r
-                                </generator>\r
-                            </codeGenerators>\r
-                            <inspectDependencies>true</inspectDependencies>\r
-                        </configuration>\r
-                    </execution>\r
-                </executions>\r
-            </plugin>\r
-            <plugin>\r
-                <groupId>org.codehaus.mojo</groupId>\r
-                <artifactId>build-helper-maven-plugin</artifactId>\r
-                <executions>\r
-                    <execution>\r
-                        <id>add-source</id>\r
-                        <phase>generate-sources</phase>\r
-                        <goals>\r
-                            <goal>add-source</goal>\r
-                        </goals>\r
-                        <configuration>\r
-                            <sources>\r
-                                <source>${project.build.directory}/generated-sources/config</source>\r
-                            </sources>\r
-                        </configuration>\r
-                    </execution>\r
-                </executions>\r
-            </plugin>\r
-        </plugins>\r
-    </build>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Cisco Systems, Inc. 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
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sal-parent</artifactId>
+        <version>1.3.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>messagebus-impl</artifactId>
+    <name>${project.artifactId}</name>
+
+    <packaging>bundle</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-binding-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-core-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-common-util</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-impl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>config-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>messagebus-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>messagebus-util</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>messagebus-spi</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-binding-config</artifactId>
+        </dependency>
+
+        <!-- Testing Dependencies -->
+        <dependency>
+              <groupId>junit</groupId>
+              <artifactId>junit</artifactId>
+              <scope>test</scope>
+        </dependency>
+        <dependency>
+              <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+              <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+              <scope>test</scope>
+        </dependency>
+        <dependency>
+              <groupId>org.mockito</groupId>
+              <artifactId>mockito-all</artifactId>
+              <scope>test</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.opendaylight.yangtools</groupId>
+                <artifactId>yang-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate-sources</goal>
+                        </goals>
+                        <configuration>
+                            <codeGenerators>
+                                <generator>
+                                    <codeGeneratorClass>
+                                        org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
+                                    </codeGeneratorClass>
+                                    <outputBaseDir>
+                                        ${project.build.directory}/generated-sources/sal
+                                    </outputBaseDir>
+                                </generator>
+                                <generator>
+                                    <codeGeneratorClass>
+                                        org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
+                                    </codeGeneratorClass>
+                                    <outputBaseDir>${project.build.directory}/generated-sources/config</outputBaseDir>
+                                    <additionalConfiguration>
+                                        <namespaceToPackage1>
+                                            urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang
+                                        </namespaceToPackage1>
+                                    </additionalConfiguration>
+                                </generator>
+                                <generator>
+                                    <codeGeneratorClass>org.opendaylight.yangtools.yang.unified.doc.generator.maven.DocumentationGeneratorImpl</codeGeneratorClass>
+                                    <outputBaseDir>target/site/models</outputBaseDir>
+                                </generator>
+                            </codeGenerators>
+                            <inspectDependencies>true</inspectDependencies>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>add-source</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>${project.build.directory}/generated-sources/config</source>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
index 0bb1e91..37973e0 100644 (file)
@@ -1,59 +1,59 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
-Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.\r
-\r
-This program and the accompanying materials are made available under the\r
-terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
-and is available at http://www.eclipse.org/legal/epl-v10.html\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0"\r
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-    <modelVersion>4.0.0</modelVersion>\r
-\r
-    <parent>\r
-        <groupId>org.opendaylight.controller</groupId>\r
-        <artifactId>sal-parent</artifactId>\r
-        <version>1.3.0-SNAPSHOT</version>\r
-    </parent>\r
-\r
-    <artifactId>messagebus-util</artifactId>\r
-    <name>${project.artifactId}</name>\r
-\r
-    <packaging>bundle</packaging>\r
-\r
-    <dependencies>\r
-        <dependency>\r
-            <groupId>org.osgi</groupId>\r
-            <artifactId>org.osgi.core</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>sal-core-api</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>sal-binding-api</artifactId>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>messagebus-api</artifactId>\r
-        </dependency>\r
-        <!-- Testing Dependencies -->\r
-        <dependency>\r
-              <groupId>junit</groupId>\r
-              <artifactId>junit</artifactId>\r
-              <scope>test</scope>\r
-        </dependency>\r
-        <dependency>\r
-              <groupId>org.glassfish.jersey.test-framework.providers</groupId>\r
-              <artifactId>jersey-test-framework-provider-grizzly2</artifactId>\r
-              <scope>test</scope>\r
-        </dependency>\r
-        <dependency>\r
-              <groupId>org.mockito</groupId>\r
-              <artifactId>mockito-all</artifactId>\r
-              <scope>test</scope>\r
-        </dependency>\r
-    </dependencies>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Cisco Systems, Inc. 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
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sal-parent</artifactId>
+        <version>1.3.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>messagebus-util</artifactId>
+    <name>${project.artifactId}</name>
+
+    <packaging>bundle</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-core-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-binding-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>messagebus-api</artifactId>
+        </dependency>
+        <!-- Testing Dependencies -->
+        <dependency>
+              <groupId>junit</groupId>
+              <artifactId>junit</artifactId>
+              <scope>test</scope>
+        </dependency>
+        <dependency>
+              <groupId>org.glassfish.jersey.test-framework.providers</groupId>
+              <artifactId>jersey-test-framework-provider-grizzly2</artifactId>
+              <scope>test</scope>
+        </dependency>
+        <dependency>
+              <groupId>org.mockito</groupId>
+              <artifactId>mockito-all</artifactId>
+              <scope>test</scope>
+        </dependency>
+    </dependencies>
+</project>
index b7a0bc0..ac2f924 100644 (file)
@@ -1,71 +1,71 @@
-module opendaylight-md-sal-common {\r
-       yang-version 1;\r
-    namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:common";\r
-    prefix "md-sal-common";\r
-    \r
-    description\r
-        "Common definition for MD-SAL.";\r
\r
-    revision "2013-10-28" {\r
-        description\r
-            "Initial revision";\r
-    }\r
-    \r
-    grouping rpc-routing-table {\r
-        \r
-        leaf routing-context {\r
-            type string;\r
-        }\r
-        list routes {\r
-            leaf path {\r
-                type string;\r
-            }\r
-            leaf destination {\r
-                type string;\r
-            }\r
-        }\r
-    \r
-    }\r
-\r
-    grouping rpc-router {\r
-        leaf module {\r
-            type string;\r
-        }\r
-        container routing-tables {\r
-            list routing-table {\r
-                uses rpc-routing-table;\r
-            }\r
-        }\r
-    }\r
-\r
-    grouping rpc-state {\r
-        list rpc-router {\r
-            uses rpc-router;\r
-        }\r
-    }\r
-    \r
-    grouping notification-state {\r
-        container notifications {\r
-            leaf published {\r
-                type uint32;\r
-            }\r
-        }\r
-    }\r
-    \r
-    grouping data-state {\r
-        container transactions {\r
-            leaf created {\r
-                type uint32;\r
-            }\r
-            leaf submitted {\r
-                type uint32;\r
-            }\r
-            leaf successful {\r
-                type uint32;\r
-            }\r
-            leaf failed {\r
-                type uint32;\r
-            }\r
-        }\r
-    }\r
+module opendaylight-md-sal-common {
+       yang-version 1;
+    namespace "urn:opendaylight:params:xml:ns:yang:controller:md:sal:common";
+    prefix "md-sal-common";
+    
+    description
+        "Common definition for MD-SAL.";
+    revision "2013-10-28" {
+        description
+            "Initial revision";
+    }
+    
+    grouping rpc-routing-table {
+        
+        leaf routing-context {
+            type string;
+        }
+        list routes {
+            leaf path {
+                type string;
+            }
+            leaf destination {
+                type string;
+            }
+        }
+    
+    }
+
+    grouping rpc-router {
+        leaf module {
+            type string;
+        }
+        container routing-tables {
+            list routing-table {
+                uses rpc-routing-table;
+            }
+        }
+    }
+
+    grouping rpc-state {
+        list rpc-router {
+            uses rpc-router;
+        }
+    }
+    
+    grouping notification-state {
+        container notifications {
+            leaf published {
+                type uint32;
+            }
+        }
+    }
+    
+    grouping data-state {
+        container transactions {
+            leaf created {
+                type uint32;
+            }
+            leaf submitted {
+                type uint32;
+            }
+            leaf successful {
+                type uint32;
+            }
+            leaf failed {
+                type uint32;
+            }
+        }
+    }
 }
\ No newline at end of file
index 99438c8..670598d 100644 (file)
@@ -1,27 +1,27 @@
-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-package org.opendaylight.controller.sal.core.spi;\r
-\r
-import java.util.Set;\r
-\r
-import org.opendaylight.controller.sal.core.api.BrokerService;\r
-import org.opendaylight.controller.sal.core.api.Broker.ConsumerSession;\r
-import org.opendaylight.controller.sal.core.api.Consumer.ConsumerFunctionality;\r
-import org.opendaylight.controller.sal.core.api.Provider.ProviderFunctionality;\r
-\r
-public interface BrokerModule {\r
-\r
-    Set<Class<? extends BrokerService>> getProvidedServices();\r
-\r
-    Set<Class<? extends ConsumerFunctionality>> getSupportedConsumerFunctionality();\r
-\r
-    <T extends BrokerService> T getServiceForSession(Class<T> service,\r
-            ConsumerSession session);\r
-\r
-    Set<Class<? extends ProviderFunctionality>> getSupportedProviderFunctionality();\r
-}\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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
+ */
+package org.opendaylight.controller.sal.core.spi;
+
+import java.util.Set;
+
+import org.opendaylight.controller.sal.core.api.BrokerService;
+import org.opendaylight.controller.sal.core.api.Broker.ConsumerSession;
+import org.opendaylight.controller.sal.core.api.Consumer.ConsumerFunctionality;
+import org.opendaylight.controller.sal.core.api.Provider.ProviderFunctionality;
+
+public interface BrokerModule {
+
+    Set<Class<? extends BrokerService>> getProvidedServices();
+
+    Set<Class<? extends ConsumerFunctionality>> getSupportedConsumerFunctionality();
+
+    <T extends BrokerService> T getServiceForSession(Class<T> service,
+            ConsumerSession session);
+
+    Set<Class<? extends ProviderFunctionality>> getSupportedProviderFunctionality();
+}
index ec3b698..8c8ee3d 100644 (file)
@@ -1,8 +1,8 @@
-/*\r
- * Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
+/*
+ * Copyright (c) 2014 Cisco Systems, Inc. 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
+ */
 package org.opendaylight.controller.sal.core.spi.data;
\ No newline at end of file
index 76493af..6cab2a8 100644 (file)
@@ -1,8 +1,8 @@
-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. 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
+ */
 package org.opendaylight.controller.sal.core.spi;
\ No newline at end of file
index c692e30..d9d1f7b 100644 (file)
@@ -1,56 +1,56 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--\r
- Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.\r
-\r
- This program and the accompanying materials are made available under the\r
- terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- and is available at http://www.eclipse.org/legal/epl-v10.html\r
---><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-\r
-  <modelVersion>4.0.0</modelVersion>\r
-\r
-  <parent>\r
-    <artifactId>sal-parent</artifactId>\r
-    <groupId>org.opendaylight.controller</groupId>\r
-    <version>1.3.0-SNAPSHOT</version>\r
-  </parent>\r
-  <artifactId>sal-dom-xsql-config</artifactId>\r
-  <description>Configuration files for md-sal</description>\r
-  <packaging>jar</packaging>\r
-  <properties>\r
-      <!-- Optional TODO: Rename your configfile to taste -->\r
-      <configfile>04-xsql.xml</configfile>\r
-  </properties>\r
-  <build>\r
-    <plugins>\r
-        <plugin>\r
-        <groupId>org.codehaus.mojo</groupId>\r
-        <artifactId>build-helper-maven-plugin</artifactId>\r
-        <executions>\r
-          <execution>\r
-            <id>attach-artifacts</id>\r
-            <goals>\r
-              <goal>attach-artifact</goal>\r
-            </goals>\r
-            <phase>package</phase>\r
-            <configuration>\r
-              <artifacts>\r
-                <artifact>\r
-                  <file>${project.build.directory}/classes/${configfile}</file>\r
-                  <type>xml</type>\r
-                  <classifier>config</classifier>\r
-                </artifact>\r
-              </artifacts>\r
-            </configuration>\r
-          </execution>\r
-        </executions>\r
-      </plugin>\r
-    </plugins>\r
-  </build>\r
-  <scm>\r
-      <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>\r
-      <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>\r
-      <tag>HEAD</tag>\r
-      <url>https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=summary</url>\r
-   </scm>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2014 Cisco Systems, Inc. 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
+--><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <artifactId>sal-parent</artifactId>
+    <groupId>org.opendaylight.controller</groupId>
+    <version>1.3.0-SNAPSHOT</version>
+  </parent>
+  <artifactId>sal-dom-xsql-config</artifactId>
+  <description>Configuration files for md-sal</description>
+  <packaging>jar</packaging>
+  <properties>
+      <!-- Optional TODO: Rename your configfile to taste -->
+      <configfile>04-xsql.xml</configfile>
+  </properties>
+  <build>
+    <plugins>
+        <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>attach-artifacts</id>
+            <goals>
+              <goal>attach-artifact</goal>
+            </goals>
+            <phase>package</phase>
+            <configuration>
+              <artifacts>
+                <artifact>
+                  <file>${project.build.directory}/classes/${configfile}</file>
+                  <type>xml</type>
+                  <classifier>config</classifier>
+                </artifact>
+              </artifacts>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <scm>
+      <connection>scm:git:http://git.opendaylight.org/gerrit/controller.git</connection>
+      <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
+      <tag>HEAD</tag>
+      <url>https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=summary</url>
+   </scm>
+</project>
index f06e844..c1d4df0 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-\r
-    <!--\r
-        Licensed to the Apache Software Foundation (ASF) under one or more\r
-        contributor license agreements.  See the NOTICE file distributed with\r
-        this work for additional information regarding copyright ownership.\r
-        The ASF licenses this file to You under the Apache License, Version 2.0\r
-        (the "License"); you may not use this file except in compliance with\r
-        the License.  You may obtain a copy of the License at\r
-\r
-            http://www.apache.org/licenses/LICENSE-2.0\r
-\r
-        Unless required by applicable law or agreed to in writing, software\r
-        distributed under the License is distributed on an "AS IS" BASIS,\r
-        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-        See the License for the specific language governing permissions and\r
-        limitations under the License.\r
-    -->\r
-\r
-    <modelVersion>4.0.0</modelVersion>\r
-\r
-    <parent>\r
-    <artifactId>sal-parent</artifactId>\r
-    <groupId>org.opendaylight.controller</groupId>\r
-    <version>1.3.0-SNAPSHOT</version>\r
-  </parent>\r
-\r
-    <groupId>org.opendaylight.controller</groupId>\r
-    <artifactId>sal-karaf-xsql</artifactId>\r
-    <packaging>bundle</packaging>\r
-    <name>Apache Karaf :: Shell odl/xsql Commands</name>\r
-\r
-    <description>Provides the OSGi odl commands</description>\r
-\r
-    <dependencies>\r
-        <dependency>\r
-            <groupId>org.apache.karaf.shell</groupId>\r
-            <artifactId>org.apache.karaf.shell.console</artifactId>\r
-            <version>${karaf.version}</version>\r
-        </dependency>\r
-\r
-        <dependency>\r
-            <groupId>org.osgi</groupId>\r
-            <artifactId>org.osgi.core</artifactId>\r
-            <version>5.0.0</version>\r
-            <scope>provided</scope>\r
-        </dependency>\r
-\r
-        <dependency>\r
-            <groupId>org.osgi</groupId>\r
-            <artifactId>org.osgi.compendium</artifactId>\r
-            <version>5.0.0</version>\r
-            <scope>provided</scope>\r
-        </dependency>\r
-\r
-        <dependency>\r
-            <groupId>junit</groupId>\r
-            <artifactId>junit</artifactId>\r
-            <version>4.11</version>\r
-            <scope>test</scope>\r
-        </dependency>\r
-        <dependency>\r
-            <groupId>org.opendaylight.controller</groupId>\r
-            <artifactId>sal-dom-xsql</artifactId>\r
-            <version>1.3.0-SNAPSHOT</version>\r
-        </dependency>\r
-    </dependencies>\r
-\r
-    <build>\r
-        <plugins>\r
-            <plugin>\r
-                <artifactId>maven-compiler-plugin</artifactId>\r
-                <inherited>true</inherited>\r
-                <version>2.3.2</version>\r
-                <configuration>\r
-                    <source>1.5</source>\r
-                    <target>1.5</target>\r
-                </configuration>\r
-            </plugin>\r
-            <plugin>\r
-                <groupId>org.apache.felix</groupId>\r
-                <artifactId>maven-bundle-plugin</artifactId>\r
-                <version>2.4.0</version>\r
-                <extensions>true</extensions>\r
-                <configuration>\r
-                    <instructions>\r
-                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>\r
-                        <Export-Package>org.opendaylight.controller.xsql*;version=${project.version}</Export-Package>\r
-                        <Import-Package>!org.opendaylight.controller.xsql*,\r
-                            org.apache.aries.blueprint,\r
-                            org.osgi.service.blueprint.container,\r
-                            org.osgi.service.blueprint.reflect,\r
-                            org.apache.felix.service.command,\r
-                            org.apache.karaf.shell.commands,\r
-                            org.apache.karaf.shell.console,\r
-                            *</Import-Package>\r
-                    </instructions>\r
-                </configuration>\r
-            </plugin>\r
-        </plugins>\r
-    </build>\r
-\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+    <!--
+        Licensed to the Apache Software Foundation (ASF) under one or more
+        contributor license agreements.  See the NOTICE file distributed with
+        this work for additional information regarding copyright ownership.
+        The ASF licenses this file to You under the Apache License, Version 2.0
+        (the "License"); you may not use this file except in compliance with
+        the License.  You may obtain a copy of the License at
+
+            http://www.apache.org/licenses/LICENSE-2.0
+
+        Unless required by applicable law or agreed to in writing, software
+        distributed under the License is distributed on an "AS IS" BASIS,
+        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+        See the License for the specific language governing permissions and
+        limitations under the License.
+    -->
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+    <artifactId>sal-parent</artifactId>
+    <groupId>org.opendaylight.controller</groupId>
+    <version>1.3.0-SNAPSHOT</version>
+  </parent>
+
+    <groupId>org.opendaylight.controller</groupId>
+    <artifactId>sal-karaf-xsql</artifactId>
+    <packaging>bundle</packaging>
+    <name>Apache Karaf :: Shell odl/xsql Commands</name>
+
+    <description>Provides the OSGi odl commands</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.karaf.shell</groupId>
+            <artifactId>org.apache.karaf.shell.console</artifactId>
+            <version>${karaf.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <version>5.0.0</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+            <version>5.0.0</version>
+            <scope>provided</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.11</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-dom-xsql</artifactId>
+            <version>1.3.0-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <inherited>true</inherited>
+                <version>2.3.2</version>
+                <configuration>
+                    <source>1.5</source>
+                    <target>1.5</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>2.4.0</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+                        <Export-Package>org.opendaylight.controller.xsql*;version=${project.version}</Export-Package>
+                        <Import-Package>!org.opendaylight.controller.xsql*,
+                            org.apache.aries.blueprint,
+                            org.osgi.service.blueprint.container,
+                            org.osgi.service.blueprint.reflect,
+                            org.apache.felix.service.command,
+                            org.apache.karaf.shell.commands,
+                            org.apache.karaf.shell.console,
+                            *</Import-Package>
+                    </instructions>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>

©2013 OpenDaylight, A Linux Foundation Collaborative Project. All Rights Reserved.
OpenDaylight is a registered trademark of The OpenDaylight Project, Inc.
Linux Foundation and OpenDaylight are registered trademarks of the Linux Foundation.
Linux is a registered trademark of Linus Torvalds.