package org.jboss.resteasy.test.nextgen.wadl;


/**
 * Created by weli on 6/14/16.
 */
public abstract class WADLTestSetup {


   protected org.jboss.resteasy.wadl.jaxb.Method findMethodById(org.jboss.resteasy.wadl.jaxb.Resource resource, String id) {
      for (Object methodOrResource : resource.getMethodOrResource()) {
         if (methodOrResource.getClass().equals(org.jboss.resteasy.wadl.jaxb.Method.class))
            if (((org.jboss.resteasy.wadl.jaxb.Method) methodOrResource).getId().equals(id))
               return (org.jboss.resteasy.wadl.jaxb.Method) methodOrResource;
      }
      return null;
   }

   protected org.jboss.resteasy.wadl.jaxb.Resource findResourceByName(Object target, String resourceName) {
      if (target.getClass().equals(org.jboss.resteasy.wadl.jaxb.Application.class)) {
         for (org.jboss.resteasy.wadl.jaxb.Resource resource : ((org.jboss.resteasy.wadl.jaxb.Application) target).getResources().get(0).getResource()) {
            if (resource.getPath().equals(resourceName)) {
               return resource;
            }
         }
      } else if (target.getClass().equals(org.jboss.resteasy.wadl.jaxb.Resource.class)) {
         for (Object resource : ((org.jboss.resteasy.wadl.jaxb.Resource) target).getMethodOrResource()) {
            if (resource.getClass().equals(org.jboss.resteasy.wadl.jaxb.Resource.class) && ((org.jboss.resteasy.wadl.jaxb.Resource) resource).getPath().equals(resourceName)) {
               return (org.jboss.resteasy.wadl.jaxb.Resource) resource;
            }
         }
      }
      return null;
   }
}
