113 lines
2.4 KiB
Java
113 lines
2.4 KiB
Java
package dev.dinauer.inspect.websocket;
|
|
|
|
import jakarta.enterprise.context.ApplicationScoped;
|
|
import jakarta.inject.Inject;
|
|
import jakarta.ws.rs.BadRequestException;
|
|
|
|
import org.jboss.logging.Logger;
|
|
|
|
import dev.dinauer.service.*;
|
|
|
|
@ApplicationScoped
|
|
public class ServiceFactory
|
|
{
|
|
@Inject
|
|
Logger LOG;
|
|
|
|
@Inject
|
|
StatefulSetService statefulSetService;
|
|
|
|
@Inject
|
|
DeploymentService deploymentService;
|
|
|
|
@Inject
|
|
PodService podService;
|
|
|
|
@Inject
|
|
CustomResourceDefinitionService customResourceDefinitionService;
|
|
|
|
@Inject
|
|
IngressService ingressService;
|
|
|
|
@Inject
|
|
ServiceService serviceService;
|
|
|
|
@Inject
|
|
NodeService nodeService;
|
|
|
|
@Inject
|
|
SecretService secretService;
|
|
|
|
@Inject
|
|
ConfigMapService configMapService;
|
|
|
|
@Inject
|
|
PvcService pvcService;
|
|
|
|
@Inject
|
|
PvService pvService;
|
|
|
|
@Inject
|
|
NamespaceService namespaceService;
|
|
|
|
public ResourceService<?> getService(ResourceType resourceType)
|
|
{
|
|
switch (resourceType)
|
|
{
|
|
case ResourceType.STATEFUL_SET:
|
|
{
|
|
return statefulSetService;
|
|
}
|
|
case ResourceType.DEPLOYMENT:
|
|
{
|
|
return deploymentService;
|
|
}
|
|
case ResourceType.SERVICE:
|
|
{
|
|
return serviceService;
|
|
}
|
|
case ResourceType.INGRESS:
|
|
{
|
|
return ingressService;
|
|
}
|
|
case ResourceType.POD:
|
|
{
|
|
return podService;
|
|
}
|
|
case ResourceType.CUSTOM_RESOURCE_DEFINITION:
|
|
{
|
|
return customResourceDefinitionService;
|
|
}
|
|
case ResourceType.NODE:
|
|
{
|
|
return nodeService;
|
|
}
|
|
case ResourceType.SECRET:
|
|
{
|
|
return secretService;
|
|
}
|
|
case ResourceType.CONFIG_MAP:
|
|
{
|
|
return configMapService;
|
|
}
|
|
case ResourceType.PVC:
|
|
{
|
|
return pvcService;
|
|
}
|
|
case ResourceType.PV:
|
|
{
|
|
return pvService;
|
|
}
|
|
case ResourceType.NAMESPACE:
|
|
{
|
|
return namespaceService;
|
|
}
|
|
default:
|
|
{
|
|
LOG.errorf("Invalid resource type %s.", resourceType);
|
|
throw new BadRequestException();
|
|
}
|
|
}
|
|
}
|
|
}
|