FELIX-5008: suppress CommandSession from help messages.
Supply generics in source of Basic.java to reduce warnings.
Fill in missing bits of format string.
Thanks to Benson Margulies. Additional generics/cleanup by David Jencks
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1700092 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/gogo/command/src/main/java/org/apache/felix/gogo/command/Basic.java b/gogo/command/src/main/java/org/apache/felix/gogo/command/Basic.java
index 44477e6..0ac4899 100644
--- a/gogo/command/src/main/java/org/apache/felix/gogo/command/Basic.java
+++ b/gogo/command/src/main/java/org/apache/felix/gogo/command/Basic.java
@@ -37,6 +37,8 @@
import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
+
+import org.apache.felix.service.command.CommandSession;
import org.apache.felix.service.command.Descriptor;
import org.apache.felix.service.command.Parameter;
import org.osgi.framework.Bundle;
@@ -52,6 +54,7 @@
import org.osgi.service.packageadmin.PackageAdmin;
import org.osgi.service.startlevel.StartLevel;
+@SuppressWarnings("deprecation")
public class Basic
{
private final BundleContext m_bc;
@@ -65,7 +68,7 @@
public void bundlelevel(@Descriptor("bundle to query") Bundle bundle)
{
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Get start level service.
StartLevel sl = Util.getService(m_bc, StartLevel.class, refs);
@@ -95,7 +98,7 @@
@Descriptor("target identifiers") Bundle[] bundles)
{
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Get start level service.
StartLevel sl = Util.getService(m_bc, StartLevel.class, refs);
@@ -150,7 +153,7 @@
public void frameworklevel()
{
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Get start level service.
StartLevel sl = Util.getService(m_bc, StartLevel.class, refs);
@@ -166,7 +169,7 @@
public void frameworklevel(@Descriptor("target start level") int level)
{
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Get start level service.
StartLevel sl = Util.getService(m_bc, StartLevel.class, refs);
@@ -188,13 +191,13 @@
String title = Util.getBundleName(bundle);
System.out.println("\n" + title);
System.out.println(Util.getUnderlineString(title.length()));
- Dictionary dict = bundle.getHeaders();
- Enumeration keys = dict.keys();
+ Dictionary<String, String> dict = bundle.getHeaders();
+ Enumeration<String> keys = dict.keys();
while (keys.hasMoreElements())
{
- Object k = (String) keys.nextElement();
- Object v = dict.get(k);
- System.out.println(k + " = " + Util.getValueString(v));
+ String k = keys.nextElement();
+ String v = dict.get(k);
+ System.out.println(k + " = " + v);
}
}
}
@@ -255,15 +258,20 @@
System.out.println(" scope: " + name.substring(0, name.indexOf(':')));
// Get flags and options.
- Class[] paramTypes = m.getParameterTypes();
- Map<String, Parameter> flags = new TreeMap();
- Map<String, String> flagDescs = new TreeMap();
- Map<String, Parameter> options = new TreeMap();
- Map<String, String> optionDescs = new TreeMap();
- List<String> params = new ArrayList();
+ Class<?>[] paramTypes = m.getParameterTypes();
+ Map<String, Parameter> flags = new TreeMap<String, Parameter>();
+ Map<String, String> flagDescs = new TreeMap<String, String>();
+ Map<String, Parameter> options = new TreeMap<String, Parameter>();
+ Map<String, String> optionDescs = new TreeMap<String, String>();
+ List<String> params = new ArrayList<String>();
Annotation[][] anns = m.getParameterAnnotations();
for (int paramIdx = 0; paramIdx < anns.length; paramIdx++)
{
+ Class<?> paramType = m.getParameterTypes()[paramIdx];
+ if (paramType == CommandSession.class) {
+ /* Do not bother the user with a CommandSession. */
+ continue;
+ }
Parameter p = findAnnotation(anns[paramIdx], Parameter.class);
d = findAnnotation(anns[paramIdx], Descriptor.class);
if (p != null)
@@ -358,7 +366,7 @@
private Map<String, List<Method>> getCommands()
{
- ServiceReference[] refs = null;
+ ServiceReference<?>[] refs = null;
try
{
refs = m_bc.getAllServiceReferences(null, "(osgi.command.scope=*)");
@@ -368,9 +376,9 @@
// This should never happen.
}
- Map<String, List<Method>> commands = new TreeMap();
+ Map<String, List<Method>> commands = new TreeMap<String, List<Method>>();
- for (ServiceReference ref : refs)
+ for (ServiceReference<?> ref : refs)
{
Object svc = m_bc.getService(ref);
if (svc != null)
@@ -382,7 +390,7 @@
for (String func : funcs)
{
- commands.put(scope + ":" + func, new ArrayList());
+ commands.put(scope + ":" + func, new ArrayList<Method>());
}
if (!commands.isEmpty())
@@ -482,7 +490,7 @@
@Descriptor("subtring matched against name or symbolic name") String pattern)
{
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Get start level service.
StartLevel sl = Util.getService(m_bc, StartLevel.class, refs);
@@ -491,7 +499,7 @@
System.out.println("Start Level service is unavailable.");
}
- List<Bundle> found = new ArrayList();
+ List<Bundle> found = new ArrayList<Bundle>();
if (pattern == null)
{
@@ -543,7 +551,7 @@
@Descriptor("minimum log level [ debug | info | warn | error ]") String logLevel)
{
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Get start level service.
LogReaderService lrs = Util.getService(m_bc, LogReaderService.class, refs);
@@ -553,7 +561,8 @@
}
else
{
- Enumeration entries = lrs.getLog();
+ @SuppressWarnings("unchecked")
+ Enumeration<LogEntry> entries = lrs.getLog();
int minLevel = logLevelAsInt(logLevel);
@@ -640,7 +649,7 @@
}
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Get package admin service.
PackageAdmin pa = Util.getService(m_bc, PackageAdmin.class, refs);
@@ -664,7 +673,7 @@
}
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Get package admin service.
PackageAdmin pa = Util.getService(m_bc, PackageAdmin.class, refs);
@@ -925,7 +934,7 @@
}
else
{
- Class clazz = null;
+ Class<?> clazz = null;
try
{
clazz = bundle.loadClass(className);
@@ -1020,12 +1029,12 @@
if (level < 0)
{
- System.out.println(String.format("%5d|%-11s|%s", bundle.getBundleId(),
+ System.out.println(String.format("%5d|%-11s|%s|%s", bundle.getBundleId(),
getStateString(bundle), name, bundle.getVersion()));
}
else
{
- System.out.println(String.format("%5d|%-11s|%5d|%s",
+ System.out.println(String.format("%5d|%-11s|%5d|%s|%s",
bundle.getBundleId(), getStateString(bundle), level, name,
bundle.getVersion()));
}
@@ -1060,4 +1069,4 @@
return "Unknown ";
}
}
-}
\ No newline at end of file
+}
diff --git a/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect42.java b/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect42.java
index 5e28e98..b65365d 100644
--- a/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect42.java
+++ b/gogo/command/src/main/java/org/apache/felix/gogo/command/Inspect42.java
@@ -30,6 +30,7 @@
import org.osgi.service.packageadmin.PackageAdmin;
import org.osgi.service.packageadmin.RequiredBundle;
+@SuppressWarnings("deprecation")
public class Inspect42
{
public static final String LEGACY_PACKAGE_NAMESPACE = "package";
@@ -175,7 +176,7 @@
boolean matches = false;
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Fragments cannot export packages.
if (!isFragment(b))
@@ -242,7 +243,7 @@
boolean matches = false;
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Fragments cannot import packages.
if (!isFragment(b))
@@ -298,7 +299,7 @@
boolean matches = false;
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Fragments cannot be required.
if (!isFragment(b))
@@ -371,7 +372,7 @@
boolean matches = false;
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Fragments cannot require bundles.
if (!isFragment(b))
@@ -421,7 +422,7 @@
boolean matches = false;
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Get package admin service.
PackageAdmin pa = Util.getService(bc, PackageAdmin.class, refs);
@@ -480,7 +481,7 @@
boolean matches = false;
// Keep track of service references.
- List<ServiceReference> refs = new ArrayList();
+ List<ServiceReference<?>> refs = new ArrayList<ServiceReference<?>>();
// Get package admin service.
PackageAdmin pa = Util.getService(bc, PackageAdmin.class, refs);
diff --git a/gogo/command/src/main/java/org/apache/felix/gogo/command/Util.java b/gogo/command/src/main/java/org/apache/felix/gogo/command/Util.java
index 48ac8c5..4b4e76b 100644
--- a/gogo/command/src/main/java/org/apache/felix/gogo/command/Util.java
+++ b/gogo/command/src/main/java/org/apache/felix/gogo/command/Util.java
@@ -123,9 +123,10 @@
}
public static <T> T getService(
- BundleContext bc, Class<T> clazz, List<ServiceReference> refs)
+ BundleContext bc, Class<T> clazz, List<ServiceReference<?>> refs)
{
- ServiceReference ref = bc.getServiceReference(clazz.getName());
+ @SuppressWarnings("unchecked")
+ ServiceReference<T> ref = (ServiceReference<T>) bc.getServiceReference(clazz.getName());
if (ref == null)
{
return null;
@@ -138,7 +139,7 @@
return t;
}
- public static void ungetServices(BundleContext bc, List<ServiceReference> refs)
+ public static void ungetServices(BundleContext bc, List<ServiceReference<?>> refs)
{
while (refs.size() > 0)
{
@@ -181,10 +182,8 @@
out.println("Downloading " + fileName + ".");
}
byte[] buffer = new byte[4096];
- int count = 0;
for (int len = is.read(buffer); len > 0; len = is.read(buffer))
{
- count += len;
os.write(buffer, 0, len);
}
@@ -320,7 +319,7 @@
public static List<String> parseSubstring(String value)
{
- List<String> pieces = new ArrayList();
+ List<String> pieces = new ArrayList<String>();
StringBuffer ss = new StringBuffer();
// int kind = SIMPLE; // assume until proven otherwise
boolean wasStar = false; // indicates last piece was a star