src/main/java/org/ucmtwine/proxy/injector/ServiceInjector.java
private static void injectServiceMethod(Method method, ServiceMethod annotation) throws DataException {
    ServiceData serviceData = new ServiceData();

    String template = annotation.template();
    int accessLevel = annotation.accessLevel();
    String serviceType = (!annotation.type().equals("")) ? annotation.type() : null;
    String errorMessage = annotation.errorMessage();
    String subjects = annotation.subjects();
    String serviceName = annotation.name();

    try {
      serviceData.init(serviceName, ServiceProxy.class.getName(), accessLevel, template, serviceType, errorMessage,
          subjects);
    } catch (Exception e) {
      throw new DataException("Cannot create ServiceData object for " + serviceName + " - " + e.getMessage());
    }

    // action parameters, none by default
    String controlFlags = "";

    String methodHashCode = MethodRegistry.addMethod(method);

    if (methodHashCode == null) {
      throw new DataException("Cannot register method " + method.toString() + " because it has a null hashCode");
    }

    try {
      serviceData.addAction(Action.CODE_TYPE, "delegateWithParameters", methodHashCode, controlFlags, "");

    } catch (DataException e) {
      throw new DataException("Cannot add defaut action to service" + serviceName + " - " + e.getMessage());
    }

    // inject service
    ServiceManager.putService(serviceName, serviceData);
  }
private static void injectServiceMethod(Method method, ServiceMethod annotation) throws DataException {
    ServiceData serviceData = new ServiceData();

    String template = annotation.template();
    int accessLevel = annotation.accessLevel();
    String serviceType = (!annotation.type().equals("")) ? annotation.type() : null;
    String errorMessage = annotation.errorMessage();
    String subjects = annotation.subjects();
    String serviceName = annotation.name();

    try {
      serviceData.init(serviceName, ServiceProxy.class.getName(), accessLevel, template, serviceType, errorMessage,
          subjects);
    } catch (Exception e) {
      throw new DataException("Cannot create ServiceData object for " + serviceName + " - " + e.getMessage());
    }

    // action parameters, none by default
    String controlFlags = "";

    String methodHashCode = MethodRegistry.addMethod(method);

    if (methodHashCode == null) {
      throw new DataException("Cannot register method " + method.toString() + " because it has a null hashCode");
    }

    try {
      serviceData.addAction(Action.CODE_TYPE, "delegateWithParameters", methodHashCode, controlFlags, "");

    } catch (DataException e) {
      throw new DataException("Cannot add defaut action to service" + serviceName + " - " + e.getMessage());
    }

    // inject service
    ServiceManager.putService(serviceName, serviceData);
  }
private static void injectServiceMethod ( Method method , ServiceMethod annotation ) throws DataException { ServiceData serviceData = new ServiceData ( ) ; String template = annotation . template ( ) ; int accessLevel = annotation . accessLevel ( ) ; String serviceType = ( ! annotation . type ( ) . equals ( "" ) ) ? annotation . type ( ) : null ; String errorMessage = annotation . errorMessage ( ) ; String subjects = annotation . subjects ( ) ; String serviceName = annotation . name ( ) ; try { serviceData . init ( serviceName , ServiceProxy . class . getName ( ) , accessLevel , template , serviceType , errorMessage , subjects ) ; } catch ( Exception e ) { throw new DataException ( "Cannot create ServiceData object for " + serviceName + " - " + e . getMessage ( ) ) ; } // action parameters, none by default String controlFlags = "" ; String methodHashCode = MethodRegistry . addMethod ( method ) ; if ( methodHashCode == null ) { throw new DataException ( "Cannot register method " + method . toString ( ) + " because it has a null hashCode" ) ; } try { serviceData . addAction ( Action . CODE_TYPE , "delegateWithParameters" , methodHashCode , controlFlags , "" ) ; } catch ( DataException e ) { throw new DataException ( "Cannot add defaut action to service" + serviceName + " - " + e . getMessage ( ) ) ; } // inject service ServiceManager . putService ( serviceName , serviceData ) ; }
Injects a single UCMService annotation into the ServiceManager registry.

@param className
Fully qualified class name
@param annotation
A reference to a UCMService annotation
@throws DataException
Injects a single UCMService annotation into the ServiceManager registry .