You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by le...@apache.org on 2008/07/08 18:59:57 UTC
svn commit: r674879 [5/12] - in /felix/trunk/upnp: ./ basedriver/
basedriver/src/main/java/org/apache/felix/upnp/basedriver/
basedriver/src/main/java/org/apache/felix/upnp/basedriver/controller/
basedriver/src/main/java/org/apache/felix/upnp/basedriver...
Modified: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/tool/Logger.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/tool/Logger.java?rev=674879&r1=674878&r2=674879&view=diff
==============================================================================
--- felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/tool/Logger.java (original)
+++ felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/tool/Logger.java Tue Jul 8 09:59:54 2008
@@ -1,253 +1,253 @@
-/*
- * 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.
- */
-
-package org.apache.felix.upnp.basedriver.tool;
-
-import java.io.PrintStream;
-
-import org.apache.felix.upnp.basedriver.Activator;
-import org.cybergarage.util.Debug;
-import org.osgi.framework.Constants;
-import org.osgi.framework.InvalidSyntaxException;
-import org.osgi.framework.ServiceEvent;
-import org.osgi.framework.ServiceListener;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.log.LogService;
-
-/*
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
-public class Logger implements ServiceListener {
-
- private ServiceReference rls;
- private LogService osgiLogService;
- private int level;
- private PrintStream out;
- public final static String NEWLINE = System.getProperty("line.separator");
- public static final String ROW ="\n================REQUEST=====================\n";
- public static final String END_ROW ="--------------------------------------------";
-
- private final static String LEVEL_TO_STRING[] = new String[]{
- "",
- "ERROR [ " + Activator.bc.getBundle().getBundleId() + " ] ",
- "WARNING [ " + Activator.bc.getBundle().getBundleId() + " ] ",
- "INFO [ " + Activator.bc.getBundle().getBundleId() + " ] ",
- "DEBUG [ " + Activator.bc.getBundle().getBundleId() + " ] ",
- };
-
-
- /**
- * Create a Logger with <code>System.out</code> as <tt>PrintStream</tt> and without
- * reporting message on both <tt>PrintStream</tt> and <tt>LogService</tt>
- *
- * @param log <tt>ServiceReference</tt> to the <tt>LogService</tt> to use,
- * or null to avoid the use of this service
- *
- * @see #Logger(LogService, PrintStream, boolean)
- */
- public Logger(String levelStr){
- this.out = System.out;
- try {
- this.level = Integer.parseInt(levelStr);
- } catch (Exception ex){
- out.println("WARNING [UPnPBaseDriver Log]: " + levelStr+" is not a valid value!");
- this.level=2;
- }
- findService();
- }
-
- public void setCyberDebug(String value){
- try {
- if (Boolean.valueOf(value).booleanValue()){
- Debug.on();
- out.println("INFO [UPnPBaseDriver] Started CyberLink Debug");
- }
- } catch (Exception ex){
- out.println("WARNING [UPnPBaseDriver CyberLog]: " + value +" is not a valid value!");
- }
- }
-
- ////////////////////////////////////////////////////////////////////////////////////
- //////////////////////////// programmatic interface ////////////////////////////////
- ////////////////////////////////////////////////////////////////////////////////////
-
- public void setLogLevel(int level){
- if (level < 0 || level >4 ) throw new IllegalArgumentException("Log Level must be [0-4]");
- this.level = level;
- }
-
- public int getLogLevel(){
- return this.level;
- }
-
-
- public void setCyberDebug(boolean value){
- if (value) Debug.on();
- else Debug.off();
- }
-
- public boolean getCyberDebug(){
- return Debug.isOn();
- }
- //////////////////////////// end programmatic interface ////////////////////////////
-
-
- public final void ERROR(String message) {
- log(1,message);
- }
-
- public final void WARNING(String message) {
- log(2,message);
- }
-
- public final void INFO(String message) {
- log(3,message);
- }
-
- public final void DEBUG(String message) {
- log(4,message);
- }
-
- public final void PACKET(String message) {
- log(4, new StringBuffer(ROW).append(message).append(END_ROW).toString());
- }
-
- /**
- * Logs a message.
- *
- * <p>The <tt>ServiceReference</tt> field and the <tt>Throwable</tt>
- * field of the <tt>LogEntry</tt> object will be set to <tt>null</tt>.
- * @param msglevel The severity of the message.
- * This should be one of the defined log levels
- * but may be any integer that is interpreted in a user defined way.
- * @param message Human readable string describing the condition or <tt>null</tt>.
- * @see #LOG_ERROR
- * @see #LOG_WARNING
- * @see #LOG_INFO
- * @see #LOG_DEBUG
- */
- public void log(int msglevel, String message) {
- synchronized (this) {
- if (msglevel <= this.level){
- if (this.osgiLogService != null ){
- osgiLogService.log(msglevel, message);
- }
- else {
- StringBuffer sb = new StringBuffer(Logger.LEVEL_TO_STRING[msglevel]);
- this.out.println(sb.append(message));
- }
- }
- }
-
- }
-
- /**
- * Logs a message with an exception.
- *
- * <p>The <tt>ServiceReference</tt> field of the <tt>LogEntry</tt> object will be set to <tt>null</tt>.
- * @param msglevel The severity of the message.
- * This should be one of the defined log levels
- * but may be any integer that is interpreted in a user defined way.
- * @param message The human readable string describing the condition or <tt>null</tt>.
- * @param exception The exception that reflects the condition or <tt>null</tt>.
- * @see #LOG_ERROR
- * @see #LOG_WARNING
- * @see #LOG_INFO
- * @see #LOG_DEBUG
- */
- public void log(int msglevel, String message, Throwable exception) {
- synchronized (this) {
- if (msglevel <= this.level){
- if(this.osgiLogService != null){
- osgiLogService.log(msglevel, message, exception);
- }
- else {
- StringBuffer sb = new StringBuffer(Logger.LEVEL_TO_STRING[msglevel]);
- this.out.println(sb.append(message).append(NEWLINE).append(exception));
- exception.printStackTrace(this.out);
- }
- }
- }
- }
-
- private synchronized void setLogService(ServiceReference reference){
- this.rls = reference;
- this.osgiLogService = (LogService) Activator.bc.getService(rls);
- }
- /**
- * This look for a <tt>LogService</tt> if it founds no <tt>LogService</tt> will register a new
- * Listener of LogService
- *
- */
- private synchronized void findService() {
- //PRE:Actually no LogService are setted and we are registered as ServiceListener
- // for LogService (unregisterin event)
- this.rls = Activator.bc.getServiceReference(LogService.class.getName());
- if (this.rls != null){
- this.osgiLogService = (LogService) Activator.bc.getService(rls);
- }
- try {
- Activator.bc.addServiceListener(this,
- "(" + Constants.OBJECTCLASS + "=" + LogService.class.getName() + ")"
- );
- } catch (InvalidSyntaxException ignore) {}
- //POST: We are connected to a LogService or we are registered as ServiceListener
- // for LogService(registering event)
- }
-
- private synchronized void releaseLogService() {
- if( osgiLogService != null)
- Activator.bc.ungetService(this.rls);
- this.rls = null;
- this.osgiLogService = null;
- }
-
- /**
- * Used to keep track the existence of a <tt>LogService</tt>
- *
- * @see ServiceListener#serviceChanged(org.osgi.framework.ServiceEvent)
- */
- public void serviceChanged(ServiceEvent e) {
- switch (e.getType()) {
- case ServiceEvent.REGISTERED: {
- // put here code check for serviceid
- setLogService(e.getServiceReference());
- }break;
-
- case ServiceEvent.MODIFIED:
- break;
-
- case ServiceEvent.UNREGISTERING: {
- // put here code check for serviceid
- releaseLogService();
- }break;
- }
- }
-
- /**
- * Stop using the <tt>LogService</tt> and listening for those service event
- *
- * NOTE: All the message will be reported to <tt>PrintStream</tt>
- *
- */
- public void close(){
- Activator.bc.removeServiceListener(this);
- releaseLogService();
- }
-}
+/*
+ * 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.
+ */
+
+package org.apache.felix.upnp.basedriver.tool;
+
+import java.io.PrintStream;
+
+import org.apache.felix.upnp.basedriver.Activator;
+import org.cybergarage.util.Debug;
+import org.osgi.framework.Constants;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.log.LogService;
+
+/*
+* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+*/
+public class Logger implements ServiceListener {
+
+ private ServiceReference rls;
+ private LogService osgiLogService;
+ private int level;
+ private PrintStream out;
+ public final static String NEWLINE = System.getProperty("line.separator");
+ public static final String ROW ="\n================REQUEST=====================\n";
+ public static final String END_ROW ="--------------------------------------------";
+
+ private final static String LEVEL_TO_STRING[] = new String[]{
+ "",
+ "ERROR [ " + Activator.bc.getBundle().getBundleId() + " ] ",
+ "WARNING [ " + Activator.bc.getBundle().getBundleId() + " ] ",
+ "INFO [ " + Activator.bc.getBundle().getBundleId() + " ] ",
+ "DEBUG [ " + Activator.bc.getBundle().getBundleId() + " ] ",
+ };
+
+
+ /**
+ * Create a Logger with <code>System.out</code> as <tt>PrintStream</tt> and without
+ * reporting message on both <tt>PrintStream</tt> and <tt>LogService</tt>
+ *
+ * @param log <tt>ServiceReference</tt> to the <tt>LogService</tt> to use,
+ * or null to avoid the use of this service
+ *
+ * @see #Logger(LogService, PrintStream, boolean)
+ */
+ public Logger(String levelStr){
+ this.out = System.out;
+ try {
+ this.level = Integer.parseInt(levelStr);
+ } catch (Exception ex){
+ out.println("WARNING [UPnPBaseDriver Log]: " + levelStr+" is not a valid value!");
+ this.level=2;
+ }
+ findService();
+ }
+
+ public void setCyberDebug(String value){
+ try {
+ if (Boolean.valueOf(value).booleanValue()){
+ Debug.on();
+ out.println("INFO [UPnPBaseDriver] Started CyberLink Debug");
+ }
+ } catch (Exception ex){
+ out.println("WARNING [UPnPBaseDriver CyberLog]: " + value +" is not a valid value!");
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////////////////////
+ //////////////////////////// programmatic interface ////////////////////////////////
+ ////////////////////////////////////////////////////////////////////////////////////
+
+ public void setLogLevel(int level){
+ if (level < 0 || level >4 ) throw new IllegalArgumentException("Log Level must be [0-4]");
+ this.level = level;
+ }
+
+ public int getLogLevel(){
+ return this.level;
+ }
+
+
+ public void setCyberDebug(boolean value){
+ if (value) Debug.on();
+ else Debug.off();
+ }
+
+ public boolean getCyberDebug(){
+ return Debug.isOn();
+ }
+ //////////////////////////// end programmatic interface ////////////////////////////
+
+
+ public final void ERROR(String message) {
+ log(1,message);
+ }
+
+ public final void WARNING(String message) {
+ log(2,message);
+ }
+
+ public final void INFO(String message) {
+ log(3,message);
+ }
+
+ public final void DEBUG(String message) {
+ log(4,message);
+ }
+
+ public final void PACKET(String message) {
+ log(4, new StringBuffer(ROW).append(message).append(END_ROW).toString());
+ }
+
+ /**
+ * Logs a message.
+ *
+ * <p>The <tt>ServiceReference</tt> field and the <tt>Throwable</tt>
+ * field of the <tt>LogEntry</tt> object will be set to <tt>null</tt>.
+ * @param msglevel The severity of the message.
+ * This should be one of the defined log levels
+ * but may be any integer that is interpreted in a user defined way.
+ * @param message Human readable string describing the condition or <tt>null</tt>.
+ * @see #LOG_ERROR
+ * @see #LOG_WARNING
+ * @see #LOG_INFO
+ * @see #LOG_DEBUG
+ */
+ public void log(int msglevel, String message) {
+ synchronized (this) {
+ if (msglevel <= this.level){
+ if (this.osgiLogService != null ){
+ osgiLogService.log(msglevel, message);
+ }
+ else {
+ StringBuffer sb = new StringBuffer(Logger.LEVEL_TO_STRING[msglevel]);
+ this.out.println(sb.append(message));
+ }
+ }
+ }
+
+ }
+
+ /**
+ * Logs a message with an exception.
+ *
+ * <p>The <tt>ServiceReference</tt> field of the <tt>LogEntry</tt> object will be set to <tt>null</tt>.
+ * @param msglevel The severity of the message.
+ * This should be one of the defined log levels
+ * but may be any integer that is interpreted in a user defined way.
+ * @param message The human readable string describing the condition or <tt>null</tt>.
+ * @param exception The exception that reflects the condition or <tt>null</tt>.
+ * @see #LOG_ERROR
+ * @see #LOG_WARNING
+ * @see #LOG_INFO
+ * @see #LOG_DEBUG
+ */
+ public void log(int msglevel, String message, Throwable exception) {
+ synchronized (this) {
+ if (msglevel <= this.level){
+ if(this.osgiLogService != null){
+ osgiLogService.log(msglevel, message, exception);
+ }
+ else {
+ StringBuffer sb = new StringBuffer(Logger.LEVEL_TO_STRING[msglevel]);
+ this.out.println(sb.append(message).append(NEWLINE).append(exception));
+ exception.printStackTrace(this.out);
+ }
+ }
+ }
+ }
+
+ private synchronized void setLogService(ServiceReference reference){
+ this.rls = reference;
+ this.osgiLogService = (LogService) Activator.bc.getService(rls);
+ }
+ /**
+ * This look for a <tt>LogService</tt> if it founds no <tt>LogService</tt> will register a new
+ * Listener of LogService
+ *
+ */
+ private synchronized void findService() {
+ //PRE:Actually no LogService are setted and we are registered as ServiceListener
+ // for LogService (unregisterin event)
+ this.rls = Activator.bc.getServiceReference(LogService.class.getName());
+ if (this.rls != null){
+ this.osgiLogService = (LogService) Activator.bc.getService(rls);
+ }
+ try {
+ Activator.bc.addServiceListener(this,
+ "(" + Constants.OBJECTCLASS + "=" + LogService.class.getName() + ")"
+ );
+ } catch (InvalidSyntaxException ignore) {}
+ //POST: We are connected to a LogService or we are registered as ServiceListener
+ // for LogService(registering event)
+ }
+
+ private synchronized void releaseLogService() {
+ if( osgiLogService != null)
+ Activator.bc.ungetService(this.rls);
+ this.rls = null;
+ this.osgiLogService = null;
+ }
+
+ /**
+ * Used to keep track the existence of a <tt>LogService</tt>
+ *
+ * @see ServiceListener#serviceChanged(org.osgi.framework.ServiceEvent)
+ */
+ public void serviceChanged(ServiceEvent e) {
+ switch (e.getType()) {
+ case ServiceEvent.REGISTERED: {
+ // put here code check for serviceid
+ setLogService(e.getServiceReference());
+ }break;
+
+ case ServiceEvent.MODIFIED:
+ break;
+
+ case ServiceEvent.UNREGISTERING: {
+ // put here code check for serviceid
+ releaseLogService();
+ }break;
+ }
+ }
+
+ /**
+ * Stop using the <tt>LogService</tt> and listening for those service event
+ *
+ * NOTE: All the message will be reported to <tt>PrintStream</tt>
+ *
+ */
+ public void close(){
+ Activator.bc.removeServiceListener(this);
+ releaseLogService();
+ }
+}
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/tool/Logger.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/tool/Logger.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/tool/Logger.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Constants.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Converter.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Converter.java?rev=674879&r1=674878&r2=674879&view=diff
==============================================================================
--- felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Converter.java (original)
+++ felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Converter.java Tue Jul 8 09:59:54 2008
@@ -1,254 +1,254 @@
-/*
- * 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.
- */
-
-package org.apache.felix.upnp.basedriver.util;
-
-import java.text.ParseException;
-import java.text.ParsePosition;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.TimeZone;
-
-import org.apache.xerces.impl.dv.util.Base64;
-import org.apache.xerces.impl.dv.util.HexBin;
-
-import org.osgi.service.upnp.UPnPStateVariable;
-
-/**
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
-public class Converter {
-
- /**
- *
- * @param value Object that contain the value
- * @param upnpType String conating the UPnP Type of the Object
- * @return a String that contain the UPnP rappresentation of the value contained in Object
- * of type specified by typeUPnP
- */
- public static String toString(Object value,String upnpType) throws Exception{
- if((value==null)||(upnpType==null))
- throw new NullPointerException("Must be specified a valid value and upnpType");
-
- if(value instanceof Number){
- if(value instanceof Integer){
- return value.toString();
- }else if(value instanceof Float){
- return value.toString();
- }else if(value instanceof Long){
- if(upnpType.equals(UPnPStateVariable.TYPE_TIME)){
- long l = ((Long)value).longValue();
- if(l<0) throw new IllegalArgumentException(l+ "Must be greater than 0");
- Calendar c = Calendar.getInstance();
- c.set(Calendar.HOUR_OF_DAY,(int) (l/3600000));
- int x=(int) (l % 3600000);
- c.set(Calendar.MINUTE,(int) (x / 60000));
- c.set(Calendar.SECOND,(x % 60000)/1000);
- SimpleDateFormat sdt = new SimpleDateFormat("HH:mm:ss");
- return sdt.format(c.getTime());
- }else if(upnpType.equals(UPnPStateVariable.TYPE_TIME_TZ)){
- long l = ((Long)value).longValue();
- if(l<0) throw new IllegalArgumentException(l+ "Must be greater than 0");
- Calendar c = Calendar.getInstance();
- c.set(Calendar.HOUR_OF_DAY,(int) (l/3600000));
- int x=(int) (l % 3600000);
- c.set(Calendar.MINUTE,(int) (x / 60000));
- c.set(Calendar.SECOND,(x % 60000)/1000);
- SimpleDateFormat sdt = new SimpleDateFormat("HH:mm:ssZ");
- return sdt.format(c.getTime());
- }else{
- //Must be UPnPStateVariable.TYPE_UI4)
- return value.toString();
- }
- }else if(value instanceof Double){
- if(upnpType.equals(UPnPStateVariable.TYPE_FIXED_14_4)){
- return Long.toString(((Double)value).longValue())+"."+
- Integer.toString((int) (((((Double)value).doubleValue()*10000D) % 10000)));
- }else{
- //Must be UPnPStateVariable.TYPE_R8 or UPnPStateVariable.TYPE_NUMBER
- return value.toString();
- }
- }
- }else if(value instanceof Date){
- if(upnpType.equals("dateTime")){
- SimpleDateFormat sdt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
- return sdt.format(value);
- }else if(upnpType.equals("dateTime.tz")){
- SimpleDateFormat sdt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
- return sdt.format(value);
- }else if(upnpType.equals("date")){
- SimpleDateFormat sdt = new SimpleDateFormat("yyyy-MM-dd");
- return sdt.format(value);
- }
- }else if(value instanceof Boolean){
- //Must be UPnPStateVariable.TYPE_BOOLEAN
- if(((Boolean)value).booleanValue()){
- return "1";
- }else{
- return "0";
- }
- }else if(value instanceof Character){
- //Must be UPnPStateVariable.TYPE_CHAR
- return value.toString();
- }else if(value instanceof String){
- return value.toString();
- //Must be one of
- // UPnPStateVariable.TYPE_STRING or
- // UPnPStateVariable.TYPE_URI or
- // UPnPStateVariable.TYPE_UUID
- }else if(value instanceof byte[]){
- if(upnpType.equals("bin.hex")){
- return HexBin.encode((byte[]) value);
- }else if(upnpType.equals("bin.base64")){
- return Base64.encode((byte[]) value);
- }
- }
- throw new IllegalArgumentException("Invalid Binding");
- }
-
- /**
- *
- * @param value
- * @param upnpType
- * @return
- */
- public static Object parseString(String value,String upnpType) throws Exception{
- if (value ==null && upnpType.equals("string"))
- value = "";
- if((value==null)||(upnpType==null))
- throw new NullPointerException("Must be specified a valid value and upnpType");
-
- if (upnpType.equals("ui1") || upnpType.equals("ui2")
- || upnpType.equals("i1") || upnpType.equals("i2")
- || upnpType.equals("i4") || upnpType.equals("int")) {
-
- return new Integer(value);
- } else if (upnpType.equals("ui4")){
- return new Long(value);
- } else if(upnpType.equals("time")){
- String[] timeFormats=new String[]{"HH:mm:ss"};
- Date d=getDateValue(value,timeFormats,timeFormats);
-
- Calendar c = Calendar.getInstance();
- c.setTime(d);
- return new Long(
- c.get(Calendar.HOUR_OF_DAY)*3600000
- +c.get(Calendar.MINUTE)*60000
- +c.get(Calendar.SECOND)*1000
- );
- } else if(upnpType.equals("time.tz")) {
- String[] timeFormats=new String[]{"HH:mm:ssZ","HH:mm:ss"};
- Date d=getDateValue(value,timeFormats,timeFormats);
- TimeZone tz = TimeZone.getDefault();
- Calendar c = Calendar.getInstance(tz);
- c.setTime(d);
-
- if(timeFormats[0].equals("HH:mm:ssZ")&&(tz.inDaylightTime(d)))
- c.add(Calendar.MILLISECOND,3600000);
- return new Long(
- c.get(Calendar.HOUR_OF_DAY)*3600000
- +c.get(Calendar.MINUTE)*60000
- +c.get(Calendar.SECOND)*1000
- );
- } else if (upnpType.equals("r4") || upnpType.equals("float")) {
- return new Float(value);
- } else if (upnpType.equals("r8") || upnpType.equals("number")
- || upnpType.equals("fixed.14.4")){
- return new Double(value);
- } else if (upnpType.equals("char")) {
- return new Character(value.charAt(0));
- } else if (upnpType.equals("string") || upnpType.equals("uri")
- || upnpType.equals("uuid")) {
- return value;
- } else if (upnpType.equals("date")) {
- String[] timeFormats=new String[]{"yyyy-MM-dd"};
-
- Date d=getDateValue(value,timeFormats,timeFormats);
- return d;
- } else if (upnpType.equals("dateTime")) {
-
- String[] timeFormats=new String[]{
- "yyyy-MM-dd",
- "yyyy-MM-dd'T'HH:mm:ss"
- };
-
- Date d=getDateValue(value,timeFormats,timeFormats);
- return d;
- } else if (upnpType.equals("dateTime.tz")) {
-
- String[] timeFormats=new String[]{
- "yyyy-MM-dd",
- "yyyy-MM-dd'T'HH:mm:ss",
- "yyyy-MM-dd'T'HH:mm:ssZ"
- };
-
- Date d=getDateValue(value,timeFormats,timeFormats);
- return d;
- } else if (upnpType.equals("boolean")) {
- if(value.equalsIgnoreCase("yes") || value.equalsIgnoreCase("true")
- || value.equalsIgnoreCase("1"))
- return Boolean.TRUE;
- else
- return Boolean.FALSE;
- } else if (upnpType.equals("bin.base64")) {
- return Base64.decode(value);
- } else if (upnpType.equals("bin.hex")) {
- return HexBin.decode(value);
- }
- throw new IllegalArgumentException("Invalid Binding");
- }
-
- private static String normalizeTimeZone(String value){
- if(value.endsWith("Z")){
- value=value.substring(0,value.length()-1)+"+0000";
- }else if((value.length()>7)
- &&(value.charAt(value.length()-3)==':')
- &&((value.charAt(value.length()-6)=='-')||(value.charAt(value.length()-6)=='+'))){
-
- value=value.substring(0,value.length()-3)+value.substring(value.length()-2);
- }
- return value;
- }
-
- /**
- * @param value
- * @param timeFormats
- * @param choosedIndex
- * @return
- * @throws ParseException
- */
- private static Date getDateValue(String value, String[] timeFormats, String[] choosedIndex) throws ParseException {
- ParsePosition position = null;
- Date d;
- value=normalizeTimeZone(value);
- for (int i=0; i<timeFormats.length; i++) {
- position = new ParsePosition(0);
- SimpleDateFormat sdt = new SimpleDateFormat(timeFormats[i]);
- d=sdt.parse(value,position);
- if(d!=null){
- if(position.getIndex()>=value.length()){
- choosedIndex[0]=timeFormats[i];
- return d;
- }
- }
- }
- throw new ParseException("Error parsing "+value,position.getIndex());
- }
-}
+/*
+ * 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.
+ */
+
+package org.apache.felix.upnp.basedriver.util;
+
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+import org.apache.xerces.impl.dv.util.Base64;
+import org.apache.xerces.impl.dv.util.HexBin;
+
+import org.osgi.service.upnp.UPnPStateVariable;
+
+/**
+* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+*/
+public class Converter {
+
+ /**
+ *
+ * @param value Object that contain the value
+ * @param upnpType String conating the UPnP Type of the Object
+ * @return a String that contain the UPnP rappresentation of the value contained in Object
+ * of type specified by typeUPnP
+ */
+ public static String toString(Object value,String upnpType) throws Exception{
+ if((value==null)||(upnpType==null))
+ throw new NullPointerException("Must be specified a valid value and upnpType");
+
+ if(value instanceof Number){
+ if(value instanceof Integer){
+ return value.toString();
+ }else if(value instanceof Float){
+ return value.toString();
+ }else if(value instanceof Long){
+ if(upnpType.equals(UPnPStateVariable.TYPE_TIME)){
+ long l = ((Long)value).longValue();
+ if(l<0) throw new IllegalArgumentException(l+ "Must be greater than 0");
+ Calendar c = Calendar.getInstance();
+ c.set(Calendar.HOUR_OF_DAY,(int) (l/3600000));
+ int x=(int) (l % 3600000);
+ c.set(Calendar.MINUTE,(int) (x / 60000));
+ c.set(Calendar.SECOND,(x % 60000)/1000);
+ SimpleDateFormat sdt = new SimpleDateFormat("HH:mm:ss");
+ return sdt.format(c.getTime());
+ }else if(upnpType.equals(UPnPStateVariable.TYPE_TIME_TZ)){
+ long l = ((Long)value).longValue();
+ if(l<0) throw new IllegalArgumentException(l+ "Must be greater than 0");
+ Calendar c = Calendar.getInstance();
+ c.set(Calendar.HOUR_OF_DAY,(int) (l/3600000));
+ int x=(int) (l % 3600000);
+ c.set(Calendar.MINUTE,(int) (x / 60000));
+ c.set(Calendar.SECOND,(x % 60000)/1000);
+ SimpleDateFormat sdt = new SimpleDateFormat("HH:mm:ssZ");
+ return sdt.format(c.getTime());
+ }else{
+ //Must be UPnPStateVariable.TYPE_UI4)
+ return value.toString();
+ }
+ }else if(value instanceof Double){
+ if(upnpType.equals(UPnPStateVariable.TYPE_FIXED_14_4)){
+ return Long.toString(((Double)value).longValue())+"."+
+ Integer.toString((int) (((((Double)value).doubleValue()*10000D) % 10000)));
+ }else{
+ //Must be UPnPStateVariable.TYPE_R8 or UPnPStateVariable.TYPE_NUMBER
+ return value.toString();
+ }
+ }
+ }else if(value instanceof Date){
+ if(upnpType.equals("dateTime")){
+ SimpleDateFormat sdt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
+ return sdt.format(value);
+ }else if(upnpType.equals("dateTime.tz")){
+ SimpleDateFormat sdt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
+ return sdt.format(value);
+ }else if(upnpType.equals("date")){
+ SimpleDateFormat sdt = new SimpleDateFormat("yyyy-MM-dd");
+ return sdt.format(value);
+ }
+ }else if(value instanceof Boolean){
+ //Must be UPnPStateVariable.TYPE_BOOLEAN
+ if(((Boolean)value).booleanValue()){
+ return "1";
+ }else{
+ return "0";
+ }
+ }else if(value instanceof Character){
+ //Must be UPnPStateVariable.TYPE_CHAR
+ return value.toString();
+ }else if(value instanceof String){
+ return value.toString();
+ //Must be one of
+ // UPnPStateVariable.TYPE_STRING or
+ // UPnPStateVariable.TYPE_URI or
+ // UPnPStateVariable.TYPE_UUID
+ }else if(value instanceof byte[]){
+ if(upnpType.equals("bin.hex")){
+ return HexBin.encode((byte[]) value);
+ }else if(upnpType.equals("bin.base64")){
+ return Base64.encode((byte[]) value);
+ }
+ }
+ throw new IllegalArgumentException("Invalid Binding");
+ }
+
+ /**
+ *
+ * @param value
+ * @param upnpType
+ * @return
+ */
+ public static Object parseString(String value,String upnpType) throws Exception{
+ if (value ==null && upnpType.equals("string"))
+ value = "";
+ if((value==null)||(upnpType==null))
+ throw new NullPointerException("Must be specified a valid value and upnpType");
+
+ if (upnpType.equals("ui1") || upnpType.equals("ui2")
+ || upnpType.equals("i1") || upnpType.equals("i2")
+ || upnpType.equals("i4") || upnpType.equals("int")) {
+
+ return new Integer(value);
+ } else if (upnpType.equals("ui4")){
+ return new Long(value);
+ } else if(upnpType.equals("time")){
+ String[] timeFormats=new String[]{"HH:mm:ss"};
+ Date d=getDateValue(value,timeFormats,timeFormats);
+
+ Calendar c = Calendar.getInstance();
+ c.setTime(d);
+ return new Long(
+ c.get(Calendar.HOUR_OF_DAY)*3600000
+ +c.get(Calendar.MINUTE)*60000
+ +c.get(Calendar.SECOND)*1000
+ );
+ } else if(upnpType.equals("time.tz")) {
+ String[] timeFormats=new String[]{"HH:mm:ssZ","HH:mm:ss"};
+ Date d=getDateValue(value,timeFormats,timeFormats);
+ TimeZone tz = TimeZone.getDefault();
+ Calendar c = Calendar.getInstance(tz);
+ c.setTime(d);
+
+ if(timeFormats[0].equals("HH:mm:ssZ")&&(tz.inDaylightTime(d)))
+ c.add(Calendar.MILLISECOND,3600000);
+ return new Long(
+ c.get(Calendar.HOUR_OF_DAY)*3600000
+ +c.get(Calendar.MINUTE)*60000
+ +c.get(Calendar.SECOND)*1000
+ );
+ } else if (upnpType.equals("r4") || upnpType.equals("float")) {
+ return new Float(value);
+ } else if (upnpType.equals("r8") || upnpType.equals("number")
+ || upnpType.equals("fixed.14.4")){
+ return new Double(value);
+ } else if (upnpType.equals("char")) {
+ return new Character(value.charAt(0));
+ } else if (upnpType.equals("string") || upnpType.equals("uri")
+ || upnpType.equals("uuid")) {
+ return value;
+ } else if (upnpType.equals("date")) {
+ String[] timeFormats=new String[]{"yyyy-MM-dd"};
+
+ Date d=getDateValue(value,timeFormats,timeFormats);
+ return d;
+ } else if (upnpType.equals("dateTime")) {
+
+ String[] timeFormats=new String[]{
+ "yyyy-MM-dd",
+ "yyyy-MM-dd'T'HH:mm:ss"
+ };
+
+ Date d=getDateValue(value,timeFormats,timeFormats);
+ return d;
+ } else if (upnpType.equals("dateTime.tz")) {
+
+ String[] timeFormats=new String[]{
+ "yyyy-MM-dd",
+ "yyyy-MM-dd'T'HH:mm:ss",
+ "yyyy-MM-dd'T'HH:mm:ssZ"
+ };
+
+ Date d=getDateValue(value,timeFormats,timeFormats);
+ return d;
+ } else if (upnpType.equals("boolean")) {
+ if(value.equalsIgnoreCase("yes") || value.equalsIgnoreCase("true")
+ || value.equalsIgnoreCase("1"))
+ return Boolean.TRUE;
+ else
+ return Boolean.FALSE;
+ } else if (upnpType.equals("bin.base64")) {
+ return Base64.decode(value);
+ } else if (upnpType.equals("bin.hex")) {
+ return HexBin.decode(value);
+ }
+ throw new IllegalArgumentException("Invalid Binding");
+ }
+
+ private static String normalizeTimeZone(String value){
+ if(value.endsWith("Z")){
+ value=value.substring(0,value.length()-1)+"+0000";
+ }else if((value.length()>7)
+ &&(value.charAt(value.length()-3)==':')
+ &&((value.charAt(value.length()-6)=='-')||(value.charAt(value.length()-6)=='+'))){
+
+ value=value.substring(0,value.length()-3)+value.substring(value.length()-2);
+ }
+ return value;
+ }
+
+ /**
+ * @param value
+ * @param timeFormats
+ * @param choosedIndex
+ * @return
+ * @throws ParseException
+ */
+ private static Date getDateValue(String value, String[] timeFormats, String[] choosedIndex) throws ParseException {
+ ParsePosition position = null;
+ Date d;
+ value=normalizeTimeZone(value);
+ for (int i=0; i<timeFormats.length; i++) {
+ position = new ParsePosition(0);
+ SimpleDateFormat sdt = new SimpleDateFormat(timeFormats[i]);
+ d=sdt.parse(value,position);
+ if(d!=null){
+ if(position.getIndex()>=value.length()){
+ choosedIndex[0]=timeFormats[i];
+ return d;
+ }
+ }
+ }
+ throw new ParseException("Error parsing "+value,position.getIndex());
+ }
+}
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Converter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Converter.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/felix/upnp/basedriver/util/Converter.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/Base64.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/Base64.java?rev=674879&r1=674878&r2=674879&view=diff
==============================================================================
--- felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/Base64.java (original)
+++ felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/Base64.java Tue Jul 8 09:59:54 2008
@@ -35,7 +35,7 @@
*
* @author Jeffrey Rodriguez
* @author Sandy Gao
- * @version $Id: Base64.java,v 1.15 2004/10/14 15:20:18 mrglavas Exp $
+ * @version $Id$
*/
public final class Base64 {
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/Base64.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/Base64.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/Base64.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java?rev=674879&r1=674878&r2=674879&view=diff
==============================================================================
--- felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java (original)
+++ felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java Tue Jul 8 09:59:54 2008
@@ -27,7 +27,7 @@
* @xerces.internal
*
* @author Jeffrey Rodriguez
- * @version $Id: HexBin.java,v 1.13 2004/10/14 15:20:18 mrglavas Exp $
+ * @version $Id$
*/
public final class HexBin {
static private final int BASELENGTH = 128;
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: felix/trunk/upnp/basedriver/src/main/java/org/apache/xerces/impl/dv/util/HexBin.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: felix/trunk/upnp/doc/config.properties.upnp
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/doc/config.properties.upnp?rev=674879&r1=674878&r2=674879&view=diff
==============================================================================
--- felix/trunk/upnp/doc/config.properties.upnp (original)
+++ felix/trunk/upnp/doc/config.properties.upnp Tue Jul 8 09:59:54 2008
@@ -1,510 +1,510 @@
-# 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.
-
-#
-# Framework config properties.
-#
-org.osgi.framework.system.packages=org.osgi.framework; version=1.3.0, \
- org.osgi.service.packageadmin; version=1.2.0, \
- org.osgi.service.startlevel; version=1.0.0, \
- org.osgi.service.url; version=1.0.0, \
- org.osgi.util.tracker; version=1.3.2 \
- ${jre-${java.specification.version}}
-
-#org.osgi.framework.bootdelegation=sun.*,com.sun.*
-
-felix.cache.profile=upnp
-
-felix.auto.start.1= \
- file:bundle/org.apache.felix.shell-1.1.0-SNAPSHOT.jar \
- file:bundle/org.apache.felix.shell.tui-1.1.0-SNAPSHOT.jar \
- file:bundle/org.apache.felix.bundlerepository-1.1.0-SNAPSHOT.jar \
- file:../org.osgi.core/target/org.osgi.core-1.1.0-SNAPSHOT.jar \
- file:../javax.servlet/target/javax.servlet-1.0.1-SNAPSHOT.jar \
- file:../org.osgi.compendium/target/org.osgi.compendium-1.1.0-SNAPSHOT.jar \
- file:../http.jetty/target/org.apache.felix.http.jetty-0.9.0-SNAPSHOT.jar \
- file:../upnp/basedriver/target/org.apache.felix.upnp.basedriver-0.3.0-SNAPSHOT.jar \
- file:../upnp/extra/target/org.apache.felix.upnp.extra-0.3.0-SNAPSHOT.jar \
- file:../upnp/tester/target/org.apache.felix.upnp.tester-0.2.0-SNAPSHOT.jar \
- file:../upnp/samples/tv/target/org.apache.felix.upnp.sample.tv-0.2.0-SNAPSHOT.jar \
- file:../upnp/samples/clock/target/org.apache.felix.upnp.sample.clock-0.2.0-SNAPSHOT.jar \
- file:../upnp/samples/binarylight/target/org.apache.felix.upnp.sample.binaryLight-0.2.0-SNAPSHOT.jar
-
-felix.log.level=4
-felix.startlevel.framework=1
-felix.startlevel.bundle=1
-#framework.service.urlhandlers=false
-
-#
-# Bundle config properties.
-#
-org.osgi.service.http.port=8080
-osgi.shell.telnet=on
-#obr.repository.url=http://bundles.osgi.org/obr/browse?_xml=1&cmd=repository
-
-
-#
-# UPnP Basedriver properties
-#
-
-#felix.upnpbase.log=2
-#felix.upnpbase.exporter.enabled=true
-#felix.upnpbase.importer.enabled=true
-#felix.upnpbase.cyberdomo.log=false
-#felix.upnpbase.cyberdomo.net.loopback=false
-#felix.upnpbase.cyberdomo.net.onlyIPV4=true
-#felix.upnpbase.cyberdomo.net.onlyIPV6=false
-
-#
-# Other useful properties you might configure are
-# the System Properties used by Cyberdomo (e.g. -Dcyberdomo.ssdp.mx=10)
-#
-# cyberdomo.ssdp.mx (default 5)
-# cyberdomo.ssdp.buffersize (default 2048)
-# cyberdomo.ssdp.port (default 1900 )
-#
-
-#
-# Java platform package export properties.
-#
-jre-1.3=, \
- javax.accessibility; \
- javax.naming; \
- javax.naming.directory; \
- javax.naming.event; \
- javax.naming.ldap; \
- javax.naming.spi; \
- javax.rmi; \
- javax.rmi.CORBA; \
- javax.sound.midi; \
- javax.sound.midi.spi; \
- javax.sound.sampled; \
- javax.sound.sampled.spi; \
- javax.swing; \
- javax.swing.border; \
- javax.swing.colorchooser; \
- javax.swing.event; \
- javax.swing.filechooser; \
- javax.swing.plaf; \
- javax.swing.plaf.basic; \
- javax.swing.plaf.metal; \
- javax.swing.plaf.multi; \
- javax.swing.table; \
- javax.swing.text; \
- javax.swing.text.html; \
- javax.swing.text.html.parser; \
- javax.swing.text.rtf; \
- javax.swing.tree; \
- javax.swing.undo; \
- javax.transaction; \
- org.omg.CORBA; \
- org.omg.CORBA_2_3; \
- org.omg.CORBA_2_3.portable; \
- org.omg.CORBA.DynAnyPackage; \
- org.omg.CORBA.ORBPackage; \
- org.omg.CORBA.portable; \
- org.omg.CORBA.TypeCodePackage; \
- org.omg.CosNaming; \
- org.omg.CosNaming.NamingContextPackage; \
- org.omg.SendingContext; \
- org.omg.stub.java.rmi; \
- version="1.3.0"
-
-jre-1.4=, \
- javax.accessibility; \
- javax.crypto; \
- javax.crypto.interfaces; \
- javax.crypto.spec; \
- javax.imageio; \
- javax.imageio.event; \
- javax.imageio.metadata; \
- javax.imageio.plugins.jpeg; \
- javax.imageio.spi; \
- javax.imageio.stream; \
- javax.naming; \
- javax.naming.directory; \
- javax.naming.event; \
- javax.naming.ldap; \
- javax.naming.spi; \
- javax.net; \
- javax.net.ssl; \
- javax.print; \
- javax.print.attribute; \
- javax.print.attribute.standard; \
- javax.print.event; \
- javax.rmi; \
- javax.rmi.CORBA; \
- javax.security.auth; \
- javax.security.auth.callback; \
- javax.security.auth.kerberos; \
- javax.security.auth.login; \
- javax.security.auth.spi; \
- javax.security.auth.x500; \
- javax.sound.midi; \
- javax.sound.midi.spi; \
- javax.sound.sampled; \
- javax.sound.sampled.spi; \
- javax.sql; \
- javax.swing; \
- javax.swing.border; \
- javax.swing.colorchooser; \
- javax.swing.event; \
- javax.swing.filechooser; \
- javax.swing.plaf; \
- javax.swing.plaf.basic; \
- javax.swing.plaf.metal; \
- javax.swing.plaf.multi; \
- javax.swing.table; \
- javax.swing.text; \
- javax.swing.text.html; \
- javax.swing.text.html.parser; \
- javax.swing.text.rtf; \
- javax.swing.tree; \
- javax.swing.undo; \
- javax.transaction; \
- javax.transaction.xa; \
- javax.xml.parsers; \
- javax.xml.transform; \
- javax.xml.transform.dom; \
- javax.xml.transform.sax; \
- javax.xml.transform.stream; \
- org.ietf.jgss; \
- org.omg.CORBA; \
- org.omg.CORBA_2_3; \
- org.omg.CORBA_2_3.portable; \
- org.omg.CORBA.DynAnyPackage; \
- org.omg.CORBA.ORBPackage; \
- org.omg.CORBA.portable; \
- org.omg.CORBA.TypeCodePackage; \
- org.omg.CosNaming; \
- org.omg.CosNaming.NamingContextExtPackage; \
- org.omg.CosNaming.NamingContextPackage; \
- org.omg.Dynamic; \
- org.omg.DynamicAny; \
- org.omg.DynamicAny.DynAnyFactoryPackage; \
- org.omg.DynamicAny.DynAnyPackage; \
- org.omg.IOP; \
- org.omg.IOP.CodecFactoryPackage; \
- org.omg.IOP.CodecPackage; \
- org.omg.Messaging; \
- org.omg.PortableInterceptor; \
- org.omg.PortableInterceptor.ORBInitInfoPackage; \
- org.omg.PortableServer; \
- org.omg.PortableServer.CurrentPackage; \
- org.omg.PortableServer.POAManagerPackage; \
- org.omg.PortableServer.POAPackage; \
- org.omg.PortableServer.portable; \
- org.omg.PortableServer.ServantLocatorPackage; \
- org.omg.SendingContext; \
- org.omg.stub.java.rmi; \
- org.w3c.dom; \
- org.w3c.dom.css; \
- org.w3c.dom.events; \
- org.w3c.dom.html; \
- org.w3c.dom.stylesheets; \
- org.w3c.dom.traversal; \
- org.w3c.dom.views; \
- org.xml.sax; \
- org.xml.sax.ext; \
- org.xml.sax.helpers; \
- version="1.4.0"
-
-jre-1.5=, \
- javax.accessibility; \
- javax.activity; \
- javax.crypto; \
- javax.crypto.interfaces; \
- javax.crypto.spec; \
- javax.imageio; \
- javax.imageio.event; \
- javax.imageio.metadata; \
- javax.imageio.plugins.bmp; \
- javax.imageio.plugins.jpeg; \
- javax.imageio.spi; \
- javax.imageio.stream; \
- javax.management; \
- javax.management.loading; \
- javax.management.modelmbean; \
- javax.management.monitor; \
- javax.management.openmbean; \
- javax.management.relation; \
- javax.management.remote; \
- javax.management.remote.rmi; \
- javax.management.timer; \
- javax.naming; \
- javax.naming.directory; \
- javax.naming.event; \
- javax.naming.ldap; \
- javax.naming.spi; \
- javax.net; \
- javax.net.ssl; \
- javax.print; \
- javax.print.attribute; \
- javax.print.attribute.standard; \
- javax.print.event; \
- javax.rmi; \
- javax.rmi.CORBA; \
- javax.rmi.ssl; \
- javax.security.auth; \
- javax.security.auth.callback; \
- javax.security.auth.kerberos; \
- javax.security.auth.login; \
- javax.security.auth.spi; \
- javax.security.auth.x500; \
- javax.security.sasl; \
- javax.sound.midi; \
- javax.sound.midi.spi; \
- javax.sound.sampled; \
- javax.sound.sampled.spi; \
- javax.sql; \
- javax.sql.rowset; \
- javax.sql.rowset.serial; \
- javax.sql.rowset.spi; \
- javax.swing; \
- javax.swing.border; \
- javax.swing.colorchooser; \
- javax.swing.event; \
- javax.swing.filechooser; \
- javax.swing.plaf; \
- javax.swing.plaf.basic; \
- javax.swing.plaf.metal; \
- javax.swing.plaf.multi; \
- javax.swing.plaf.synth; \
- javax.swing.table; \
- javax.swing.text; \
- javax.swing.text.html; \
- javax.swing.text.html.parser; \
- javax.swing.text.rtf; \
- javax.swing.tree; \
- javax.swing.undo; \
- javax.transaction; \
- javax.transaction.xa; \
- javax.xml; \
- javax.xml.datatype; \
- javax.xml.namespace; \
- javax.xml.parsers; \
- javax.xml.transform; \
- javax.xml.transform.dom; \
- javax.xml.transform.sax; \
- javax.xml.transform.stream; \
- javax.xml.validation; \
- javax.xml.xpath; \
- org.ietf.jgss; \
- org.omg.CORBA; \
- org.omg.CORBA_2_3; \
- org.omg.CORBA_2_3.portable; \
- org.omg.CORBA.DynAnyPackage; \
- org.omg.CORBA.ORBPackage; \
- org.omg.CORBA.portable; \
- org.omg.CORBA.TypeCodePackage; \
- org.omg.CosNaming; \
- org.omg.CosNaming.NamingContextExtPackage; \
- org.omg.CosNaming.NamingContextPackage; \
- org.omg.Dynamic; \
- org.omg.DynamicAny; \
- org.omg.DynamicAny.DynAnyFactoryPackage; \
- org.omg.DynamicAny.DynAnyPackage; \
- org.omg.IOP; \
- org.omg.IOP.CodecFactoryPackage; \
- org.omg.IOP.CodecPackage; \
- org.omg.Messaging; \
- org.omg.PortableInterceptor; \
- org.omg.PortableInterceptor.ORBInitInfoPackage; \
- org.omg.PortableServer; \
- org.omg.PortableServer.CurrentPackage; \
- org.omg.PortableServer.POAManagerPackage; \
- org.omg.PortableServer.POAPackage; \
- org.omg.PortableServer.portable; \
- org.omg.PortableServer.ServantLocatorPackage; \
- org.omg.SendingContext; \
- org.omg.stub.java.rmi; \
- org.omg.stub.javax.management.remote.rmi; \
- org.w3c.dom; \
- org.w3c.dom.bootstrap; \
- org.w3c.dom.css; \
- org.w3c.dom.events; \
- org.w3c.dom.html; \
- org.w3c.dom.ls; \
- org.w3c.dom.ranges; \
- org.w3c.dom.stylesheets; \
- org.w3c.dom.traversal; \
- org.w3c.dom.views; \
- org.xml.sax; \
- org.xml.sax.ext; \
- org.xml.sax.helpers; \
- version="1.5.0"
-
-jre-1.6=, \
- javax.accessibility; \
- javax.activation; \
- javax.activity; \
- javax.annotation; \
- javax.annotation.processing; \
- javax.crypto; \
- javax.crypto.interfaces; \
- javax.crypto.spec; \
- javax.imageio; \
- javax.imageio.event; \
- javax.imageio.metadata; \
- javax.imageio.plugins.bmp; \
- javax.imageio.plugins.jpeg; \
- javax.imageio.spi; \
- javax.imageio.stream; \
- javax.jws; \
- javax.jws.soap; \
- javax.lang.model; \
- javax.lang.model.element; \
- javax.lang.model.type; \
- javax.lang.model.util; \
- javax.management; \
- javax.management.loading; \
- javax.management.modelmbean; \
- javax.management.monitor; \
- javax.management.openmbean; \
- javax.management.relation; \
- javax.management.remote; \
- javax.management.remote.rmi; \
- javax.management.timer; \
- javax.naming; \
- javax.naming.directory; \
- javax.naming.event; \
- javax.naming.ldap; \
- javax.naming.spi; \
- javax.net; \
- javax.net.ssl; \
- javax.print; \
- javax.print.attribute; \
- javax.print.attribute.standard; \
- javax.print.event; \
- javax.rmi; \
- javax.rmi.CORBA; \
- javax.rmi.ssl; \
- javax.script; \
- javax.security.auth; \
- javax.security.auth.callback; \
- javax.security.auth.kerberos; \
- javax.security.auth.login; \
- javax.security.auth.spi; \
- javax.security.auth.x500; \
- javax.security.cert; \
- javax.security.sasl; \
- javax.sound.midi; \
- javax.sound.midi.spi; \
- javax.sound.sampled; \
- javax.sound.sampled.spi; \
- javax.sql; \
- javax.sql.rowset; \
- javax.sql.rowset.serial; \
- javax.sql.rowset.spi; \
- javax.swing; \
- javax.swing.border; \
- javax.swing.colorchooser; \
- javax.swing.event; \
- javax.swing.filechooser; \
- javax.swing.plaf; \
- javax.swing.plaf.basic; \
- javax.swing.plaf.metal; \
- javax.swing.plaf.multi; \
- javax.swing.plaf.synth; \
- javax.swing.table; \
- javax.swing.text; \
- javax.swing.text.html; \
- javax.swing.text.html.parser; \
- javax.swing.text.rtf; \
- javax.swing.tree; \
- javax.swing.undo; \
- javax.tools; \
- javax.transaction; \
- javax.transaction.xa; \
- javax.xml; \
- javax.xml.bind; \
- javax.xml.bind.annotation; \
- javax.xml.bind.annotation.adapters; \
- javax.xml.bind.attachment; \
- javax.xml.bind.helpers; \
- javax.xml.bind.util; \
- javax.xml.crypto; \
- javax.xml.crypto.dom; \
- javax.xml.crypto.dsig; \
- javax.xml.crypto.dsig.dom; \
- javax.xml.crypto.dsig.keyinfo; \
- javax.xml.crypto.dsig.spec; \
- javax.xml.datatype; \
- javax.xml.namespace; \
- javax.xml.parsers; \
- javax.xml.soap; \
- javax.xml.stream; \
- javax.xml.stream.events; \
- javax.xml.stream.util; \
- javax.xml.transform; \
- javax.xml.transform.dom; \
- javax.xml.transform.sax; \
- javax.xml.transform.stax; \
- javax.xml.transform.stream; \
- javax.xml.validation; \
- javax.xml.ws; \
- javax.xml.ws.handler; \
- javax.xml.ws.handler.soap; \
- javax.xml.ws.http; \
- javax.xml.ws.soap; \
- javax.xml.ws.spi; \
- javax.xml.xpath; \
- org.ietf.jgss; \
- org.omg.CORBA; \
- org.omg.CORBA_2_3; \
- org.omg.CORBA_2_3.portable; \
- org.omg.CORBA.DynAnyPackage; \
- org.omg.CORBA.ORBPackage; \
- org.omg.CORBA.portable; \
- org.omg.CORBA.TypeCodePackage; \
- org.omg.CosNaming; \
- org.omg.CosNaming.NamingContextExtPackage; \
- org.omg.CosNaming.NamingContextPackage; \
- org.omg.Dynamic; \
- org.omg.DynamicAny; \
- org.omg.DynamicAny.DynAnyFactoryPackage; \
- org.omg.DynamicAny.DynAnyPackage; \
- org.omg.IOP; \
- org.omg.IOP.CodecFactoryPackage; \
- org.omg.IOP.CodecPackage; \
- org.omg.Messaging; \
- org.omg.PortableInterceptor; \
- org.omg.PortableInterceptor.ORBInitInfoPackage; \
- org.omg.PortableServer; \
- org.omg.PortableServer.CurrentPackage; \
- org.omg.PortableServer.POAManagerPackage; \
- org.omg.PortableServer.POAPackage; \
- org.omg.PortableServer.portable; \
- org.omg.PortableServer.ServantLocatorPackage; \
- org.omg.SendingContext; \
- org.omg.stub.java.rmi; \
- org.omg.stub.javax.management.remote.rmi; \
- org.w3c.dom; \
- org.w3c.dom.bootstrap; \
- org.w3c.dom.css; \
- org.w3c.dom.events; \
- org.w3c.dom.html; \
- org.w3c.dom.ls; \
- org.w3c.dom.ranges; \
- org.w3c.dom.stylesheets; \
- org.w3c.dom.traversal; \
- org.w3c.dom.views; \
- org.w3c.dom.xpath; \
- org.xml.sax; \
- org.xml.sax.ext; \
- org.xml.sax.helpers; \
- version=\"1.6.0\"
+# 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.
+
+#
+# Framework config properties.
+#
+org.osgi.framework.system.packages=org.osgi.framework; version=1.3.0, \
+ org.osgi.service.packageadmin; version=1.2.0, \
+ org.osgi.service.startlevel; version=1.0.0, \
+ org.osgi.service.url; version=1.0.0, \
+ org.osgi.util.tracker; version=1.3.2 \
+ ${jre-${java.specification.version}}
+
+#org.osgi.framework.bootdelegation=sun.*,com.sun.*
+
+felix.cache.profile=upnp
+
+felix.auto.start.1= \
+ file:bundle/org.apache.felix.shell-1.1.0-SNAPSHOT.jar \
+ file:bundle/org.apache.felix.shell.tui-1.1.0-SNAPSHOT.jar \
+ file:bundle/org.apache.felix.bundlerepository-1.1.0-SNAPSHOT.jar \
+ file:../org.osgi.core/target/org.osgi.core-1.1.0-SNAPSHOT.jar \
+ file:../javax.servlet/target/javax.servlet-1.0.1-SNAPSHOT.jar \
+ file:../org.osgi.compendium/target/org.osgi.compendium-1.1.0-SNAPSHOT.jar \
+ file:../http.jetty/target/org.apache.felix.http.jetty-0.9.0-SNAPSHOT.jar \
+ file:../upnp/basedriver/target/org.apache.felix.upnp.basedriver-0.9.0-SNAPSHOT.jar \
+ file:../upnp/extra/target/org.apache.felix.upnp.extra-0.3.0-SNAPSHOT.jar \
+ file:../upnp/tester/target/org.apache.felix.upnp.tester-0.2.0-SNAPSHOT.jar \
+ file:../upnp/samples/tv/target/org.apache.felix.upnp.sample.tv-0.2.0-SNAPSHOT.jar \
+ file:../upnp/samples/clock/target/org.apache.felix.upnp.sample.clock-0.2.0-SNAPSHOT.jar \
+ file:../upnp/samples/binarylight/target/org.apache.felix.upnp.sample.binaryLight-0.2.0-SNAPSHOT.jar
+
+felix.log.level=4
+felix.startlevel.framework=1
+felix.startlevel.bundle=1
+#framework.service.urlhandlers=false
+
+#
+# Bundle config properties.
+#
+org.osgi.service.http.port=8080
+osgi.shell.telnet=on
+#obr.repository.url=http://bundles.osgi.org/obr/browse?_xml=1&cmd=repository
+
+
+#
+# UPnP Basedriver properties
+#
+
+#felix.upnpbase.log=2
+#felix.upnpbase.exporter.enabled=true
+#felix.upnpbase.importer.enabled=true
+#felix.upnpbase.cyberdomo.log=false
+#felix.upnpbase.cyberdomo.net.loopback=false
+#felix.upnpbase.cyberdomo.net.onlyIPV4=true
+#felix.upnpbase.cyberdomo.net.onlyIPV6=false
+
+#
+# Other useful properties you might configure are
+# the System Properties used by Cyberdomo (e.g. -Dcyberdomo.ssdp.mx=10)
+#
+# cyberdomo.ssdp.mx (default 5)
+# cyberdomo.ssdp.buffersize (default 2048)
+# cyberdomo.ssdp.port (default 1900 )
+#
+
+#
+# Java platform package export properties.
+#
+jre-1.3=, \
+ javax.accessibility; \
+ javax.naming; \
+ javax.naming.directory; \
+ javax.naming.event; \
+ javax.naming.ldap; \
+ javax.naming.spi; \
+ javax.rmi; \
+ javax.rmi.CORBA; \
+ javax.sound.midi; \
+ javax.sound.midi.spi; \
+ javax.sound.sampled; \
+ javax.sound.sampled.spi; \
+ javax.swing; \
+ javax.swing.border; \
+ javax.swing.colorchooser; \
+ javax.swing.event; \
+ javax.swing.filechooser; \
+ javax.swing.plaf; \
+ javax.swing.plaf.basic; \
+ javax.swing.plaf.metal; \
+ javax.swing.plaf.multi; \
+ javax.swing.table; \
+ javax.swing.text; \
+ javax.swing.text.html; \
+ javax.swing.text.html.parser; \
+ javax.swing.text.rtf; \
+ javax.swing.tree; \
+ javax.swing.undo; \
+ javax.transaction; \
+ org.omg.CORBA; \
+ org.omg.CORBA_2_3; \
+ org.omg.CORBA_2_3.portable; \
+ org.omg.CORBA.DynAnyPackage; \
+ org.omg.CORBA.ORBPackage; \
+ org.omg.CORBA.portable; \
+ org.omg.CORBA.TypeCodePackage; \
+ org.omg.CosNaming; \
+ org.omg.CosNaming.NamingContextPackage; \
+ org.omg.SendingContext; \
+ org.omg.stub.java.rmi; \
+ version="1.3.0"
+
+jre-1.4=, \
+ javax.accessibility; \
+ javax.crypto; \
+ javax.crypto.interfaces; \
+ javax.crypto.spec; \
+ javax.imageio; \
+ javax.imageio.event; \
+ javax.imageio.metadata; \
+ javax.imageio.plugins.jpeg; \
+ javax.imageio.spi; \
+ javax.imageio.stream; \
+ javax.naming; \
+ javax.naming.directory; \
+ javax.naming.event; \
+ javax.naming.ldap; \
+ javax.naming.spi; \
+ javax.net; \
+ javax.net.ssl; \
+ javax.print; \
+ javax.print.attribute; \
+ javax.print.attribute.standard; \
+ javax.print.event; \
+ javax.rmi; \
+ javax.rmi.CORBA; \
+ javax.security.auth; \
+ javax.security.auth.callback; \
+ javax.security.auth.kerberos; \
+ javax.security.auth.login; \
+ javax.security.auth.spi; \
+ javax.security.auth.x500; \
+ javax.sound.midi; \
+ javax.sound.midi.spi; \
+ javax.sound.sampled; \
+ javax.sound.sampled.spi; \
+ javax.sql; \
+ javax.swing; \
+ javax.swing.border; \
+ javax.swing.colorchooser; \
+ javax.swing.event; \
+ javax.swing.filechooser; \
+ javax.swing.plaf; \
+ javax.swing.plaf.basic; \
+ javax.swing.plaf.metal; \
+ javax.swing.plaf.multi; \
+ javax.swing.table; \
+ javax.swing.text; \
+ javax.swing.text.html; \
+ javax.swing.text.html.parser; \
+ javax.swing.text.rtf; \
+ javax.swing.tree; \
+ javax.swing.undo; \
+ javax.transaction; \
+ javax.transaction.xa; \
+ javax.xml.parsers; \
+ javax.xml.transform; \
+ javax.xml.transform.dom; \
+ javax.xml.transform.sax; \
+ javax.xml.transform.stream; \
+ org.ietf.jgss; \
+ org.omg.CORBA; \
+ org.omg.CORBA_2_3; \
+ org.omg.CORBA_2_3.portable; \
+ org.omg.CORBA.DynAnyPackage; \
+ org.omg.CORBA.ORBPackage; \
+ org.omg.CORBA.portable; \
+ org.omg.CORBA.TypeCodePackage; \
+ org.omg.CosNaming; \
+ org.omg.CosNaming.NamingContextExtPackage; \
+ org.omg.CosNaming.NamingContextPackage; \
+ org.omg.Dynamic; \
+ org.omg.DynamicAny; \
+ org.omg.DynamicAny.DynAnyFactoryPackage; \
+ org.omg.DynamicAny.DynAnyPackage; \
+ org.omg.IOP; \
+ org.omg.IOP.CodecFactoryPackage; \
+ org.omg.IOP.CodecPackage; \
+ org.omg.Messaging; \
+ org.omg.PortableInterceptor; \
+ org.omg.PortableInterceptor.ORBInitInfoPackage; \
+ org.omg.PortableServer; \
+ org.omg.PortableServer.CurrentPackage; \
+ org.omg.PortableServer.POAManagerPackage; \
+ org.omg.PortableServer.POAPackage; \
+ org.omg.PortableServer.portable; \
+ org.omg.PortableServer.ServantLocatorPackage; \
+ org.omg.SendingContext; \
+ org.omg.stub.java.rmi; \
+ org.w3c.dom; \
+ org.w3c.dom.css; \
+ org.w3c.dom.events; \
+ org.w3c.dom.html; \
+ org.w3c.dom.stylesheets; \
+ org.w3c.dom.traversal; \
+ org.w3c.dom.views; \
+ org.xml.sax; \
+ org.xml.sax.ext; \
+ org.xml.sax.helpers; \
+ version="1.4.0"
+
+jre-1.5=, \
+ javax.accessibility; \
+ javax.activity; \
+ javax.crypto; \
+ javax.crypto.interfaces; \
+ javax.crypto.spec; \
+ javax.imageio; \
+ javax.imageio.event; \
+ javax.imageio.metadata; \
+ javax.imageio.plugins.bmp; \
+ javax.imageio.plugins.jpeg; \
+ javax.imageio.spi; \
+ javax.imageio.stream; \
+ javax.management; \
+ javax.management.loading; \
+ javax.management.modelmbean; \
+ javax.management.monitor; \
+ javax.management.openmbean; \
+ javax.management.relation; \
+ javax.management.remote; \
+ javax.management.remote.rmi; \
+ javax.management.timer; \
+ javax.naming; \
+ javax.naming.directory; \
+ javax.naming.event; \
+ javax.naming.ldap; \
+ javax.naming.spi; \
+ javax.net; \
+ javax.net.ssl; \
+ javax.print; \
+ javax.print.attribute; \
+ javax.print.attribute.standard; \
+ javax.print.event; \
+ javax.rmi; \
+ javax.rmi.CORBA; \
+ javax.rmi.ssl; \
+ javax.security.auth; \
+ javax.security.auth.callback; \
+ javax.security.auth.kerberos; \
+ javax.security.auth.login; \
+ javax.security.auth.spi; \
+ javax.security.auth.x500; \
+ javax.security.sasl; \
+ javax.sound.midi; \
+ javax.sound.midi.spi; \
+ javax.sound.sampled; \
+ javax.sound.sampled.spi; \
+ javax.sql; \
+ javax.sql.rowset; \
+ javax.sql.rowset.serial; \
+ javax.sql.rowset.spi; \
+ javax.swing; \
+ javax.swing.border; \
+ javax.swing.colorchooser; \
+ javax.swing.event; \
+ javax.swing.filechooser; \
+ javax.swing.plaf; \
+ javax.swing.plaf.basic; \
+ javax.swing.plaf.metal; \
+ javax.swing.plaf.multi; \
+ javax.swing.plaf.synth; \
+ javax.swing.table; \
+ javax.swing.text; \
+ javax.swing.text.html; \
+ javax.swing.text.html.parser; \
+ javax.swing.text.rtf; \
+ javax.swing.tree; \
+ javax.swing.undo; \
+ javax.transaction; \
+ javax.transaction.xa; \
+ javax.xml; \
+ javax.xml.datatype; \
+ javax.xml.namespace; \
+ javax.xml.parsers; \
+ javax.xml.transform; \
+ javax.xml.transform.dom; \
+ javax.xml.transform.sax; \
+ javax.xml.transform.stream; \
+ javax.xml.validation; \
+ javax.xml.xpath; \
+ org.ietf.jgss; \
+ org.omg.CORBA; \
+ org.omg.CORBA_2_3; \
+ org.omg.CORBA_2_3.portable; \
+ org.omg.CORBA.DynAnyPackage; \
+ org.omg.CORBA.ORBPackage; \
+ org.omg.CORBA.portable; \
+ org.omg.CORBA.TypeCodePackage; \
+ org.omg.CosNaming; \
+ org.omg.CosNaming.NamingContextExtPackage; \
+ org.omg.CosNaming.NamingContextPackage; \
+ org.omg.Dynamic; \
+ org.omg.DynamicAny; \
+ org.omg.DynamicAny.DynAnyFactoryPackage; \
+ org.omg.DynamicAny.DynAnyPackage; \
+ org.omg.IOP; \
+ org.omg.IOP.CodecFactoryPackage; \
+ org.omg.IOP.CodecPackage; \
+ org.omg.Messaging; \
+ org.omg.PortableInterceptor; \
+ org.omg.PortableInterceptor.ORBInitInfoPackage; \
+ org.omg.PortableServer; \
+ org.omg.PortableServer.CurrentPackage; \
+ org.omg.PortableServer.POAManagerPackage; \
+ org.omg.PortableServer.POAPackage; \
+ org.omg.PortableServer.portable; \
+ org.omg.PortableServer.ServantLocatorPackage; \
+ org.omg.SendingContext; \
+ org.omg.stub.java.rmi; \
+ org.omg.stub.javax.management.remote.rmi; \
+ org.w3c.dom; \
+ org.w3c.dom.bootstrap; \
+ org.w3c.dom.css; \
+ org.w3c.dom.events; \
+ org.w3c.dom.html; \
+ org.w3c.dom.ls; \
+ org.w3c.dom.ranges; \
+ org.w3c.dom.stylesheets; \
+ org.w3c.dom.traversal; \
+ org.w3c.dom.views; \
+ org.xml.sax; \
+ org.xml.sax.ext; \
+ org.xml.sax.helpers; \
+ version="1.5.0"
+
+jre-1.6=, \
+ javax.accessibility; \
+ javax.activation; \
+ javax.activity; \
+ javax.annotation; \
+ javax.annotation.processing; \
+ javax.crypto; \
+ javax.crypto.interfaces; \
+ javax.crypto.spec; \
+ javax.imageio; \
+ javax.imageio.event; \
+ javax.imageio.metadata; \
+ javax.imageio.plugins.bmp; \
+ javax.imageio.plugins.jpeg; \
+ javax.imageio.spi; \
+ javax.imageio.stream; \
+ javax.jws; \
+ javax.jws.soap; \
+ javax.lang.model; \
+ javax.lang.model.element; \
+ javax.lang.model.type; \
+ javax.lang.model.util; \
+ javax.management; \
+ javax.management.loading; \
+ javax.management.modelmbean; \
+ javax.management.monitor; \
+ javax.management.openmbean; \
+ javax.management.relation; \
+ javax.management.remote; \
+ javax.management.remote.rmi; \
+ javax.management.timer; \
+ javax.naming; \
+ javax.naming.directory; \
+ javax.naming.event; \
+ javax.naming.ldap; \
+ javax.naming.spi; \
+ javax.net; \
+ javax.net.ssl; \
+ javax.print; \
+ javax.print.attribute; \
+ javax.print.attribute.standard; \
+ javax.print.event; \
+ javax.rmi; \
+ javax.rmi.CORBA; \
+ javax.rmi.ssl; \
+ javax.script; \
+ javax.security.auth; \
+ javax.security.auth.callback; \
+ javax.security.auth.kerberos; \
+ javax.security.auth.login; \
+ javax.security.auth.spi; \
+ javax.security.auth.x500; \
+ javax.security.cert; \
+ javax.security.sasl; \
+ javax.sound.midi; \
+ javax.sound.midi.spi; \
+ javax.sound.sampled; \
+ javax.sound.sampled.spi; \
+ javax.sql; \
+ javax.sql.rowset; \
+ javax.sql.rowset.serial; \
+ javax.sql.rowset.spi; \
+ javax.swing; \
+ javax.swing.border; \
+ javax.swing.colorchooser; \
+ javax.swing.event; \
+ javax.swing.filechooser; \
+ javax.swing.plaf; \
+ javax.swing.plaf.basic; \
+ javax.swing.plaf.metal; \
+ javax.swing.plaf.multi; \
+ javax.swing.plaf.synth; \
+ javax.swing.table; \
+ javax.swing.text; \
+ javax.swing.text.html; \
+ javax.swing.text.html.parser; \
+ javax.swing.text.rtf; \
+ javax.swing.tree; \
+ javax.swing.undo; \
+ javax.tools; \
+ javax.transaction; \
+ javax.transaction.xa; \
+ javax.xml; \
+ javax.xml.bind; \
+ javax.xml.bind.annotation; \
+ javax.xml.bind.annotation.adapters; \
+ javax.xml.bind.attachment; \
+ javax.xml.bind.helpers; \
+ javax.xml.bind.util; \
+ javax.xml.crypto; \
+ javax.xml.crypto.dom; \
+ javax.xml.crypto.dsig; \
+ javax.xml.crypto.dsig.dom; \
+ javax.xml.crypto.dsig.keyinfo; \
+ javax.xml.crypto.dsig.spec; \
+ javax.xml.datatype; \
+ javax.xml.namespace; \
+ javax.xml.parsers; \
+ javax.xml.soap; \
+ javax.xml.stream; \
+ javax.xml.stream.events; \
+ javax.xml.stream.util; \
+ javax.xml.transform; \
+ javax.xml.transform.dom; \
+ javax.xml.transform.sax; \
+ javax.xml.transform.stax; \
+ javax.xml.transform.stream; \
+ javax.xml.validation; \
+ javax.xml.ws; \
+ javax.xml.ws.handler; \
+ javax.xml.ws.handler.soap; \
+ javax.xml.ws.http; \
+ javax.xml.ws.soap; \
+ javax.xml.ws.spi; \
+ javax.xml.xpath; \
+ org.ietf.jgss; \
+ org.omg.CORBA; \
+ org.omg.CORBA_2_3; \
+ org.omg.CORBA_2_3.portable; \
+ org.omg.CORBA.DynAnyPackage; \
+ org.omg.CORBA.ORBPackage; \
+ org.omg.CORBA.portable; \
+ org.omg.CORBA.TypeCodePackage; \
+ org.omg.CosNaming; \
+ org.omg.CosNaming.NamingContextExtPackage; \
+ org.omg.CosNaming.NamingContextPackage; \
+ org.omg.Dynamic; \
+ org.omg.DynamicAny; \
+ org.omg.DynamicAny.DynAnyFactoryPackage; \
+ org.omg.DynamicAny.DynAnyPackage; \
+ org.omg.IOP; \
+ org.omg.IOP.CodecFactoryPackage; \
+ org.omg.IOP.CodecPackage; \
+ org.omg.Messaging; \
+ org.omg.PortableInterceptor; \
+ org.omg.PortableInterceptor.ORBInitInfoPackage; \
+ org.omg.PortableServer; \
+ org.omg.PortableServer.CurrentPackage; \
+ org.omg.PortableServer.POAManagerPackage; \
+ org.omg.PortableServer.POAPackage; \
+ org.omg.PortableServer.portable; \
+ org.omg.PortableServer.ServantLocatorPackage; \
+ org.omg.SendingContext; \
+ org.omg.stub.java.rmi; \
+ org.omg.stub.javax.management.remote.rmi; \
+ org.w3c.dom; \
+ org.w3c.dom.bootstrap; \
+ org.w3c.dom.css; \
+ org.w3c.dom.events; \
+ org.w3c.dom.html; \
+ org.w3c.dom.ls; \
+ org.w3c.dom.ranges; \
+ org.w3c.dom.stylesheets; \
+ org.w3c.dom.traversal; \
+ org.w3c.dom.views; \
+ org.w3c.dom.xpath; \
+ org.xml.sax; \
+ org.xml.sax.ext; \
+ org.xml.sax.helpers; \
+ version=\"1.6.0\"
Propchange: felix/trunk/upnp/doc/config.properties.upnp
------------------------------------------------------------------------------
svn:eol-style = native
Modified: felix/trunk/upnp/doc/upnp.sh.bat
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/doc/upnp.sh.bat?rev=674879&r1=674878&r2=674879&view=diff
==============================================================================
--- felix/trunk/upnp/doc/upnp.sh.bat (original)
+++ felix/trunk/upnp/doc/upnp.sh.bat Tue Jul 8 09:59:54 2008
@@ -1,8 +1,8 @@
-#!/bin/sh
-
-
-cd ../../main
-
-echo "lauching Felix with UPnP bundles"
-java -Dfelix.config.properties=file:../upnp/doc/config.properties.upnp -jar bin/felix.jar
-
+#!/bin/sh
+
+
+cd ../../main
+
+echo "lauching Felix with UPnP bundles"
+java -Dfelix.config.properties=file:../upnp/doc/config.properties.upnp -jar bin/felix.jar
+
Propchange: felix/trunk/upnp/doc/upnp.sh.bat
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/upnp/doc/upnp.sh.bat
------------------------------------------------------------------------------
svn:executable = *
Propchange: felix/trunk/upnp/extra/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/upnp/extra/pom.xml
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: felix/trunk/upnp/extra/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java
URL: http://svn.apache.org/viewvc/felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java?rev=674879&r1=674878&r2=674879&view=diff
==============================================================================
--- felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java (original)
+++ felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java Tue Jul 8 09:59:54 2008
@@ -1,33 +1,33 @@
-/*
- * 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.
- */
-
-package org.apache.felix.upnp.extra.util;
-
-import java.beans.PropertyChangeListener;
-
-/*
-* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
-*/
-public interface EventSource {
- void addPropertyChangeListener(PropertyChangeListener listener);
- void addPropertyChangeListener(String propertyName, PropertyChangeListener listener);
- void removePropertyChangeListener(PropertyChangeListener listener);
- void removePropertyChangeListener(String propertyName, PropertyChangeListener listener);
-}
-
+/*
+ * 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.
+ */
+
+package org.apache.felix.upnp.extra.util;
+
+import java.beans.PropertyChangeListener;
+
+/*
+* @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a>
+*/
+public interface EventSource {
+ void addPropertyChangeListener(PropertyChangeListener listener);
+ void addPropertyChangeListener(String propertyName, PropertyChangeListener listener);
+ void removePropertyChangeListener(PropertyChangeListener listener);
+ void removePropertyChangeListener(String propertyName, PropertyChangeListener listener);
+}
+
Propchange: felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: felix/trunk/upnp/extra/src/main/java/org/apache/felix/upnp/extra/util/EventSource.java
------------------------------------------------------------------------------
svn:mime-type = text/plain