private void CompleteComponentTypeDefinitionInput(DeployUnit component, ComponentTypeImpl type, KevoreeFactory factory)
        {
            var lstMethodsInfos = _annotationHelper.filterMethodsByAttribute(component.GetType(), typeof(Input));
            foreach (MethodInfo methodInfo in lstMethodsInfos)
            {
                PortTypeRef providedPortRef = factory.createPortTypeRef();
                providedPortRef.setName(methodInfo.Name);

                var optional = ((Input)methodInfo.GetCustomAttribute(typeof(Input))).Optional ? Boolean.TRUE : Boolean.FALSE;
                providedPortRef.setOptional(optional);

                type.addProvided(providedPortRef);
            }
        }
 private void CompleteComponentTypeDefinitionOutputs(DeployUnit component, ComponentTypeImpl type, KevoreeFactory factory)
 {
     var lstOutputFields = _annotationHelper.filterFieldsByAttribute(component.GetType(), typeof(Output));
     foreach (FieldInfo fieldInfo in lstOutputFields)
     {
         PortTypeRef requiredPortRef = CompleteComponentTypeDefinitionOutput(component, factory, fieldInfo);
         type.addRequired(requiredPortRef);
     }
 }
 private void CompleteComponentTypeDefinition(DeployUnit component, ComponentTypeImpl type, KevoreeFactory factory)
 {
     CompleteComponentTypeDefinitionOutputs(component, type, factory);
     CompleteComponentTypeDefinitionParams(component, type, factory);
     CompleteComponentTypeDefinitionInput(component, type, factory);
 }