How to get Acer AspireOne netbook to re-recognize its webcam?

556

has the webcam been working before or is this a fresh installation, possible nLited, as it is very popular with netbooks?

Windows XP automatically detects this webcam and will install a generic driver for the webcam, it will then show in My Computer as USB Video Device, unless necessary components have been removed from the installation disk.

Share:
556

Related videos on Youtube

emeraldjava
Author by

emeraldjava

Updated on September 17, 2022

Comments

  • emeraldjava
    emeraldjava almost 2 years

    I've tried to follow the facebook-java-api filter example but i got this expection when i attempted to save to the client object to the session. The code is being hosted on the google appengine platform.

    java.lang.RuntimeException: java.io.NotSerializableException: com.google.code.facebookapi.FacebookXmlRestClient
        at com.google.apphosting.runtime.jetty.SessionManager.serialize(SessionManager.java:387)
        at com.google.apphosting.runtime.jetty.SessionManager.createEntityForSession(SessionManager.java:364)
        at com.google.apphosting.runtime.jetty.SessionManager$AppEngineSession.save(SessionManager.java:164)
        at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:41)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
        at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
        .....
        at com.google.net.async.Connection.handleReadEvent(Connection.java:474)
        at com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:831)
        at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:207)
        at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:103)
        at com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:251)
        at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run(JavaRuntime.java:418)
        at java.lang.Thread.run(Thread.java:636)
    Caused by: java.io.NotSerializableException: com.google.code.facebookapi.FacebookXmlRestClient
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1173)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:343)
        at java.util.HashMap.writeObject(HashMap.java:1018)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    

    I updated the filter code to use a map to save the session and associated client object but i still can get a valid login. Can anybody spot the issue with this code, or explain how the com.google.code.facebookapi.ExtensibleClient can be used correctly?

    import com.google.code.facebookapi.FacebookException;
    import com.google.code.facebookapi.FacebookWebappHelper;
    import com.google.code.facebookapi.FacebookXmlRestClient;
    import com.google.code.facebookapi.IFacebookRestClient;
    
    import java.util.HashMap;
    import java.util.Map;
    import java.util.logging.Logger;
    
    import org.w3c.dom.Document;
    
    public class FacebookFilter implements Filter {
    
            private static final Logger logger = Logger.getLogger(FacebookFilter.class.getName());
    
            private String api_key;
            private String secret;
            private static Map map = new HashMap();
    
            public void init(FilterConfig filterConfig) throws ServletException {
                    api_key = filterConfig.getInitParameter("facebook_api_key");
                    secret = filterConfig.getInitParameter("facebook_secret_key");
                    if(api_key == null || secret == null) {
                            throw new ServletException("Cannot initialise Facebook User Filter because the " +
                                                               "facebook_api_key or facebook_secret context init " +
                                                               "params have not been set. Check that they're there " +
                                                               "in your servlet context descriptor.");
                    } else {
                            logger.info("Using facebook API key: " + api_key);
                    }
            }
    
            public void destroy() {
            }
    
            public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
                    try {
                            HttpServletRequest request = (HttpServletRequest)req;
                            HttpServletResponse response = (HttpServletResponse)res;
    
                            HttpSession session = request.getSession(true);
                            IFacebookRestClient<Document> userClient = getUserClient(session);
                            if(userClient == null) {
                                logger.info("User session doesn't have a Facebook API client setup yet. Creating one and storing it in the user's session.");
                                userClient = new FacebookXmlRestClient(api_key, secret);
                                logger.info("add new session to map "+map.size()+" "+session.getId()+" "+userClient.toString());
                                map.put(session,userClient);
                            }
    
                            logger.fine("Creating a FacebookWebappHelper, which copies fb_ request param data into the userClient");
                            FacebookWebappHelper<Document> facebook = new FacebookWebappHelper<Document>(request, response, api_key, secret, userClient);
                            String nextPage = request.getRequestURI();
                            nextPage = nextPage.substring(nextPage.indexOf("/", 1) + 1); //cut out the first /, the context path and the 2nd /
                            logger.fine(nextPage);
                            boolean redirectOccurred = facebook.requireLogin(nextPage);
                            if(redirectOccurred) {
                                    return;
                            }
                            redirectOccurred = facebook.requireFrame(nextPage);
                            if(redirectOccurred) {
                                    return;
                            }
    
                            long facebookUserID;
                            try {
                                facebookUserID = userClient.users_getLoggedInUser();
                                logger.info("facebookUserID "+facebookUserID+" "+session.getId());
    
                            } catch(FacebookException ex) {
                                response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Error while fetching user's facebook ID");
                                logger.warning("Error while getting cached (supplied by request params) value " +
                                                 "of the user's facebook ID or while fetching it from the Facebook service " +
                                                 "if the cached value was not present for some reason. Cached value = {} "+ userClient.getCacheUserId());
                                return;
                            }
                            chain.doFilter(request, response);
                    }
            }
    
        public static FacebookXmlRestClient getUserClient(HttpSession session) {
                if(map.containsKey(session))
                {
                    logger.info("return match "+session.getId());
                    return (FacebookXmlRestClient) map.get(session);
                }       
                else
                {
                    logger.warning("getUserClient() null "+session.getId());
                    return null;
                }
    
        }
    }
    
  • emeraldjava
    emeraldjava almost 14 years
    I'm not setting the userClient as a attribute or parameter of the http session or request object (to avoid the serializable issue) it is being added to a plain map.
  • Andrew Dyster
    Andrew Dyster almost 14 years
    Is it coming up with the same error message when you try to put it in the map? Did you try my suggestion (using the session ID) ?