private JavaServiceContract generateTestContract(Class<?> implClass) { List<Operation> operations = new ArrayList<Operation>(); for (Method method : implClass.getMethods()) { // see if this is a test method if (Modifier.isStatic(method.getModifiers())) { continue; } if (method.getReturnType() != void.class) { continue; } if (method.getParameterTypes().length != 0) { continue; } String name = method.getName(); if (!method.isAnnotationPresent(Test.class) && (name.length() < 5 || !name.startsWith("test"))) { continue; } Operation operation = new Operation(name, INPUT_TYPE, OUTPUT_TYPE, FAULT_TYPE); operations.add(operation); } JavaServiceContract contract = new JavaServiceContract(implClass); contract.setOperations(operations); return contract; } }
private JavaServiceContract introspectInterface(Class<?> interfaze, Class<?> baseClass, IntrospectionContext context, ModelObject... modelObjects) { JavaServiceContract contract = new JavaServiceContract(interfaze); contract.setInterfaceName(interfaze.getSimpleName()); boolean remotable = interfaze.isAnnotationPresent(org.oasisopen.sca.annotation.Remotable.class) || interfaze.isAnnotationPresent(Remotable.class); contract.setRemotable(remotable); List<Operation> operations = introspectOperations(interfaze, baseClass, remotable, context, modelObjects); contract.setOperations(operations); for (InterfaceIntrospector introspector : interfaceIntrospectors) { introspector.introspect(contract, interfaze, context); } return contract; }
private JavaServiceContract introspectInterface(Class<?> interfaze, Class<?> baseClass, IntrospectionContext context, ModelObject... modelObjects) { JavaServiceContract contract = new JavaServiceContract(interfaze); contract.setInterfaceName(interfaze.getSimpleName()); boolean remotable = interfaze.isAnnotationPresent(org.oasisopen.sca.annotation.Remotable.class) || interfaze.isAnnotationPresent(Remotable.class); contract.setRemotable(remotable); List<Operation> operations = introspectOperations(interfaze, baseClass, remotable, context, modelObjects); contract.setOperations(operations); for (InterfaceIntrospector introspector : interfaceIntrospectors) { introspector.introspect(contract, interfaze, context); } return contract; }