Package org.apache.uima.ducc.transport.event

Examples of org.apache.uima.ducc.transport.event.ServiceReplyEvent


        ServiceSet sset = null;
        try {
            sset = new ServiceSet(id, props_filename, meta_filename, props, meta);
        } catch (Throwable t) {
            error = t.getMessage();
            return new ServiceReplyEvent(false, t.getMessage(), "?", id.getFriendly());           
        }

        String key = sset.getKey();

        // Check if already registered
        ServiceSet sset0 = serviceStateHandler.getServiceByName(key);
        if ( sset0 != null ) {
            error = ("Duplicate owned by: " + sset0.getUser());
        } else {
            try {
                sset.saveServiceProperties();
            } catch ( Exception e ) {
                error = ("Internal error; unable to store service descriptor. " + key);
                logger.error(methodName, id, e);
                must_deregister = true;
            }
           
            try {
                if ( ! must_deregister ) {
                    sset.saveMetaProperties();
                }
            } catch ( Exception e ) {
                error = ("Internal error; unable to store service meta-descriptor. " + key);
                logger.error(methodName, id, e);
                must_deregister = true;
            }

            // must check for cycles or we can deadlock
            if ( ! must_deregister ) {
                CycleChecker cc = new CycleChecker(sset);
                if ( cc.hasCycle() ) {
                    error = ("Service dependencies contain a cycle with " + cc.getCycles());
                    logger.error(methodName, id, error);
                    must_deregister = true;
                }
            }
        }

        if ( error == null ) {
            serviceStateHandler.putServiceByName(sset.getKey(), sset);
            return new ServiceReplyEvent(true, "Registered", key, id.getFriendly());
        } else {
            File mf = new File(meta_filename);
            mf.delete();
           
            File pf = new File(props_filename);
            pf.delete();
            return new ServiceReplyEvent(false, error, key, id.getFriendly());
        }
    }
View Full Code Here


    {
        long friendly       = ev.getFriendly();
        String epname = ev.getEndpoint();
      ServiceSet sset = serviceStateHandler.getServiceForApi(friendly, epname);
        if ( sset == null ) {
            return new ServiceReplyEvent(false, "Unknown", epname, friendly);
        }

        String userin = ev.getUser();
        String userout = sset.getUser();

        if ( !userin.equals(userout) && !serviceManager.isAdministrator(userin) ) {
            return new ServiceReplyEvent(false, "Owned by " + userout,  epname, friendly);
        }
       
      if ( sset.isRegistered() ) {           
            pendingRequests.add(new ApiHandler(ev, this));
//             ApiHandler  apih = new ApiHandler(ev, this);
//             Thread t = new Thread(apih);
//             t.start();
            return new ServiceReplyEvent(true, "Modifing", sset.getKey(), sset.getId().getFriendly());
        } else {
            return new ServiceReplyEvent(false, "Not registered", sset.getKey(), sset.getId().getFriendly());          
        }
    }
View Full Code Here

    {
        long friendly = ev.getFriendly();
        String epname = ev.getEndpoint();
        ServiceSet sset = serviceStateHandler.getServiceForApi(friendly, epname);
        if ( sset == null ) {
            return new ServiceReplyEvent(false, "Unknown",  epname, friendly);
        }

        String userin = ev.getUser();
        String userout = sset.getUser();

        if ( !userin.equals(userout) && !serviceManager.isAdministrator(userin) ) {
            return new ServiceReplyEvent(false, "Owned by " + userout,  epname, friendly);
        }

        if ( sset.isRegistered() ) {           
            sset.deregister();          // just sets a flag so we know how to handle it when it starts to die
            pendingRequests.add(new ApiHandler(ev, this));
//             ApiHandler  apih = new ApiHandler(ev, this);
//             Thread t = new Thread(apih);
//             t.start();
            return new ServiceReplyEvent(true, "Shutting down implementors", sset.getKey(), sset.getId().getFriendly());
        } else {
            return new ServiceReplyEvent(false, "Not registered", sset.getKey(), sset.getId().getFriendly());           
        }
       
    }
View Full Code Here

TOP

Related Classes of org.apache.uima.ducc.transport.event.ServiceReplyEvent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.