├── handler ├── handler-executor │ ├── package │ │ ├── Dockerfile │ │ ├── env.list │ │ ├── local │ │ │ └── config │ │ │ │ ├── external.properties │ │ │ │ └── external-minikube.properties │ │ ├── run.sh │ │ └── dockerRun.sh │ ├── impl │ │ └── src │ │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── comcast │ │ │ │ │ └── pop │ │ │ │ │ └── handler │ │ │ │ │ └── executor │ │ │ │ │ └── impl │ │ │ │ │ ├── shutdown │ │ │ │ │ └── ShutdownProcessor.java │ │ │ │ │ ├── processor │ │ │ │ │ ├── OperationWrapperFactory.java │ │ │ │ │ ├── OnOperationCompleteListener.java │ │ │ │ │ ├── runner │ │ │ │ │ │ └── event │ │ │ │ │ │ │ └── OperationCompleteEvent.java │ │ │ │ │ ├── JsonContextReferenceParser.java │ │ │ │ │ └── parallel │ │ │ │ │ │ └── OperationConductorModifier.java │ │ │ │ │ ├── registry │ │ │ │ │ └── resident │ │ │ │ │ │ └── operations │ │ │ │ │ │ └── ResidentHandlerFactory.java │ │ │ │ │ ├── progress │ │ │ │ │ └── agenda │ │ │ │ │ │ ├── OperationProgressProvider.java │ │ │ │ │ │ └── AgendaProgressConsumer.java │ │ │ │ │ ├── exception │ │ │ │ │ └── AgendaExecutorException.java │ │ │ │ │ ├── resident │ │ │ │ │ ├── log │ │ │ │ │ │ └── LogHandlerInput.java │ │ │ │ │ └── generator │ │ │ │ │ │ └── UpdateAgendaResidentHandlerFactory.java │ │ │ │ │ ├── properties │ │ │ │ │ └── ExecutorProperty.java │ │ │ │ │ └── config │ │ │ │ │ └── ExecutorConfigProperty.java │ │ │ └── resources │ │ │ │ └── com │ │ │ │ └── comcast │ │ │ │ └── pop │ │ │ │ └── handler │ │ │ │ └── executor │ │ │ │ └── executorMessages.properties │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── handler │ │ │ └── executor │ │ │ └── impl │ │ │ └── messages │ │ │ └── ExecutorMessagesTest.java │ ├── api │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── handler │ │ │ └── executor │ │ │ └── api │ │ │ └── ExecutorHandlerInput.java │ └── test │ │ └── main │ │ └── testng-functional.xml ├── handler-base │ └── src │ │ ├── test │ │ ├── resources │ │ │ └── com │ │ │ │ └── comcast │ │ │ │ └── pop │ │ │ │ └── handler │ │ │ │ └── base │ │ │ │ └── messages │ │ │ │ ├── test.json │ │ │ │ └── test.properties │ │ └── java │ │ │ └── com │ │ │ └── comast │ │ │ └── pop │ │ │ └── handler │ │ │ └── base │ │ │ ├── progress │ │ │ └── reporter │ │ │ │ ├── TestConfig.java │ │ │ │ └── BaseReporterThreadConfigTest.java │ │ │ └── messages │ │ │ ├── HandlerMessagesTest.java │ │ │ └── TestMessages.java │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── comast │ │ │ └── pop │ │ │ └── handler │ │ │ └── base │ │ │ ├── payload │ │ │ ├── PayloadReader.java │ │ │ ├── PayloadReaderFactory.java │ │ │ ├── PayloadWriterFactory.java │ │ │ └── PayloadWriter.java │ │ │ ├── processor │ │ │ ├── HandlerMetadata.java │ │ │ └── HandlerProcessor.java │ │ │ ├── field │ │ │ ├── api │ │ │ │ ├── LaunchType.java │ │ │ │ ├── args │ │ │ │ │ ├── CommandLineArgument.java │ │ │ │ │ ├── MetaData.java │ │ │ │ │ └── HandlerArgument.java │ │ │ │ └── HandlerField.java │ │ │ └── retriever │ │ │ │ ├── api │ │ │ │ └── NamedField.java │ │ │ │ └── environment │ │ │ │ └── EnvironmentVariableProvider.java │ │ │ ├── log │ │ │ └── HandlerReporter.java │ │ │ ├── validation │ │ │ └── string │ │ │ │ ├── StringValidator.java │ │ │ │ ├── StringValidationException.java │ │ │ │ ├── TokenStringValidatorFactory.java │ │ │ │ └── MultiStringValidator.java │ │ │ ├── perform │ │ │ └── Executor.java │ │ │ ├── ResidentHandler.java │ │ │ ├── messages │ │ │ ├── MessageLookup.java │ │ │ └── HandlerMessages.java │ │ │ ├── exception │ │ │ └── ExceptionUtils.java │ │ │ ├── progress │ │ │ └── reporter │ │ │ │ └── operation │ │ │ │ └── OperationProgressConsumer.java │ │ │ ├── translator │ │ │ └── PayloadTranslator.java │ │ │ └── reporter │ │ │ └── ProgressReporter.java │ │ └── resources │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── handler │ │ └── handlerMessages.properties ├── handler-sample │ ├── README.md │ ├── api │ │ ├── README.md │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── handler │ │ │ └── sample │ │ │ └── api │ │ │ ├── SampleActions.java │ │ │ ├── ActionParamKeys.java │ │ │ ├── SampleAction.java │ │ │ └── SampleInput.java │ ├── package │ │ ├── local │ │ │ ├── lastProgress.json │ │ │ ├── payload-local.json │ │ │ ├── payload.json │ │ │ ├── config │ │ │ │ ├── external.properties │ │ │ │ ├── external-minikube.properties │ │ │ │ └── configMap.yaml │ │ │ └── payload-local-multi.json │ │ └── env.list │ ├── impl │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── handler │ │ │ └── sample │ │ │ └── impl │ │ │ ├── executor │ │ │ ├── ExternalExecutorFactory.java │ │ │ └── BaseExternalExecutor.java │ │ │ ├── exception │ │ │ └── SampleHandlerException.java │ │ │ ├── context │ │ │ └── OperationContext.java │ │ │ ├── progress │ │ │ └── SampleJobInfo.java │ │ │ └── action │ │ │ ├── LogAction.java │ │ │ ├── ExceptionAction.java │ │ │ └── ActionMap.java │ └── pom.xml ├── handler-puller │ ├── package │ │ ├── env.list │ │ ├── run.sh │ │ ├── dockerRun.sh │ │ └── local │ │ │ └── config │ │ │ └── registry.json │ ├── impl │ │ └── src │ │ │ ├── main │ │ │ ├── resources │ │ │ │ └── NoopAgenda.json │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── comcast │ │ │ │ └── pop │ │ │ │ └── handler │ │ │ │ └── puller │ │ │ │ └── impl │ │ │ │ ├── limit │ │ │ │ ├── ResourceChecker.java │ │ │ │ └── ResourceCheckerFactory.java │ │ │ │ ├── monitor │ │ │ │ └── alive │ │ │ │ │ └── AliveCheck.java │ │ │ │ ├── executor │ │ │ │ ├── LauncherFactory.java │ │ │ │ ├── BaseLauncher.java │ │ │ │ ├── kubernetes │ │ │ │ │ └── KubernetesConstants.java │ │ │ │ └── local │ │ │ │ │ └── LocalOperationLauncherFactory.java │ │ │ │ ├── exception │ │ │ │ └── PullerException.java │ │ │ │ └── context │ │ │ │ └── ExecutionContext.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── handler │ │ │ └── puller │ │ │ └── impl │ │ │ └── PullerExecutionTest.java │ └── pom.xml ├── handler-pod-reaper │ ├── package │ │ ├── local │ │ │ └── config │ │ │ │ ├── external.properties │ │ │ │ └── external-prod.properties │ │ ├── env.list │ │ ├── run.sh │ │ └── dockerRun.sh │ ├── impl │ │ └── src │ │ │ ├── main │ │ │ ├── resources │ │ │ │ └── com │ │ │ │ │ └── comcast │ │ │ │ │ └── pop │ │ │ │ │ └── handler │ │ │ │ │ └── executor │ │ │ │ │ └── reaperMessages.properties │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── comcast │ │ │ │ └── pop │ │ │ │ └── handler │ │ │ │ └── reaper │ │ │ │ └── impl │ │ │ │ ├── kubernetes │ │ │ │ └── KubernetesPodFacade.java │ │ │ │ ├── property │ │ │ │ └── ReaperProperty.java │ │ │ │ └── context │ │ │ │ └── ReaperContext.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── handler │ │ │ └── reaper │ │ │ └── impl │ │ │ ├── messages │ │ │ └── ReaperMessagesTest.java │ │ │ └── ReaperTestUtil.java │ └── pom.xml └── handler-kubernetes-support │ └── src │ ├── main │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── handler │ │ └── kubernetes │ │ └── support │ │ ├── config │ │ ├── KubeConfigFactory.java │ │ ├── NfsDetailsFactory.java │ │ ├── ConfigurePod.java │ │ ├── NfsDetailsField.java │ │ ├── PodConfigFactory.java │ │ ├── KubeConfigArgument.java │ │ └── KubeConfigField.java │ │ ├── podconfig │ │ └── client │ │ │ └── registry │ │ │ └── PodConfigRegistryClient.java │ │ ├── reporter │ │ └── KubernetesReporterSet.java │ │ └── payload │ │ ├── compression │ │ ├── CompressedPayloadField.java │ │ └── CompressedEnvironmentPayloadUtil.java │ │ └── PayloadField.java │ └── test │ └── resources │ ├── defaultConfigMap.json │ ├── testConfigMap_BaseConfigMap.json │ └── testConfigMap.json ├── web-ui ├── src │ └── main │ │ └── resources │ │ ├── content │ │ └── welcome.html │ │ ├── css │ │ ├── liquidFillGuage.css │ │ ├── fonts │ │ │ ├── IcoMoon.eot │ │ │ ├── IcoMoon.ttf │ │ │ ├── IcoMoon.woff │ │ │ └── icomoon-license.txt │ │ ├── rotate.css │ │ └── opensans.css │ │ ├── favicon.ico │ │ ├── images │ │ ├── fission.png │ │ ├── babs_head.png │ │ ├── fission_logo.png │ │ ├── green_status.png │ │ └── fission_logo_2.png │ │ ├── overview │ │ └── images │ │ │ ├── checkbox-checked.png │ │ │ ├── checkbox-unchecked.png │ │ │ └── attachments │ │ │ ├── 226435023 │ │ │ ├── DFHDesign.jpg │ │ │ └── Fission-Brain.jpg │ │ │ ├── 226435076 │ │ │ └── Fission-ResourcePool-2.jpg │ │ │ └── 236273638 │ │ │ └── fission-simple.png │ │ ├── assembly │ │ └── bin.xml │ │ └── js │ │ ├── util.js │ │ ├── content │ │ └── login.js │ │ ├── popup.js │ │ └── loomConsole │ │ └── console.d.ts └── README ├── deploy └── resourcepool │ └── kubernetes │ ├── setup │ ├── pop-service-account.yaml │ └── RoleBinding.yaml │ └── configmap │ ├── sample │ └── ConfigMap.yaml │ └── puller │ └── Service.yaml ├── module ├── module-json-helper │ └── src │ │ ├── test │ │ ├── resources │ │ │ ├── context │ │ │ │ ├── encode.context.json │ │ │ │ ├── analysis.context.json │ │ │ │ ├── reference.json │ │ │ │ └── expectedResult.json │ │ │ ├── testParams.json │ │ │ ├── testReferences.json │ │ │ └── testExpectedResult.json │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── modules │ │ │ └── jsonhelper │ │ │ └── SampleObject.java │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── modules │ │ └── jsonhelper │ │ ├── replacement │ │ └── JsonNodeReplacer.java │ │ └── JsonHelperException.java ├── module-monitor │ ├── main │ │ └── src │ │ │ └── main │ │ │ ├── resources │ │ │ └── service.properties │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── modules │ │ │ └── monitor │ │ │ ├── alive │ │ │ ├── AliveCheck.java │ │ │ ├── AliveCheckListener.java │ │ │ └── LogAliveCheckListener.java │ │ │ ├── alert │ │ │ ├── AlertSender.java │ │ │ ├── AlertMessage.java │ │ │ ├── AlertLevel.java │ │ │ └── AlertException.java │ │ │ ├── config │ │ │ ├── ConfigKeys.java │ │ │ └── converter │ │ │ │ ├── ConfigPropertyConverter.java │ │ │ │ └── StringArrayPropertyConverter.java │ │ │ └── metric │ │ │ ├── MetricLabel.java │ │ │ └── MetricReporterFactory.java │ ├── graphite │ │ └── src │ │ │ └── main │ │ │ └── resources │ │ │ └── service.properties │ └── pom.xml ├── module-xml-helper │ └── src │ │ ├── test │ │ └── resources │ │ │ └── basic.xml │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── modules │ │ └── xmlhelper │ │ └── XmlSearchException.java ├── module-queue-api │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── modules │ │ └── queue │ │ └── api │ │ ├── ItemQueueFactory.java │ │ └── access │ │ ├── ItemQueueViewer.java │ │ └── ItemQueueWriter.java ├── module-persistence │ ├── api │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── persistence │ │ │ └── api │ │ │ ├── field │ │ │ ├── DataField.java │ │ │ ├── IdField.java │ │ │ ├── FieldsField.java │ │ │ ├── CountField.java │ │ │ ├── LimitField.java │ │ │ └── DataObjectField.java │ │ │ ├── PersistentObjectConverter.java │ │ │ ├── PersistenceException.java │ │ │ └── ObjectPersisterFactory.java │ ├── aws │ │ ├── dynamodb │ │ │ └── src │ │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── comcast │ │ │ │ └── pop │ │ │ │ └── persistence │ │ │ │ └── aws │ │ │ │ └── dynamodb │ │ │ │ ├── AWSDynamoDBFactory.java │ │ │ │ └── retrieve │ │ │ │ └── DynamoObjectRetrieverFactory.java │ │ └── pom.xml │ └── pom.xml ├── module-kube-client │ ├── test │ │ └── main │ │ │ └── src │ │ │ └── main │ │ │ ├── resources │ │ │ └── dev.properties │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── modules │ │ │ └── kube │ │ │ └── fabric8 │ │ │ └── test │ │ │ ├── PodConfigCreator.java │ │ │ └── factory │ │ │ └── ConfigFactory.java │ ├── fabric8 │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── comcast │ │ │ │ └── pop │ │ │ │ └── modules │ │ │ │ └── kube │ │ │ │ └── fabric8 │ │ │ │ └── client │ │ │ │ ├── modulator │ │ │ │ └── HiLowCpuRequestModulation.java │ │ │ │ ├── watcher │ │ │ │ └── PodEventListener.java │ │ │ │ ├── facade │ │ │ │ ├── PodResourceFacadeFactory.java │ │ │ │ ├── RetryablePodResourceFacadeFactory.java │ │ │ │ └── PodResourceFacade.java │ │ │ │ ├── exception │ │ │ │ ├── PodNotScheduledException.java │ │ │ │ └── PodException.java │ │ │ │ └── factory │ │ │ │ └── PodPushClientFactory.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── modules │ │ │ └── kube │ │ │ └── fabric8 │ │ │ └── client │ │ │ └── watcher │ │ │ └── PodPhaseTest.java │ ├── api │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── modules │ │ │ └── kube │ │ │ └── client │ │ │ ├── CpuRequestModulator.java │ │ │ ├── LogLineAccumulator.java │ │ │ ├── logging │ │ │ └── LogLineObserver.java │ │ │ └── config │ │ │ └── KeyPathPair.java │ └── pom.xml ├── module-queue-aws-sqs │ ├── impl │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── comcast │ │ │ │ └── pop │ │ │ │ └── modules │ │ │ │ └── queue │ │ │ │ └── aws │ │ │ │ └── sqs │ │ │ │ ├── AmazonSQSClientFactory.java │ │ │ │ ├── processor │ │ │ │ └── SQSRequestProcessor.java │ │ │ │ └── AmazonSQSClientFactoryImpl.java │ │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── modules │ │ │ └── queue │ │ │ └── aws │ │ │ └── sqs │ │ │ └── SQSItemQueueTestString.java │ ├── api │ │ ├── src │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── comcast │ │ │ │ └── pop │ │ │ │ └── modules │ │ │ │ └── queue │ │ │ │ └── aws │ │ │ │ └── sqs │ │ │ │ └── api │ │ │ │ ├── QueueRequestArgument.java │ │ │ │ └── QueueRequestType.java │ │ └── pom.xml │ └── pom.xml ├── module-test-cleanup │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── test │ │ └── cleanup │ │ └── endpoint │ │ └── IdentifiedObjectCreateListener.java ├── module-process-helper │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── process │ │ │ └── helper │ │ │ └── StreamGobblerFactory.java │ │ └── test │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── process │ │ └── helper │ │ └── ProcessHelperTest.java ├── module-docker │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── module │ │ └── docker │ │ ├── elastic │ │ └── InstanceRegulatorClient.java │ │ └── exception │ │ └── DockerException.java ├── module-producer-consumer-util │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── modules │ │ └── sync │ │ └── util │ │ ├── Consumer.java │ │ ├── Producer.java │ │ └── ProducerResult.java ├── module-http-api │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── http │ │ └── api │ │ └── HTTPClientConfig.java └── module-compression │ ├── pom.xml │ └── src │ └── test │ └── java │ └── com │ └── comcast │ └── pop │ └── compression │ └── zlib │ └── ZlibUtilTest.java ├── .gitignore ├── api ├── main │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── api │ │ │ ├── params │ │ │ ├── ParamKey.java │ │ │ ├── TextParamKey.java │ │ │ ├── CredentialParamKey.java │ │ │ ├── FileParamKey.java │ │ │ ├── GeneralParamKey.java │ │ │ ├── AudioParamKey.java │ │ │ └── VideoParamKey.java │ │ │ ├── facility │ │ │ ├── SchedulingAlgorithm.java │ │ │ └── InsightMapper.java │ │ │ ├── input │ │ │ ├── InputFileResource.java │ │ │ └── InputStream.java │ │ │ ├── GlobalEndpointDataObject.java │ │ │ ├── output │ │ │ ├── OutputParamKey.java │ │ │ ├── OutputStream.java │ │ │ └── OutputFileResource.java │ │ │ ├── progress │ │ │ ├── ProcessingState.java │ │ │ ├── WaitingStateMessage.java │ │ │ └── CompleteStateMessage.java │ │ │ ├── operation │ │ │ └── OperationReference.java │ │ │ ├── EndpointDataObject.java │ │ │ ├── Stream.java │ │ │ ├── tokens │ │ │ └── AgendaToken.java │ │ │ ├── EndpointDataObjectFeed.java │ │ │ ├── AgendaInsight.java │ │ │ └── FileResource.java │ │ └── test │ │ ├── resources │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── api │ │ │ └── facility │ │ │ ├── Customer.json │ │ │ └── ResourcePool.json │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── api │ │ └── params │ │ ├── VideoParamKeyTest.java │ │ └── AudioParamKeyTest.java ├── object-api │ ├── src │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── object │ │ │ └── api │ │ │ ├── IdGenerator.java │ │ │ ├── IdentifiedObject.java │ │ │ └── UUIDGenerator.java │ └── pom.xml └── pom.xml ├── endpoint ├── endpoint-impl │ └── src │ │ ├── test │ │ ├── resources │ │ │ └── nodegraph │ │ │ │ └── AgendaTemplateParameters.json │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── endpoint │ │ │ ├── agenda │ │ │ └── reporter │ │ │ │ ├── TestAgendaProgressReporter.java │ │ │ │ └── CaptureLogger.java │ │ │ └── validation │ │ │ └── BaseValidatorTest.java │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── endpoint │ │ └── agenda │ │ ├── reporter │ │ └── Report.java │ │ └── factory │ │ ├── AgendaFactory.java │ │ └── template │ │ └── parameters │ │ ├── DuplicateParameterException.java │ │ └── MissingTemplateParameterException.java ├── endpoint-api │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── endpoint │ │ └── api │ │ ├── auth │ │ ├── DataVisibility.java │ │ └── CustomerIdAuthorizationResponse.java │ │ ├── agenda │ │ ├── RerunAgendaResponse.java │ │ └── UpdateAgendaResponse.java │ │ ├── ServiceResponse.java │ │ ├── resourcepool │ │ ├── UpdateAgendaProgressResponse.java │ │ ├── CreateAgendaRequest.java │ │ └── UpdateAgendaProgressRequest.java │ │ ├── data │ │ ├── DataObjectRequest.java │ │ ├── DataObjectResponse.java │ │ └── query │ │ │ ├── ByFields.java │ │ │ ├── ByCount.java │ │ │ ├── ById.java │ │ │ ├── resourcepool │ │ │ └── insight │ │ │ │ └── ByInsightId.java │ │ │ ├── scheduling │ │ │ └── ByAgendaId.java │ │ │ └── ByTitle.java │ │ ├── progress │ │ └── ProgressSummaryRequest.java │ │ ├── ObjectNotFoundException.java │ │ ├── ValidationException.java │ │ ├── BadRequestException.java │ │ ├── UnauthorizedException.java │ │ └── ServiceRequest.java ├── endpoint-base │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── endpoint │ │ └── base │ │ ├── visibility │ │ ├── VisibilityMethod.java │ │ ├── NoOpVisibilityFilter.java │ │ └── VisibilityFilter.java │ │ └── validation │ │ └── RequestValidator.java ├── endpoint-functional-test │ ├── src │ │ └── test │ │ │ ├── java │ │ │ └── com │ │ │ │ └── comcast │ │ │ │ └── pop │ │ │ │ └── endpoint │ │ │ │ └── test │ │ │ │ └── messages │ │ │ │ └── ValidationExceptionMessage.java │ │ │ └── resources │ │ │ ├── com │ │ │ └── comcast │ │ │ │ └── pop │ │ │ │ └── endpoint │ │ │ │ └── test │ │ │ │ └── manual │ │ │ │ └── sampleAgenda.json │ │ │ └── test.properties │ └── testng-functional.xml ├── endpoint-impl-aws │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── comcast │ │ │ └── pop │ │ │ └── endpoint │ │ │ ├── persistence │ │ │ ├── ParamsMapConverter.java │ │ │ ├── DiagnosticEventArrayConverter.java │ │ │ └── DateConverter.java │ │ │ ├── agenda │ │ │ └── aws │ │ │ │ └── persistence │ │ │ │ ├── PersistentAgendaConverter.java │ │ │ │ ├── PersistentAgendaInsightConverter.java │ │ │ │ ├── ListOperationsConverter.java │ │ │ │ └── DynamoDBAgendaPersisterFactory.java │ │ │ ├── agendatemplate │ │ │ └── aws │ │ │ │ └── persistence │ │ │ │ ├── AgendaConverter.java │ │ │ │ ├── PersistentAgendaTemplateConverter.java │ │ │ │ └── DynamoDBAgendaTemplatePersisterFactory.java │ │ │ ├── resourcepool │ │ │ └── aws │ │ │ │ └── persistence │ │ │ │ ├── PersistentInsightConverter.java │ │ │ │ ├── PersistentCustomerConverter.java │ │ │ │ ├── PersistentResourcePoolConverter.java │ │ │ │ ├── DynamoDBResourcePoolPersisterFactory.java │ │ │ │ ├── DynamoDBInsightPersisterFactory.java │ │ │ │ └── DynamoDBCustomerPersisterFactory.java │ │ │ ├── progress │ │ │ └── aws │ │ │ │ └── persistence │ │ │ │ ├── PersistentAgendaProgressConverter.java │ │ │ │ └── DynamoDBAgendaProgressPersisterFactory.java │ │ │ └── operationprogress │ │ │ └── aws │ │ │ └── persistence │ │ │ └── PersistentOperationProgressConverter.java │ │ └── test │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── endpoint │ │ └── resourcepool │ │ └── aws │ │ └── persistence │ │ └── PersistentInsightConverterTest.java ├── endpoint-impl-client │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── endpoint │ │ └── client │ │ ├── AgendaServiceClientFactory.java │ │ ├── POPClientException.java │ │ ├── ObjectClientException.java │ │ ├── resourcepool │ │ └── ResourcePoolEndpoint.java │ │ ├── POPServiceClient.java │ │ ├── ObjectClient.java │ │ ├── HttpObjectClientFactory.java │ │ └── ResourcePoolServiceClientFactory.java └── endpoint-base-aws │ └── src │ └── main │ └── java │ └── com │ └── comcast │ └── pop │ └── endpoint │ └── aws │ ├── EnvironmentFacade.java │ └── JsonRequestStreamHandler.java ├── automated-retry ├── agenda-reclaimer-impl │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── agenda │ │ └── reclaim │ │ ├── factory │ │ ├── AgendaProgressConsumerFactory.java │ │ ├── AgendaProgressProducerFactory.java │ │ └── AgendaReclaimerFactory.java │ │ └── exception │ │ └── ReclaimerException.java ├── callback-progress-retry-aws │ └── impl │ │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── callback │ │ └── progress │ │ └── retry │ │ └── AgendaProgressProcessorFactory.java └── pom.xml ├── authorization ├── authorizer-sample-aws │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── auth │ │ └── aws │ │ └── response │ │ ├── LambdaInvokeAction.java │ │ └── PolicyContext.java └── pom.xml ├── scheduling ├── scheduling-api │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── scheduling │ │ └── api │ │ └── AgendaInfo.java ├── scheduling-master-aws │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── scheduling │ │ └── master │ │ └── aws │ │ └── SchedulerRequest.java ├── scheduling-queue-aws │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── scheduling │ │ └── queue │ │ └── aws │ │ └── persistence │ │ └── PersistentInsightScheduleInfoConverter.java ├── scheduling-queue-impl │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── scheduling │ │ └── queue │ │ └── algorithm │ │ └── AgendaScheduler.java ├── scheduling-monitor-impl │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── comcast │ │ └── pop │ │ └── scheduling │ │ └── monitor │ │ └── QueueMetricMonitorFactory.java └── scheduling-monitor-aws │ └── src │ └── main │ └── java │ └── com │ └── comcast │ └── pop │ └── scheduling │ └── monitor │ └── aws │ └── ResourcePoolMonitorRequest.java └── data-reaping ├── pom.xml └── data-object-reaper-aws └── src └── main └── java └── com └── comcast └── pop └── reaper └── objects └── aws └── BaseBatchedOperation.java /handler/handler-executor/package/Dockerfile: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /web-ui/src/main/resources/content/welcome.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /handler/handler-base/src/test/resources/com/comcast/pop/handler/base/messages/test.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /handler/handler-sample/README.md: -------------------------------------------------------------------------------- 1 | # pop-handler-sample-impl 2 | 3 | Sibling: pop-handler-sample-api -------------------------------------------------------------------------------- /handler/handler-puller/package/env.list: -------------------------------------------------------------------------------- 1 | LOG_LEVEL=DEBUG 2 | OATH_CERT= 3 | OATH_TOKEN= 4 | CID=theCid -------------------------------------------------------------------------------- /handler/handler-sample/api/README.md: -------------------------------------------------------------------------------- 1 | # pop-handler-sample-api 2 | 3 | Sibling: pop-handler-sample-impl 4 | -------------------------------------------------------------------------------- /handler/handler-sample/package/local/lastProgress.json: -------------------------------------------------------------------------------- 1 | { 2 | "params":{ 3 | "jobInfo":{"jobId":"123456-987654"} 4 | } 5 | } -------------------------------------------------------------------------------- /deploy/resourcepool/kubernetes/setup/pop-service-account.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ServiceAccount 3 | metadata: 4 | name: pop-service -------------------------------------------------------------------------------- /module/module-json-helper/src/test/resources/context/encode.context.json: -------------------------------------------------------------------------------- 1 | { 2 | "stats": 3 | { 4 | "encodeTime":4560 5 | } 6 | } -------------------------------------------------------------------------------- /web-ui/src/main/resources/css/liquidFillGuage.css: -------------------------------------------------------------------------------- 1 | .liquidFillGaugeText { 2 | font-family: Helvetica; 3 | font-weight: bold; 4 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | target/ 3 | *.iml 4 | .idea/ 5 | .DS_Store 6 | ._* 7 | dependency-reduced-pom.xml 8 | deploy/endpoint/aws/binaries 9 | -------------------------------------------------------------------------------- /web-ui/src/main/resources/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/favicon.ico -------------------------------------------------------------------------------- /handler/handler-base/src/test/resources/com/comcast/pop/handler/base/messages/test.properties: -------------------------------------------------------------------------------- 1 | sample_message=hello world! 2 | sample_arg_message=hello {0} -------------------------------------------------------------------------------- /handler/handler-pod-reaper/package/local/config/external.properties: -------------------------------------------------------------------------------- 1 | pop.kubernetes.masterUrl= 2 | pop.kubernetes.namespace=pop 3 | 4 | pod.reap.age.minutes=320 -------------------------------------------------------------------------------- /web-ui/src/main/resources/images/fission.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/images/fission.png -------------------------------------------------------------------------------- /handler/handler-pod-reaper/package/local/config/external-prod.properties: -------------------------------------------------------------------------------- 1 | pop.kubernetes.masterUrl= 2 | pop.kubernetes.namespace=pop 3 | 4 | pod.reap.age.minutes=320 -------------------------------------------------------------------------------- /module/module-json-helper/src/test/resources/context/analysis.context.json: -------------------------------------------------------------------------------- 1 | { 2 | "streamProperties": 3 | { 4 | "width":720, 5 | "height":480 6 | } 7 | } -------------------------------------------------------------------------------- /web-ui/src/main/resources/css/fonts/IcoMoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/css/fonts/IcoMoon.eot -------------------------------------------------------------------------------- /web-ui/src/main/resources/css/fonts/IcoMoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/css/fonts/IcoMoon.ttf -------------------------------------------------------------------------------- /web-ui/src/main/resources/images/babs_head.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/images/babs_head.png -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/resources/service.properties: -------------------------------------------------------------------------------- 1 | 2 | alive.check.enabled=false 3 | alive.check.frequency=1000 4 | 5 | logging.metric.report.frequency=500 -------------------------------------------------------------------------------- /web-ui/src/main/resources/css/fonts/IcoMoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/css/fonts/IcoMoon.woff -------------------------------------------------------------------------------- /web-ui/src/main/resources/css/fonts/icomoon-license.txt: -------------------------------------------------------------------------------- 1 | Icon Set: IcoMoon Ultimate -- http://icomoon.io/ 2 | License: Royalty Free -- http://icomoon.io/#icons/license 3 | -------------------------------------------------------------------------------- /web-ui/src/main/resources/images/fission_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/images/fission_logo.png -------------------------------------------------------------------------------- /web-ui/src/main/resources/images/green_status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/images/green_status.png -------------------------------------------------------------------------------- /web-ui/src/main/resources/images/fission_logo_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/images/fission_logo_2.png -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/params/ParamKey.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.params; 2 | 3 | public interface ParamKey 4 | { 5 | public String getKey(); 6 | } 7 | -------------------------------------------------------------------------------- /api/object-api/src/main/java/com/comcast/pop/object/api/IdGenerator.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.object.api; 2 | 3 | public interface IdGenerator 4 | { 5 | String generate(); 6 | } 7 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/main/resources/NoopAgenda.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "theAgenda", 3 | "params": { 4 | "param.1": "one", 5 | "param.2": "two" 6 | }, 7 | "operations": [] 8 | } -------------------------------------------------------------------------------- /web-ui/src/main/resources/overview/images/checkbox-checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/overview/images/checkbox-checked.png -------------------------------------------------------------------------------- /endpoint/endpoint-impl/src/test/resources/nodegraph/AgendaTemplateParameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "sourceFile": { 3 | "file": "coolestdog.mp4" 4 | }, 5 | "rawsData": "This is RAWS Data" 6 | } -------------------------------------------------------------------------------- /web-ui/src/main/resources/overview/images/checkbox-unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/overview/images/checkbox-unchecked.png -------------------------------------------------------------------------------- /api/main/src/test/resources/com/comcast/pop/api/facility/Customer.json: -------------------------------------------------------------------------------- 1 | {"id":"982048329048239jfkdsl","billingCode":"My billing code","title":"babs account","availableInsightIds":["9384932rfdiofjwoiejf"]} 2 | -------------------------------------------------------------------------------- /module/module-xml-helper/src/test/resources/basic.xml: -------------------------------------------------------------------------------- 1 | 2 | 45 3 | 4 | data 5 | 6 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/facility/SchedulingAlgorithm.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.facility; 2 | 3 | public enum SchedulingAlgorithm 4 | { 5 | RoundRobin, 6 | FirstInFirstOut 7 | } 8 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/payload/PayloadReader.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.payload; 2 | 3 | public interface PayloadReader 4 | { 5 | String readPayload(); 6 | } 7 | -------------------------------------------------------------------------------- /web-ui/src/main/resources/css/rotate.css: -------------------------------------------------------------------------------- 1 | .rotate{ 2 | transform-origin:50% 50%; 3 | animation:2s rotateRight infinite linear; 4 | } 5 | 6 | @keyframes rotateRight{ 7 | 100%{ transform:rotate(360deg); } 8 | } -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/auth/DataVisibility.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.auth; 2 | 3 | public enum DataVisibility 4 | { 5 | authorized_account, 6 | global 7 | } 8 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/processor/HandlerMetadata.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.processor; 2 | 3 | 4 | public enum HandlerMetadata 5 | { 6 | RequestedCPUs; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/resources/com/comcast/pop/handler/handlerMessages.properties: -------------------------------------------------------------------------------- 1 | general_handler_error=An unknown error has occurred with operation: {0} 2 | payload_translation_fail=Failed to translate payload to {0}. -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/alive/AliveCheck.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.alive; 2 | 3 | public interface AliveCheck 4 | { 5 | public boolean isAlive(); 6 | } 7 | -------------------------------------------------------------------------------- /web-ui/src/main/resources/overview/images/attachments/226435023/DFHDesign.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/overview/images/attachments/226435023/DFHDesign.jpg -------------------------------------------------------------------------------- /endpoint/endpoint-base/src/main/java/com/comcast/pop/endpoint/base/visibility/VisibilityMethod.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.base.visibility; 2 | 3 | public enum VisibilityMethod 4 | { 5 | GET,PUT,POST,DELETE; 6 | } 7 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/field/api/LaunchType.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.field.api; 2 | 3 | public enum LaunchType 4 | { 5 | local, 6 | docker, 7 | kubernetes 8 | } 9 | -------------------------------------------------------------------------------- /module/module-monitor/graphite/src/main/resources/service.properties: -------------------------------------------------------------------------------- 1 | 2 | graphite.path=1m.lab.main.t.aort.fh.t01 3 | graphite.endpoint= 4 | graphite.port=2003 5 | graphite.report.frequency=5000 6 | 7 | alive.check.frequency=2000 -------------------------------------------------------------------------------- /handler/handler-executor/package/env.list: -------------------------------------------------------------------------------- 1 | LOG_LEVEL=DEBUG 2 | OATH_CERT= 3 | OATH_TOKEN= 4 | PAYLOAD={"id":"theAgenda","params":{"param.1":"one","param.2":"two"},"operations":[{"id":"analysis"},{"id":"accelerateFilter"}]} 5 | CID=theCid -------------------------------------------------------------------------------- /handler/handler-pod-reaper/package/env.list: -------------------------------------------------------------------------------- 1 | LOG_LEVEL=DEBUG 2 | OATH_CERT= 3 | OATH_TOKEN= 4 | PAYLOAD={"id":"theAgenda","params":{"param.1":"one","param.2":"two"},"operations":[{"id":"analysis"},{"id":"accelerateFilter"}]} 5 | CID=theCid -------------------------------------------------------------------------------- /web-ui/src/main/resources/overview/images/attachments/226435023/Fission-Brain.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/overview/images/attachments/226435023/Fission-Brain.jpg -------------------------------------------------------------------------------- /web-ui/src/main/resources/overview/images/attachments/236273638/fission-simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/overview/images/attachments/236273638/fission-simple.png -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/field/retriever/api/NamedField.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.field.retriever.api; 2 | 3 | public interface NamedField 4 | { 5 | String getFieldName(); 6 | } 7 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/payload/PayloadReaderFactory.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.payload; 2 | 3 | public interface PayloadReaderFactory 4 | { 5 | PayloadReader createReader(); 6 | } 7 | -------------------------------------------------------------------------------- /handler/handler-base/src/test/java/com/comast/pop/handler/base/progress/reporter/TestConfig.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.progress.reporter; 2 | 3 | public class TestConfig extends BaseReporterThreadConfig 4 | { 5 | } 6 | -------------------------------------------------------------------------------- /handler/handler-sample/api/src/main/java/com/comcast/pop/handler/sample/api/SampleActions.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.api; 2 | 3 | public enum SampleActions 4 | { 5 | log, 6 | exception, 7 | externalExecute 8 | } 9 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/input/InputFileResource.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.input; 2 | 3 | import com.comcast.pop.api.AbstractFileResource; 4 | 5 | public class InputFileResource extends AbstractFileResource 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/field/api/args/CommandLineArgument.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.field.api.args; 2 | 3 | public interface CommandLineArgument 4 | { 5 | String getArgumentName(); 6 | } 7 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/payload/PayloadWriterFactory.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.payload; 2 | 3 | public interface PayloadWriterFactory 4 | { 5 | PayloadWriter createWriter(T param); 6 | } 7 | -------------------------------------------------------------------------------- /module/module-json-helper/src/test/resources/context/reference.json: -------------------------------------------------------------------------------- 1 | { 2 | "someitem": 3 | { 4 | "field1":"@", 5 | "field2":"@", 6 | "field3":["@", "someText", {"nested":"@"}, 4] 7 | } 8 | } -------------------------------------------------------------------------------- /module/module-queue-api/src/main/java/com/comcast/pop/modules/queue/api/ItemQueueFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.queue.api; 2 | 3 | public interface ItemQueueFactory 4 | { 5 | ItemQueue createItemQueue(String name); 6 | } 7 | -------------------------------------------------------------------------------- /web-ui/src/main/resources/overview/images/attachments/226435076/Fission-ResourcePool-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Comcast/Priority-Operation-Processing/HEAD/web-ui/src/main/resources/overview/images/attachments/226435076/Fission-ResourcePool-2.jpg -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/shutdown/ShutdownProcessor.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.shutdown; 2 | 3 | public interface ShutdownProcessor 4 | { 5 | void shutdown(); 6 | } 7 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/main/java/com/comcast/pop/handler/puller/impl/limit/ResourceChecker.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.puller.impl.limit; 2 | 3 | public interface ResourceChecker 4 | { 5 | boolean areResourcesAvailable(); 6 | } 7 | -------------------------------------------------------------------------------- /module/module-persistence/api/src/main/java/com/comcast/pop/persistence/api/field/DataField.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.api.field; 2 | 3 | public interface DataField 4 | { 5 | String name(); 6 | boolean isMatch(String fieldName); 7 | } 8 | -------------------------------------------------------------------------------- /api/main/src/test/resources/com/comcast/pop/api/facility/ResourcePool.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "2u9490283912832109283091", 3 | "title": "CTS Seattle", 4 | "ownerId": "my.resource.pool.user@site.com", 5 | "insightIds": [ 6 | "9384932rfdiofjwoiejf" 7 | ] 8 | } -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/field/api/args/MetaData.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.field.api.args; 2 | 3 | import java.util.Map; 4 | 5 | public interface MetaData 6 | { 7 | Map getMetadata(); 8 | } 9 | -------------------------------------------------------------------------------- /module/module-kube-client/test/main/src/main/resources/dev.properties: -------------------------------------------------------------------------------- 1 | kubernetesMaster= 2 | kubernetesNamespace=pop 3 | tfmhost= 4 | 5 | #nfs settings 6 | nfs.server= 7 | nfs.serverPath=/ 8 | nfs.mountPath=/testFiles 9 | 10 | #test configmap 11 | configMap= -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/alert/AlertSender.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.alert; 2 | 3 | public interface AlertSender 4 | { 5 | public void send(AlertMessage message) throws AlertException; 6 | } 7 | -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/alive/AliveCheckListener.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.alive; 2 | 3 | public interface AliveCheckListener 4 | { 5 | public void processAliveCheck(boolean isAlive); 6 | } 7 | -------------------------------------------------------------------------------- /handler/handler-executor/api/src/main/java/com/comcast/pop/handler/executor/api/ExecutorHandlerInput.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.api; 2 | 3 | import com.comcast.pop.api.Agenda; 4 | 5 | public class ExecutorHandlerInput extends Agenda 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /handler/handler-sample/package/env.list: -------------------------------------------------------------------------------- 1 | LOG_LEVEL=DEBUG 2 | OATH_CERT= 3 | OATH_TOKEN= 4 | PAYLOAD={"action":"log","paramsMap":{"sleepMilliseconds":4000,"logMessage":"This is a custom log message","exceptionMessage":"This is a custom exception message."}} 5 | CID=theCid -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/log/HandlerReporter.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.log; 2 | 3 | import java.util.Map; 4 | 5 | public interface HandlerReporter 6 | { 7 | void reportMetadata(Map metadata); 8 | } 9 | -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/config/ConfigKeys.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.config; 2 | 3 | import java.util.Set; 4 | 5 | public interface ConfigKeys 6 | { 7 | Set getKeys(); 8 | } 9 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/main/java/com/comcast/pop/handler/puller/impl/monitor/alive/AliveCheck.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.puller.impl.monitor.alive; 2 | 3 | public interface AliveCheck 4 | { 5 | boolean isAlive(); 6 | String getNotAliveString(); 7 | } 8 | -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/alert/AlertMessage.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.alert; 2 | 3 | public interface AlertMessage 4 | { 5 | public AlertLevel getLevel(); 6 | public void setLevel(AlertLevel level); 7 | } 8 | -------------------------------------------------------------------------------- /handler/handler-executor/package/local/config/external.properties: -------------------------------------------------------------------------------- 1 | pop.kubernetes.masterUrl= 2 | pop.kubernetes.namespace=pop 3 | 4 | # multi-threaded executor settings 5 | operation.conductor.threadpool.size=50 6 | 7 | # use the StaticPodConfigRegistryClient 8 | useStaticRegistryClient=true -------------------------------------------------------------------------------- /module/module-kube-client/fabric8/src/main/java/com/comcast/pop/modules/kube/fabric8/client/modulator/HiLowCpuRequestModulation.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.client.modulator; 2 | 3 | /** 4 | * 5 | */ 6 | public enum HiLowCpuRequestModulation 7 | { 8 | LOW, HI 9 | } -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/metric/MetricLabel.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.metric; 2 | 3 | public enum MetricLabel 4 | { 5 | duration, 6 | deleted, 7 | failed, 8 | failureCount, 9 | succeeded 10 | } 11 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/params/TextParamKey.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.params; 2 | 3 | public enum TextParamKey implements ParamKey 4 | { 5 | languageCode, intent; 6 | 7 | public String getKey() 8 | { 9 | return this.name(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/params/CredentialParamKey.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.params; 2 | 3 | public enum CredentialParamKey implements ParamKey 4 | { 5 | username, password; 6 | 7 | public String getKey() 8 | { 9 | return this.name(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/main/java/com/comcast/pop/handler/puller/impl/limit/ResourceCheckerFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.puller.impl.limit; 2 | 3 | import java.util.List; 4 | 5 | public interface ResourceCheckerFactory 6 | { 7 | List getResourceCheckers(); 8 | } 9 | -------------------------------------------------------------------------------- /module/module-queue-aws-sqs/impl/src/main/java/com/comcast/pop/modules/queue/aws/sqs/AmazonSQSClientFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.queue.aws.sqs; 2 | 3 | import com.amazonaws.services.sqs.AmazonSQS; 4 | 5 | public interface AmazonSQSClientFactory 6 | { 7 | AmazonSQS createClient(); 8 | } 9 | -------------------------------------------------------------------------------- /api/object-api/src/main/java/com/comcast/pop/object/api/IdentifiedObject.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.object.api; 2 | 3 | public interface IdentifiedObject 4 | { 5 | String getId(); 6 | void setId(String id); 7 | String getCustomerId(); 8 | void setCustomerId(String customerId); 9 | } 10 | -------------------------------------------------------------------------------- /module/module-kube-client/fabric8/src/main/java/com/comcast/pop/modules/kube/fabric8/client/watcher/PodEventListener.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.client.watcher; 2 | 3 | import io.fabric8.kubernetes.client.Watcher; 4 | 5 | public interface PodEventListener extends Watcher 6 | { 7 | } 8 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/validation/string/StringValidator.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.validation.string; 2 | 3 | /** 4 | * Interface for all StringValidators 5 | */ 6 | public interface StringValidator 7 | { 8 | void validate(String input); 9 | } 10 | -------------------------------------------------------------------------------- /module/module-kube-client/api/src/main/java/com/comcast/pop/modules/kube/client/CpuRequestModulator.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.client; 2 | 3 | /** 4 | * 5 | */ 6 | public interface CpuRequestModulator 7 | { 8 | public String getCpuRequest(); 9 | public String getCpuLimit(); 10 | } 11 | -------------------------------------------------------------------------------- /module/module-queue-aws-sqs/api/src/main/java/com/comcast/pop/modules/queue/aws/sqs/api/QueueRequestArgument.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.queue.aws.sqs.api; 2 | 3 | /** 4 | * Possible arguments to pass with a queue request 5 | */ 6 | public enum QueueRequestArgument 7 | { 8 | maxResults, 9 | } 10 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/payload/PayloadWriter.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.payload; 2 | 3 | /** 4 | * Writer for payload objects 5 | */ 6 | public interface PayloadWriter 7 | { 8 | void writePayload(String payload); 9 | String getPayloadType(); 10 | } 11 | -------------------------------------------------------------------------------- /handler/handler-executor/package/local/config/external-minikube.properties: -------------------------------------------------------------------------------- 1 | pop.kubernetes.masterUrl=https://192.168.64.2:8443 2 | pop.kubernetes.namespace=pop 3 | 4 | # multi-threaded executor settings 5 | operation.conductor.threadpool.size=50 6 | 7 | # use the StaticPodConfigRegistryClient 8 | useStaticRegistryClient=true -------------------------------------------------------------------------------- /automated-retry/agenda-reclaimer-impl/src/main/java/com/comcast/pop/agenda/reclaim/factory/AgendaProgressConsumerFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.agenda.reclaim.factory; 2 | 3 | import com.comcast.pop.modules.sync.util.Consumer; 4 | 5 | public interface AgendaProgressConsumerFactory 6 | { 7 | Consumer create(); 8 | } 9 | -------------------------------------------------------------------------------- /automated-retry/agenda-reclaimer-impl/src/main/java/com/comcast/pop/agenda/reclaim/factory/AgendaProgressProducerFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.agenda.reclaim.factory; 2 | 3 | import com.comcast.pop.modules.sync.util.Producer; 4 | 5 | public interface AgendaProgressProducerFactory 6 | { 7 | Producer create(); 8 | } 9 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/perform/Executor.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.perform; 2 | 3 | /** 4 | * Interface for performing operations (primarily for the RetryableExecutor) 5 | * @param 6 | */ 7 | public interface Executor 8 | { 9 | T execute() throws Exception; 10 | } 11 | -------------------------------------------------------------------------------- /handler/handler-sample/package/local/payload-local.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [ 3 | { 4 | "action": "log", 5 | "paramsMap": { 6 | "sleepMilliseconds": 5000, 7 | "logMessage": "This is a custom log message" 8 | } 9 | } 10 | ], 11 | "resultPayload": { 12 | "data": "someData" 13 | } 14 | } -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/config/KubeConfigFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.config; 2 | 3 | import com.comcast.pop.modules.kube.client.config.KubeConfig; 4 | 5 | public interface KubeConfigFactory 6 | { 7 | KubeConfig createKubeConfig(); 8 | } 9 | -------------------------------------------------------------------------------- /module/module-queue-aws-sqs/api/src/main/java/com/comcast/pop/modules/queue/aws/sqs/api/QueueRequestType.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.queue.aws.sqs.api; 2 | 3 | /** 4 | * The type of request to perform on the queue 5 | */ 6 | public enum QueueRequestType 7 | { 8 | add, 9 | poll, 10 | //peek, 11 | size, 12 | } 13 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/main/java/com/comcast/pop/handler/puller/impl/executor/LauncherFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.puller.impl.executor; 2 | 3 | import com.comcast.pop.handler.puller.impl.context.PullerContext; 4 | 5 | public interface LauncherFactory 6 | { 7 | BaseLauncher createLauncher(PullerContext pullerContext); 8 | } -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/field/api/HandlerField.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.field.api; 2 | 3 | public enum HandlerField 4 | { 5 | PAYLOAD, 6 | LAST_PROGRESS, 7 | CID, 8 | OPERATION_NAME, 9 | AGENDA_ID, 10 | OPERATION_ID, 11 | CUSTOMER_ID, 12 | PROGRESS_ID; 13 | } 14 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/GlobalEndpointDataObject.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api; 2 | 3 | import com.comcast.pop.object.api.IdentifiedObject; 4 | 5 | public interface GlobalEndpointDataObject extends IdentifiedObject 6 | { 7 | Boolean isGlobal(); 8 | Boolean getIsGlobal(); 9 | void setIsGlobal(Boolean global); 10 | } 11 | -------------------------------------------------------------------------------- /web-ui/README: -------------------------------------------------------------------------------- 1 | Local Docker Apache image for testing: (localhost:8080) 2 | ---- 3 | 1) navigate to the resources folder in the terminal 4 | 2) Run this command: docker run -p 8080:80 -v $(pwd):/usr/local/apache2/htdocs/ httpd:2.4 5 | 3) Browser: http://localhost:8080/ 6 | 7 | Clean up old docker stuff (like non-running containers) 8 | ------ 9 | docker system prune -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/agenda/RerunAgendaResponse.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.agenda; 2 | 3 | import com.comcast.pop.endpoint.api.DefaultServiceResponse; 4 | 5 | public class RerunAgendaResponse extends DefaultServiceResponse 6 | { 7 | public RerunAgendaResponse() 8 | { 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl/src/main/java/com/comcast/pop/endpoint/agenda/reporter/Report.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agenda.reporter; 2 | 3 | public interface Report 4 | { 5 | public static final String ADDED_KEY = "added"; 6 | public static final String CONCLUSION_STATUS_KEY = "conclusion_status"; 7 | 8 | V report(T object); 9 | } 10 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/ResidentHandler.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base; 2 | 3 | /** 4 | * Represents a handler that is executed directly as a class (no external launch to execute) 5 | */ 6 | public interface ResidentHandler 7 | { 8 | String execute(ResidentHandlerParams residentHandlerParams); 9 | } 10 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/validation/string/StringValidationException.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.validation.string; 2 | 3 | public class StringValidationException extends RuntimeException 4 | { 5 | public StringValidationException(String message) 6 | { 7 | super(message); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/config/NfsDetailsFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.config; 2 | 3 | import com.comcast.pop.modules.kube.client.config.NfsDetails; 4 | 5 | public interface NfsDetailsFactory 6 | { 7 | NfsDetails createNfsDetails(String propertyPrefix); 8 | } 9 | -------------------------------------------------------------------------------- /handler/handler-puller/package/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ########################################################################## 4 | # Exports whatever variables are needed 5 | 6 | 7 | DOCKER_PROD= 8 | export DOCKER_PROD 9 | DOCKER_LAB= 10 | export DOCKER_LAB 11 | 12 | # build the image 13 | mvn -U clean install 14 | 15 | ./dockerRun.sh $@ 16 | -------------------------------------------------------------------------------- /module/module-kube-client/fabric8/src/main/java/com/comcast/pop/modules/kube/fabric8/client/facade/PodResourceFacadeFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.client.facade; 2 | 3 | public interface PodResourceFacadeFactory 4 | { 5 | PodResourceFacade create(KubernetesClientFacade kubernetesClientFacade, String namespace, String podName); 6 | } 7 | -------------------------------------------------------------------------------- /module/module-persistence/api/src/main/java/com/comcast/pop/persistence/api/field/IdField.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.api.field; 2 | 3 | 4 | public class IdField extends DataObjectField 5 | { 6 | private static final String fieldName = "id"; 7 | 8 | public IdField() 9 | { 10 | super(fieldName); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /module/module-test-cleanup/src/main/java/com/comcast/pop/test/cleanup/endpoint/IdentifiedObjectCreateListener.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.test.cleanup.endpoint; 2 | 3 | import com.comcast.pop.object.api.IdentifiedObject; 4 | 5 | /** 6 | */ 7 | public interface IdentifiedObjectCreateListener 8 | { 9 | void objectCreated(IdentifiedObject dataObject); 10 | } -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/output/OutputParamKey.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.output; 2 | 3 | import com.comcast.pop.api.params.ParamKey; 4 | 5 | public enum OutputParamKey implements ParamKey 6 | { 7 | protectionScheme, 8 | format; 9 | 10 | public String getKey() 11 | { 12 | return this.name(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /handler/handler-executor/package/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ########################################################################## 4 | # Exports whatever variables are ndeeded 5 | 6 | 7 | DOCKER_PROD= 8 | export DOCKER_PROD 9 | DOCKER_LAB= 10 | export DOCKER_LAB 11 | 12 | # build the image 13 | mvn -U clean install 14 | 15 | ./dockerRun.sh $@ 16 | -------------------------------------------------------------------------------- /handler/handler-pod-reaper/impl/src/main/resources/com/comcast/pop/handler/executor/reaperMessages.properties: -------------------------------------------------------------------------------- 1 | #keys are lowercase, enums are whatever enums should be (upper case) 2 | 3 | no_pods_to_reap=No pods found for reaping. 4 | pod_delete_attempt=Attempting to delete pods: {0} 5 | pod_batch_reap_failed=Failed to reap a batch of pods. Continuing with next batch. 6 | -------------------------------------------------------------------------------- /handler/handler-pod-reaper/package/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ########################################################################## 4 | # Exports whatever variables are ndeeded 5 | 6 | 7 | DOCKER_PROD= 8 | export DOCKER_PROD 9 | DOCKER_LAB= 10 | export DOCKER_LAB 11 | 12 | # build the image 13 | mvn -U clean install 14 | 15 | ./dockerRun.sh $@ 16 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/main/java/com/comcast/pop/handler/puller/impl/executor/BaseLauncher.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.puller.impl.executor; 2 | 3 | import com.comcast.pop.api.Agenda; 4 | import com.comcast.pop.api.progress.AgendaProgress; 5 | 6 | public interface BaseLauncher 7 | { 8 | void execute(Agenda agenda, AgendaProgress agendaProgress); 9 | } -------------------------------------------------------------------------------- /web-ui/src/main/resources/assembly/bin.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | zip 5 | 6 | 7 | 8 | src/main/resources 9 | . 10 | 11 | **/*.* 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /authorization/authorizer-sample-aws/src/main/java/com/comcast/pop/auth/aws/response/LambdaInvokeAction.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.auth.aws.response; 2 | 3 | public class LambdaInvokeAction implements com.amazonaws.auth.policy.Action 4 | { 5 | @Override 6 | public String getActionName() 7 | { 8 | return "execute-api:Invoke"; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/ServiceResponse.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api; 2 | 3 | public interface ServiceResponse 4 | { 5 | T getErrorResponse(); 6 | 7 | void setErrorResponse(T errorResponse); 8 | 9 | boolean isError(); 10 | 11 | String getCID(); 12 | 13 | void setCID(String cid); 14 | } 15 | -------------------------------------------------------------------------------- /handler/handler-sample/package/local/payload.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [ 3 | { 4 | "action": "externalExecute", 5 | "paramsMap": { 6 | "externalArgs": [ 7 | "ash", 8 | "-c", 9 | "ls", 10 | "-la" 11 | ] 12 | } 13 | } 14 | ], 15 | "resultPayload": { 16 | "data": "someData" 17 | } 18 | } -------------------------------------------------------------------------------- /deploy/resourcepool/kubernetes/setup/RoleBinding.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: rbac.authorization.k8s.io/v1beta1 2 | kind: RoleBinding 3 | metadata: 4 | name: pop-edit-service 5 | namespace: pop 6 | roleRef: 7 | apiGroup: rbac.authorization.k8s.io 8 | kind: ClusterRole 9 | name: edit 10 | subjects: 11 | - kind: ServiceAccount 12 | name: pop-service 13 | namespace: pop 14 | -------------------------------------------------------------------------------- /module/module-queue-aws-sqs/impl/src/main/java/com/comcast/pop/modules/queue/aws/sqs/processor/SQSRequestProcessor.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.queue.aws.sqs.processor; 2 | 3 | import com.comcast.pop.modules.queue.aws.sqs.SQSRequestContext; 4 | 5 | public interface SQSRequestProcessor 6 | { 7 | SQSQueueResult processRequest(SQSRequestContext sqsRequestContext); 8 | } 9 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/messages/MessageLookup.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.messages; 2 | 3 | /** 4 | * Interface for enums to use as a basis for looking up messages (see ResourceBundleStringRetriever) 5 | */ 6 | public interface MessageLookup 7 | { 8 | String getMessage(Object... args); 9 | String getKey(); 10 | } 11 | -------------------------------------------------------------------------------- /module/module-process-helper/src/main/java/com/comcast/pop/process/helper/StreamGobblerFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.process.helper; 2 | 3 | import java.io.InputStream; 4 | 5 | public class StreamGobblerFactory 6 | { 7 | public StreamGobbler getStreamGobbler(InputStream inputStream) 8 | { 9 | return new StreamGobbler(inputStream); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/params/FileParamKey.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.params; 2 | 3 | public enum FileParamKey implements ParamKey 4 | { 5 | extension, 6 | externalFileId, 7 | fileSize, 8 | ldapOriginalPrefix, 9 | ldapRemappedPrefix; 10 | 11 | public String getKey() 12 | { 13 | return this.name(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/progress/ProcessingState.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.progress; 2 | 3 | /** 4 | * waiting: waiting to start (pods or dependencies pending) 5 | * executing: actively processing 6 | * complete: completed (failed or succeeded) 7 | */ 8 | public enum ProcessingState 9 | { 10 | WAITING, 11 | EXECUTING, 12 | COMPLETE 13 | } 14 | -------------------------------------------------------------------------------- /api/object-api/src/main/java/com/comcast/pop/object/api/UUIDGenerator.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.object.api; 2 | 3 | import java.util.UUID; 4 | 5 | /** 6 | * ID Generator for Identified objects (UUID by default) 7 | */ 8 | public class UUIDGenerator implements IdGenerator 9 | { 10 | public String generate() 11 | { 12 | return UUID.randomUUID().toString(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/main/java/com/comcast/pop/handler/puller/impl/executor/kubernetes/KubernetesConstants.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.puller.impl.executor.kubernetes; 2 | 3 | public class KubernetesConstants 4 | { 5 | public static final String EXECEUTOR_INSIGHT_LABEL = "pop.insightId"; 6 | public static final String EXECEUTOR_RESOURCEPOOL_LABEL = "pop.resourcePoolId"; 7 | } 8 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl/src/main/java/com/comcast/pop/endpoint/agenda/factory/AgendaFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agenda.factory; 2 | 3 | import com.comcast.pop.api.Agenda; 4 | import com.comcast.pop.api.AgendaTemplate; 5 | 6 | public interface AgendaFactory 7 | { 8 | Agenda createAgendaFromObject(AgendaTemplate agendaTemplate, Object payload, String progressId, String cid); 9 | } 10 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/exception/ExceptionUtils.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.exception; 2 | 3 | import java.util.Arrays; 4 | 5 | public class ExceptionUtils 6 | { 7 | private ExceptionUtils(){} 8 | 9 | public static String getStackTraceString(Exception e) 10 | { 11 | return Arrays.toString(e.getStackTrace()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /handler/handler-sample/impl/src/main/java/com/comcast/pop/handler/sample/impl/executor/ExternalExecutorFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.impl.executor; 2 | 3 | import com.comast.pop.handler.base.field.retriever.LaunchDataWrapper; 4 | 5 | public interface ExternalExecutorFactory 6 | { 7 | BaseExternalExecutor getExternalExecutor(LaunchDataWrapper launchDataWrapper, String[] commandLineArgs); 8 | } -------------------------------------------------------------------------------- /api/main/src/test/java/com/comcast/pop/api/params/VideoParamKeyTest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.params; 2 | 3 | import org.testng.annotations.Test; 4 | 5 | public class VideoParamKeyTest extends BaseParamKeyTest 6 | { 7 | @Test 8 | public void testVideoParamKeyMatchesVideoStreamParams() 9 | { 10 | testParamKeysMatchParamsObject(VideoParamKey.values(), new VideoStreamParams()); 11 | } 12 | } -------------------------------------------------------------------------------- /module/module-json-helper/src/main/java/com/comcast/pop/modules/jsonhelper/replacement/JsonNodeReplacer.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.jsonhelper.replacement; 2 | 3 | import com.fasterxml.jackson.databind.JsonNode; 4 | 5 | /** 6 | * A JsonNode value replacer 7 | */ 8 | public interface JsonNodeReplacer 9 | { 10 | void updateValue(String newValue); 11 | void updateValue(JsonNode newValue); 12 | } 13 | -------------------------------------------------------------------------------- /api/main/src/test/java/com/comcast/pop/api/params/AudioParamKeyTest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.params; 2 | 3 | import org.testng.annotations.Test; 4 | 5 | public class AudioParamKeyTest extends BaseParamKeyTest 6 | { 7 | @Test 8 | public void testAudioParamKeyMatchesAudioStreamParams() 9 | { 10 | testParamKeysMatchParamsObject(AudioParamKey.values(), new AudioStreamParams()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/metric/MetricReporterFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.metric; 2 | 3 | import com.codahale.metrics.MetricRegistry; 4 | import com.codahale.metrics.ScheduledReporter; 5 | 6 | public interface MetricReporterFactory 7 | { 8 | ScheduledReporter register(MetricRegistry registry); 9 | int getReportIntervalInMilli(); 10 | } 11 | -------------------------------------------------------------------------------- /module/module-persistence/api/src/main/java/com/comcast/pop/persistence/api/PersistentObjectConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.api; 2 | 3 | /** 4 | */ 5 | public interface PersistentObjectConverter 6 | { 7 | Class getPersistentObjectClass(); 8 | Class getDataObjectClass(); 9 | 10 | S getPersistentObject(T dataObject); 11 | 12 | T getDataObject(S persistentObject); 13 | } 14 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/operation/OperationReference.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.operation; 2 | 3 | public enum OperationReference 4 | { 5 | OUTPUT(".out"); 6 | 7 | private final String suffix; 8 | 9 | OperationReference(String suffix) 10 | { 11 | this.suffix = suffix; 12 | } 13 | 14 | public String getSuffix() 15 | { 16 | return suffix; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/processor/OperationWrapperFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.processor; 2 | 3 | import com.comcast.pop.api.operation.Operation; 4 | 5 | public class OperationWrapperFactory 6 | { 7 | public OperationWrapper create(Operation operation) 8 | { 9 | return new OperationWrapper(operation); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /module/module-kube-client/test/main/src/main/java/com/comcast/pop/modules/kube/fabric8/test/PodConfigCreator.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.test; 2 | 3 | import com.comcast.pop.modules.kube.client.config.PodConfig; 4 | import com.comcast.pop.modules.kube.fabric8.test.factory.ConfigFactory; 5 | 6 | public interface PodConfigCreator 7 | { 8 | PodConfig createPodConfig(ConfigFactory configFactory); 9 | } 10 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/EndpointDataObject.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api; 2 | 3 | import java.util.Date; 4 | 5 | public interface EndpointDataObject 6 | { 7 | public String getId(); 8 | 9 | public String getCustomerId(); 10 | 11 | public String getCid(); 12 | 13 | public Date getUpdatedTime(); 14 | 15 | public Date getAddedTime(); 16 | 17 | public String getTitle(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/processor/HandlerProcessor.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.processor; 2 | 3 | /** 4 | * Interface for a handler processor. 5 | * 6 | * TODO: consider making this an abstract that includes a constructor enforcing the use of a LaunchDataWrapper and BaseOperationContext 7 | */ 8 | public interface HandlerProcessor 9 | { 10 | void execute(); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /handler/handler-base/src/test/java/com/comast/pop/handler/base/messages/HandlerMessagesTest.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.messages; 2 | 3 | import org.testng.annotations.Test; 4 | 5 | public class HandlerMessagesTest 6 | { 7 | @Test 8 | public void verifyMessages() 9 | { 10 | new ResourceBundleStringRetriever(HandlerMessages.RESOURCE_PATH).testAllEntries(HandlerMessages.values()); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /web-ui/src/main/resources/js/util.js: -------------------------------------------------------------------------------- 1 | function verifyJson(json) 2 | { 3 | try { 4 | JSON.parse(json); 5 | return true; 6 | } 7 | catch(err) { 8 | // TODO: need to provide a callback function not directly reference #response 9 | $("#response").val(err); 10 | return false; 11 | } 12 | } 13 | 14 | function defined(variable) { 15 | return (typeof variable !== 'undefined'); 16 | } -------------------------------------------------------------------------------- /handler/handler-executor/test/main/testng-functional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/input/InputStream.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.input; 2 | 3 | import com.comcast.pop.api.AbstractStream; 4 | 5 | public class InputStream extends AbstractStream 6 | { 7 | public String getInputRef() 8 | { 9 | return getReference(); 10 | } 11 | 12 | public void setInputRef(String sourceReference) 13 | { 14 | setReference(sourceReference); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /handler/handler-sample/api/src/main/java/com/comcast/pop/handler/sample/api/ActionParamKeys.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.api; 2 | 3 | import com.comcast.pop.api.params.ParamKey; 4 | 5 | public enum ActionParamKeys implements ParamKey 6 | { 7 | sleepMilliseconds, 8 | logMessage, 9 | exceptionMessage; 10 | 11 | @Override 12 | public String getKey() 13 | { 14 | return name(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /module/module-kube-client/test/main/src/main/java/com/comcast/pop/modules/kube/fabric8/test/factory/ConfigFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.test.factory; 2 | 3 | import com.comcast.pop.modules.kube.client.config.KubeConfig; 4 | import com.comcast.pop.modules.kube.client.config.PodConfig; 5 | 6 | public interface ConfigFactory 7 | { 8 | KubeConfig getDefaultKubeConfig(); 9 | PodConfig getDefaultPodConfig(); 10 | } -------------------------------------------------------------------------------- /scheduling/scheduling-api/src/main/java/com/comcast/pop/scheduling/api/AgendaInfo.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.scheduling.api; 2 | 3 | import com.comcast.pop.object.api.IdentifiedObject; 4 | 5 | import java.util.Date; 6 | 7 | public interface AgendaInfo extends IdentifiedObject 8 | { 9 | String getId(); 10 | String getInsightId(); 11 | String getAgendaId(); 12 | String getCustomerId(); 13 | Date getAdded(); 14 | } 15 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/facility/InsightMapper.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.facility; 2 | 3 | import com.comcast.pop.api.Agenda; 4 | 5 | import java.util.Set; 6 | 7 | public interface InsightMapper extends Comparable 8 | { 9 | public String getName(); 10 | public Set getMatchValues(); 11 | public boolean matches(Agenda agenda); 12 | public InsightMapper withMatchValue(String matchValue); 13 | } 14 | -------------------------------------------------------------------------------- /endpoint/endpoint-base/src/main/java/com/comcast/pop/endpoint/base/validation/RequestValidator.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.base.validation; 2 | 3 | import com.comcast.pop.endpoint.api.ServiceRequest; 4 | 5 | public interface RequestValidator 6 | { 7 | void validateGET(R request); 8 | void validatePOST(R request); 9 | void validatePUT(R request); 10 | void validateDELETE(R request); 11 | } 12 | -------------------------------------------------------------------------------- /module/module-persistence/api/src/main/java/com/comcast/pop/persistence/api/PersistenceException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.api; 2 | 3 | public class PersistenceException extends Throwable 4 | { 5 | public PersistenceException(String message) 6 | { 7 | super(message); 8 | } 9 | 10 | public PersistenceException(String message, Throwable cause) 11 | { 12 | super(message, cause); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl/src/main/java/com/comcast/pop/endpoint/agenda/factory/template/parameters/DuplicateParameterException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agenda.factory.template.parameters; 2 | 3 | import com.comcast.pop.endpoint.api.ValidationException; 4 | 5 | public class DuplicateParameterException extends ValidationException 6 | { 7 | public DuplicateParameterException(String message) { 8 | super(message); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/field/retriever/environment/EnvironmentVariableProvider.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.field.retriever.environment; 2 | 3 | /** 4 | * This intermediate is pretty much just for the sake of unit tests. 5 | */ 6 | public class EnvironmentVariableProvider 7 | { 8 | public String getVariable(String envVar) 9 | { 10 | return System.getenv(envVar); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/processor/OnOperationCompleteListener.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.processor; 2 | 3 | /** 4 | * Basic callback interface. TODO: If this is used extensively it should become an observable... (something with a collection) 5 | */ 6 | public interface OnOperationCompleteListener 7 | { 8 | void onComplete(OperationWrapper operationWrapper); 9 | } 10 | -------------------------------------------------------------------------------- /module/module-persistence/api/src/main/java/com/comcast/pop/persistence/api/ObjectPersisterFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.api; 2 | 3 | import com.comcast.pop.object.api.IdentifiedObject; 4 | 5 | /** 6 | * Basic factory interface for object persistence 7 | * @param 8 | */ 9 | public interface ObjectPersisterFactory 10 | { 11 | ObjectPersister getObjectPersister(String containerName); 12 | } 13 | -------------------------------------------------------------------------------- /endpoint/endpoint-functional-test/src/test/java/com/comcast/pop/endpoint/test/messages/ValidationExceptionMessage.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.test.messages; 2 | 3 | /** 4 | * These are common fragments so they are not hard coded all over 5 | */ 6 | public class ValidationExceptionMessage 7 | { 8 | public final static String TITLE_NOT_SPECIFIED = "The title field must be specified"; 9 | 10 | private ValidationExceptionMessage(){} 11 | } 12 | -------------------------------------------------------------------------------- /module/module-persistence/api/src/main/java/com/comcast/pop/persistence/api/field/FieldsField.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.api.field; 2 | 3 | public class FieldsField extends DataObjectField 4 | { 5 | private static final String fieldName = "fields"; 6 | 7 | public FieldsField() 8 | { 9 | super(fieldName); 10 | } 11 | 12 | public static String fieldName() 13 | { 14 | return fieldName; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/output/OutputStream.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.output; 2 | 3 | import com.comcast.pop.api.AbstractStream; 4 | 5 | public class OutputStream extends AbstractStream 6 | { 7 | public String getOutputRef() 8 | { 9 | return getReference(); 10 | } 11 | 12 | public void setOutputRef(String sourceStreamReference) 13 | { 14 | setReference(sourceStreamReference); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/persistence/ParamsMapConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.persistence; 2 | 3 | import com.fasterxml.jackson.core.type.TypeReference; 4 | import com.comcast.pop.api.params.ParamsMap; 5 | 6 | public class ParamsMapConverter extends JsonDynamoDBTypeConverter 7 | { 8 | public ParamsMapConverter() 9 | { 10 | super(new TypeReference(){}); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/Stream.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api; 2 | 3 | import java.util.Map; 4 | 5 | public interface Stream 6 | { 7 | public String getReference(); 8 | 9 | public void setReference(String sourceStreamReference); 10 | 11 | public String getType(); 12 | 13 | public void setType(String type); 14 | 15 | public Map getParams(); 16 | 17 | public String getString(final String name); 18 | } 19 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl/src/main/java/com/comcast/pop/endpoint/agenda/factory/template/parameters/MissingTemplateParameterException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agenda.factory.template.parameters; 2 | 3 | import com.comcast.pop.endpoint.api.ValidationException; 4 | 5 | public class MissingTemplateParameterException extends ValidationException 6 | { 7 | public MissingTemplateParameterException(String message) { 8 | super(message); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/progress/reporter/operation/OperationProgressConsumer.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.progress.reporter.operation; 2 | 3 | import com.comcast.pop.api.progress.OperationProgress; 4 | 5 | public interface OperationProgressConsumer 6 | { 7 | void setOperationProgress(OperationProgress operationProgress, Object payload); 8 | void setOperationProgress(OperationProgress operationProgress); 9 | } 10 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/processor/runner/event/OperationCompleteEvent.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.processor.runner.event; 2 | 3 | import com.comcast.pop.api.operation.Operation; 4 | import com.comcast.pop.api.progress.OperationProgress; 5 | 6 | public interface OperationCompleteEvent 7 | { 8 | void onOperationComplete(Operation operation, OperationProgress operationProgress); 9 | } 10 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/auth/CustomerIdAuthorizationResponse.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.auth; 2 | 3 | import java.util.Collections; 4 | 5 | public class CustomerIdAuthorizationResponse extends AuthorizationResponse 6 | 7 | { 8 | public CustomerIdAuthorizationResponse(String customerID) 9 | { 10 | super(null, null, Collections.singleton(customerID), DataVisibility.authorized_account); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/registry/resident/operations/ResidentHandlerFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.registry.resident.operations; 2 | 3 | import com.comcast.pop.handler.executor.impl.context.ExecutorContext; 4 | import com.comast.pop.handler.base.ResidentHandler; 5 | 6 | public interface ResidentHandlerFactory 7 | { 8 | ResidentHandler create(ExecutorContext executorContext); 9 | } 10 | -------------------------------------------------------------------------------- /handler/handler-puller/package/dockerRun.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | DIR=$(dirname $0) 4 | [ "$DIR" = "." ] && DIR=$(pwd) 5 | 6 | IMAGE=cppull:1.0.0 7 | ARGS="-launchType local -externalLaunchType local -propFile /config/external.properties -confPath /config/conf.yaml" 8 | 9 | docker run --env-file env.list -it \ 10 | -v ${DIR}/local/config:/config \ 11 | -v ${DIR}/logs:/app/dumps \ 12 | ${IMAGE} \ 13 | ${ARGS} 14 | -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/alert/AlertLevel.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.alert; 2 | 3 | public enum AlertLevel 4 | { 5 | INFO, 6 | CRITICAL, 7 | WARNING, 8 | CLEAR, 9 | UNKNOWN; 10 | 11 | public static AlertLevel getEnum(String value) { 12 | for(AlertLevel v : values()) 13 | if(v.name().equalsIgnoreCase(value)) return v; 14 | 15 | return UNKNOWN; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/params/GeneralParamKey.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.params; 2 | 3 | public enum GeneralParamKey implements ParamKey 4 | { 5 | progressId, 6 | execProgressId, 7 | agendaId, 8 | dependsOn, 9 | generatedOperationParent, 10 | cid, 11 | customerId, 12 | externalId, 13 | maximumAttempts, 14 | doNotRun; 15 | 16 | public String getKey() 17 | { 18 | return this.name(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /handler/handler-executor/package/dockerRun.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | DIR=$(dirname $0) 4 | [ "$DIR" = "." ] && DIR=$(pwd) 5 | 6 | IMAGE=fhexec:1.0.0 7 | ARGS="-launchType local -externalLaunchType local -propFile /local/config/external.properties -payloadFile /local/payload.json" 8 | 9 | docker run --env-file env.list -it \ 10 | -v ${DIR}/local:/local \ 11 | -v ${DIR}/logs:/app/dumps \ 12 | ${IMAGE} \ 13 | ${ARGS} 14 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-client/src/main/java/com/comcast/pop/endpoint/client/AgendaServiceClientFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.client; 2 | 3 | import com.comcast.pop.http.api.HttpURLConnectionFactory; 4 | 5 | public class AgendaServiceClientFactory 6 | { 7 | public AgendaServiceClient create(String serviceUrl, HttpURLConnectionFactory httpUrlConnectionFactory) 8 | { 9 | return new AgendaServiceClient(serviceUrl, httpUrlConnectionFactory); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /handler/handler-pod-reaper/package/dockerRun.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | DIR=$(dirname $0) 4 | [ "$DIR" = "." ] && DIR=$(pwd) 5 | 6 | #IMAGE=fhpr:1.0.0 7 | ARGS="-launchType local -externalLaunchType local -propFile /local/config/external.properties -payloadFile /local/payload.json" 8 | 9 | docker run --env-file env.list -it \ 10 | -v ${DIR}/local:/local \ 11 | -v ${DIR}/logs:/app/dumps \ 12 | ${IMAGE} \ 13 | ${ARGS} 14 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/config/ConfigurePod.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.config; 2 | 3 | import com.comast.pop.handler.base.field.retriever.api.FieldRetriever; 4 | import com.comcast.pop.modules.kube.client.config.PodConfig; 5 | 6 | import java.util.Optional; 7 | 8 | public interface ConfigurePod 9 | { 10 | void setPodConfig(PodConfig podConfig, Optional fieldRetriever); 11 | } 12 | -------------------------------------------------------------------------------- /handler/handler-sample/package/local/config/external.properties: -------------------------------------------------------------------------------- 1 | pop.kubernetes.podconfig.namePrefix=pop-sample-ext 2 | pop.kubernetes.podconfig.docker.imageName=alpine:3.11 3 | pop.kubernetes.podconfig.reapCompletedPods=true 4 | pop.kubernetes.podconfig.docker.imagePullAlways=true 5 | 6 | #nfs settings 7 | #pop.handler.sample.nfs.serverPath=/ 8 | #pop.handler.sample.nfs.readOnly=true 9 | #pop.handler.sample.nfs.mountPaths=/testFiles,/media_test01,/media_symlib 10 | #pop.handler.sample.nfs.server= -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/config/converter/ConfigPropertyConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.config.converter; 2 | 3 | public interface ConfigPropertyConverter 4 | { 5 | /** 6 | * Converts the input string to the type associated with this converter 7 | * @param propertyValue The string to convert 8 | * @return The result of the conversion 9 | */ 10 | T convertPropertyValue(String propertyValue); 11 | } 12 | -------------------------------------------------------------------------------- /module/module-queue-aws-sqs/impl/src/main/java/com/comcast/pop/modules/queue/aws/sqs/AmazonSQSClientFactoryImpl.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.queue.aws.sqs; 2 | 3 | import com.amazonaws.services.sqs.AmazonSQS; 4 | import com.amazonaws.services.sqs.AmazonSQSAsyncClientBuilder; 5 | 6 | public class AmazonSQSClientFactoryImpl implements AmazonSQSClientFactory 7 | { 8 | public AmazonSQS createClient() 9 | { 10 | return AmazonSQSAsyncClientBuilder.defaultClient(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/params/AudioParamKey.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.params; 2 | 3 | 4 | public enum AudioParamKey implements ParamKey 5 | { 6 | bitrate, 7 | channels, 8 | codec, 9 | duration, 10 | format, 11 | id, 12 | language, 13 | profile, 14 | samplingRate, 15 | sampleSize, 16 | streamOrder, 17 | streamSize, 18 | title 19 | ; 20 | 21 | public String getKey() 22 | { 23 | return this.name(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/persistence/DiagnosticEventArrayConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.persistence; 2 | 3 | import com.fasterxml.jackson.core.type.TypeReference; 4 | import com.comcast.pop.api.progress.DiagnosticEvent; 5 | 6 | public class DiagnosticEventArrayConverter extends JsonDynamoDBTypeConverter 7 | { 8 | public DiagnosticEventArrayConverter() 9 | { 10 | super(new TypeReference(){}); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/progress/WaitingStateMessage.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.progress; 2 | 3 | /** 4 | * Messages when in the waiting state (likely will only ever have 1) 5 | */ 6 | public enum WaitingStateMessage 7 | { 8 | PENDING("pending"); 9 | 10 | private final String name; 11 | 12 | WaitingStateMessage(String name) 13 | { 14 | this.name = name; 15 | } 16 | 17 | @Override 18 | public String toString() 19 | { 20 | return name; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /endpoint/endpoint-base-aws/src/main/java/com/comcast/pop/endpoint/aws/EnvironmentFacade.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.aws; 2 | 3 | import java.util.Map; 4 | 5 | /** 6 | * Wrapper class for environment variable access (primarily helpful for unit testing) 7 | */ 8 | public class EnvironmentFacade 9 | { 10 | public String getEnv(String var) 11 | { 12 | return System.getenv(var); 13 | } 14 | 15 | public Map getEnv() 16 | { 17 | return System.getenv(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /module/module-docker/src/main/java/com/comcast/pop/module/docker/elastic/InstanceRegulatorClient.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.module.docker.elastic; 2 | 3 | /** 4 | * 5 | */ 6 | public interface InstanceRegulatorClient 7 | { 8 | public boolean startInstance(String nameSuffix); 9 | 10 | public int getCurrentInstanceCount(); 11 | 12 | public void stopInstance(String nameSuffix); 13 | 14 | public boolean checkInstance(String nameSuffix); 15 | 16 | public void stopAll(); 17 | 18 | void close(); 19 | } 20 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/translator/PayloadTranslator.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.translator; 2 | 3 | public interface PayloadTranslator 4 | { 5 | /** 6 | * Translates the payload to a object of the specified type 7 | * @param payload The payload to translate 8 | * @param clazz The class to convert the payload to 9 | * @return The translation result 10 | */ 11 | PayloadTranslationResult translatePayload(String payload, Class clazz); 12 | } 13 | -------------------------------------------------------------------------------- /handler/handler-pod-reaper/impl/src/test/java/com/comcast/pop/handler/reaper/impl/messages/ReaperMessagesTest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.reaper.impl.messages; 2 | 3 | import com.comast.pop.handler.base.messages.ResourceBundleStringRetriever; 4 | import org.testng.annotations.Test; 5 | 6 | public class ReaperMessagesTest 7 | { 8 | @Test 9 | public void verifyMessages() 10 | { 11 | new ResourceBundleStringRetriever(ReaperMessages.RESOURCE_PATH).testAllEntries(ReaperMessages.values()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /scheduling/scheduling-master-aws/src/main/java/com/comcast/pop/scheduling/master/aws/SchedulerRequest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.scheduling.master.aws; 2 | 3 | public class SchedulerRequest 4 | { 5 | private String stageId; 6 | 7 | public SchedulerRequest() 8 | { 9 | } 10 | 11 | public String getStageId() 12 | { 13 | return stageId; 14 | } 15 | 16 | public SchedulerRequest setStageId(String stageId) 17 | { 18 | this.stageId = stageId; 19 | return this; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-client/src/main/java/com/comcast/pop/endpoint/client/POPClientException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.client; 2 | 3 | public class POPClientException extends RuntimeException 4 | { 5 | public POPClientException(String message) 6 | { 7 | super(message); 8 | } 9 | 10 | public POPClientException(String message, Throwable cause) 11 | { 12 | super(message, cause); 13 | } 14 | 15 | public POPClientException(Throwable cause) 16 | { 17 | super(cause); 18 | } 19 | } -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/test/java/com/comcast/pop/handler/executor/impl/messages/ExecutorMessagesTest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.messages; 2 | 3 | import com.comast.pop.handler.base.messages.ResourceBundleStringRetriever; 4 | import org.testng.annotations.Test; 5 | 6 | public class ExecutorMessagesTest 7 | { 8 | @Test 9 | public void verifyMessages() 10 | { 11 | new ResourceBundleStringRetriever(ExecutorMessages.RESOURCE_PATH).testAllEntries(ExecutorMessages.values()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/test/resources/defaultConfigMap.json: -------------------------------------------------------------------------------- 1 | { 2 | "basePodConfig": { 3 | "memoryRequestCount": "1000m", 4 | "cpuMinRequestCount": "1000m", 5 | "cpuMaxRequestCount": "1000m", 6 | "podScheduledTimeoutMs": 600000, 7 | "reapCompletedPods": true, 8 | "pullAlways": true 9 | }, 10 | 11 | "sample": { 12 | "configMapName": "lab-main-t-aor-fhsamp-t01", 13 | "podConfig": { 14 | "imageName": "your.repo.com/fhsamp:1.0.0", 15 | "namePrefix": "pop-samp" 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /handler/handler-pod-reaper/impl/src/main/java/com/comcast/pop/handler/reaper/impl/kubernetes/KubernetesPodFacade.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.reaper.impl.kubernetes; 2 | 3 | import io.fabric8.kubernetes.api.model.Pod; 4 | 5 | import java.util.List; 6 | import java.util.Map; 7 | 8 | /** 9 | * Facade for performing basic kubernetes actions 10 | */ 11 | public interface KubernetesPodFacade 12 | { 13 | List lookupPods(String namespace, Map fields); 14 | Boolean deletePods(List podsToDelete); 15 | } 16 | -------------------------------------------------------------------------------- /module/module-kube-client/fabric8/src/main/java/com/comcast/pop/modules/kube/fabric8/client/facade/RetryablePodResourceFacadeFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.client.facade; 2 | 3 | public class RetryablePodResourceFacadeFactory implements PodResourceFacadeFactory 4 | { 5 | public RetryablePodResource create(KubernetesClientFacade kubernetesClientFacade, String namespace, String podName) 6 | { 7 | return new RetryablePodResource(kubernetesClientFacade.getPodResource(namespace, podName)); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /authorization/authorizer-sample-aws/src/main/java/com/comcast/pop/auth/aws/response/PolicyContext.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.auth.aws.response; 2 | 3 | import org.json.JSONObject; 4 | 5 | import java.util.HashMap; 6 | 7 | public class PolicyContext extends HashMap 8 | { 9 | public PolicyContext withKeyValue(String key, String value) 10 | { 11 | put(key, value); 12 | return this; 13 | } 14 | public String toJson() 15 | { 16 | return new JSONObject(this).toString(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/agenda/aws/persistence/PersistentAgendaConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agenda.aws.persistence; 2 | 3 | import com.comcast.pop.api.Agenda; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBPersistentObjectConverter; 5 | 6 | public class PersistentAgendaConverter extends DynamoDBPersistentObjectConverter 7 | { 8 | public PersistentAgendaConverter() 9 | { 10 | super(Agenda.class, PersistentAgenda.class); 11 | } 12 | } -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/processor/JsonContextReferenceParser.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.processor; 2 | 3 | import java.util.Set; 4 | 5 | public interface JsonContextReferenceParser 6 | { 7 | /** 8 | * Extracts the operation names from the references specified 9 | * @param references The references to re-map to operation names 10 | * @return Set of operation names. 11 | */ 12 | Set getOperationNames(Set references); 13 | } 14 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/podconfig/client/registry/PodConfigRegistryClient.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.podconfig.client.registry; 2 | 3 | import com.comcast.pop.handler.kubernetes.support.podconfig.client.registry.api.PodConfigRegistryClientException; 4 | import com.comcast.pop.modules.kube.client.config.PodConfig; 5 | 6 | public interface PodConfigRegistryClient { 7 | PodConfig getPodConfig(String configMapName) throws PodConfigRegistryClientException; 8 | } 9 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/tokens/AgendaToken.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.tokens; 2 | 3 | public enum AgendaToken 4 | { 5 | AGENDA_ID("agendaId"), 6 | OPERATION_NAME("operationName") 7 | ; 8 | 9 | public static final String TOKEN_PREFIX = "pop."; 10 | private final String tokenSuffix; 11 | 12 | public String getToken() 13 | { 14 | return TOKEN_PREFIX + tokenSuffix; 15 | } 16 | 17 | AgendaToken(String tokenSuffix) 18 | { 19 | this.tokenSuffix = tokenSuffix; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/agendatemplate/aws/persistence/AgendaConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agendatemplate.aws.persistence; 2 | 3 | import com.comcast.pop.endpoint.persistence.JsonDynamoDBTypeConverter; 4 | import com.fasterxml.jackson.core.type.TypeReference; 5 | import com.comcast.pop.api.Agenda; 6 | 7 | public class AgendaConverter extends JsonDynamoDBTypeConverter 8 | { 9 | public AgendaConverter() 10 | { 11 | super(new TypeReference(){}); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/reporter/KubernetesReporterSet.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.reporter; 2 | 3 | import com.comast.pop.handler.base.reporter.LogReporter; 4 | import com.comast.pop.handler.base.reporter.ProgressReporterSet; 5 | 6 | public class KubernetesReporterSet extends ProgressReporterSet 7 | { 8 | public KubernetesReporterSet() 9 | { 10 | add(new LogReporter<>()); 11 | add(new KubernetesReporter<>()); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /module/module-json-helper/src/main/java/com/comcast/pop/modules/jsonhelper/JsonHelperException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.jsonhelper; 2 | 3 | public class JsonHelperException extends RuntimeException 4 | { 5 | public JsonHelperException(String message) 6 | { 7 | super(message); 8 | } 9 | 10 | public JsonHelperException(String message, Throwable cause) 11 | { 12 | super(message, cause); 13 | } 14 | 15 | public JsonHelperException(Throwable cause) 16 | { 17 | super(cause); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /handler/handler-sample/impl/src/main/java/com/comcast/pop/handler/sample/impl/executor/BaseExternalExecutor.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.impl.executor; 2 | 3 | import com.comast.pop.handler.base.perform.Executor; 4 | import org.slf4j.Logger; 5 | import org.slf4j.LoggerFactory; 6 | 7 | import java.util.List; 8 | 9 | public abstract class BaseExternalExecutor implements Executor> 10 | { 11 | protected Logger logger = LoggerFactory.getLogger(this.getClass()); 12 | 13 | public BaseExternalExecutor() 14 | { 15 | 16 | } 17 | } -------------------------------------------------------------------------------- /endpoint/endpoint-impl-client/src/main/java/com/comcast/pop/endpoint/client/ObjectClientException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.client; 2 | 3 | public class ObjectClientException extends RuntimeException 4 | { 5 | public ObjectClientException(String message) 6 | { 7 | super(message); 8 | } 9 | 10 | public ObjectClientException(String message, Throwable cause) 11 | { 12 | super(message, cause); 13 | } 14 | 15 | public ObjectClientException(Throwable cause) 16 | { 17 | super(cause); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/progress/CompleteStateMessage.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.progress; 2 | 3 | /** 4 | * succeeded: the process succeeded 5 | * failed: the process failed 6 | */ 7 | public enum CompleteStateMessage 8 | { 9 | SUCCEEDED("succeeded"), 10 | FAILED("failed"); 11 | 12 | private final String name; 13 | 14 | private CompleteStateMessage(String name) 15 | { 16 | this.name = name; 17 | } 18 | 19 | @Override 20 | public String toString() 21 | { 22 | return name; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/resourcepool/UpdateAgendaProgressResponse.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.resourcepool; 2 | 3 | import com.comcast.pop.endpoint.api.DefaultServiceResponse; 4 | import com.comcast.pop.endpoint.api.ErrorResponse; 5 | 6 | public class UpdateAgendaProgressResponse extends DefaultServiceResponse 7 | { 8 | public UpdateAgendaProgressResponse(){} 9 | 10 | public UpdateAgendaProgressResponse(ErrorResponse errorResponse) 11 | { 12 | setErrorResponse(errorResponse); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/main/java/com/comcast/pop/handler/puller/impl/exception/PullerException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.puller.impl.exception; 2 | 3 | /** 4 | * 5 | */ 6 | public class PullerException extends RuntimeException 7 | { 8 | public PullerException(Exception e) 9 | { 10 | super(e); 11 | } 12 | 13 | public PullerException(String message) 14 | { 15 | super(message); 16 | } 17 | 18 | public PullerException(String message, Throwable cause) 19 | { 20 | super(message, cause); 21 | } 22 | } -------------------------------------------------------------------------------- /module/module-persistence/aws/dynamodb/src/main/java/com/comcast/pop/persistence/aws/dynamodb/AWSDynamoDBFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.aws.dynamodb; 2 | 3 | import com.amazonaws.services.dynamodbv2.AmazonDynamoDB; 4 | import com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder; 5 | 6 | /** 7 | * Basic factory for creating AmazonDynamoDB instances 8 | */ 9 | public class AWSDynamoDBFactory 10 | { 11 | public AmazonDynamoDB getAmazonDynamoDB() 12 | { 13 | return AmazonDynamoDBClientBuilder.defaultClient(); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /module/module-producer-consumer-util/src/main/java/com/comcast/pop/modules/sync/util/Consumer.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.sync.util; 2 | 3 | import java.time.Instant; 4 | import java.util.Collection; 5 | 6 | public interface Consumer 7 | { 8 | /** 9 | * Performs the consume operation 10 | * @param input The input to operate on 11 | * @param endProcessingTime The UTC time that processing should stop at 12 | * @return A ConsumerResult 13 | */ 14 | ConsumerResult consume(Collection input, Instant endProcessingTime); 15 | } 16 | -------------------------------------------------------------------------------- /module/module-producer-consumer-util/src/main/java/com/comcast/pop/modules/sync/util/Producer.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.sync.util; 2 | 3 | import java.time.Instant; 4 | 5 | public interface Producer 6 | { 7 | /** 8 | * Resets the producer (any pagination, etc). 9 | */ 10 | void reset(); 11 | 12 | /** 13 | * Performs the produce operation 14 | * @param endProcessingTime The UTC time that processing should stop at 15 | * @return A ProducerResult 16 | */ 17 | ProducerResult produce(Instant endProcessingTime); 18 | } 19 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/data/DataObjectRequest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.data; 2 | 3 | import com.comcast.pop.endpoint.api.ServiceRequest; 4 | import com.comcast.pop.object.api.IdentifiedObject; 5 | import com.comcast.pop.persistence.api.query.Query; 6 | 7 | import java.util.List; 8 | 9 | public interface DataObjectRequest extends ServiceRequest 10 | { 11 | String getId(); 12 | T getDataObject(); 13 | List getQueries(); 14 | void setQueries(List queries); 15 | } 16 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/progress/agenda/OperationProgressProvider.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.progress.agenda; 2 | 3 | import com.comcast.pop.api.progress.OperationProgress; 4 | 5 | /** 6 | * Interface for retrieving an OperationProgress 7 | */ 8 | public interface OperationProgressProvider 9 | { 10 | /** 11 | * Retrieves an OperationProgress 12 | * @return An operation progress or null if none is available 13 | */ 14 | OperationProgress retrieveOperationProgress(); 15 | } 16 | -------------------------------------------------------------------------------- /module/module-kube-client/api/src/main/java/com/comcast/pop/modules/kube/client/LogLineAccumulator.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.client; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Collect the execution logs on the pod 7 | */ 8 | public interface LogLineAccumulator 9 | { 10 | void appendLine(String s); 11 | 12 | List takeAll(); 13 | 14 | boolean isAllLogDataRequired(); 15 | 16 | void setCompletion(Runnable runnable); 17 | 18 | void setCompletionIdentifier(String endOfLogIdentifier); 19 | 20 | void forceCompletion(); 21 | } 22 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/resourcepool/aws/persistence/PersistentInsightConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.resourcepool.aws.persistence; 2 | 3 | import com.comcast.pop.api.facility.Insight; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBPersistentObjectConverter; 5 | 6 | 7 | public class PersistentInsightConverter extends DynamoDBPersistentObjectConverter 8 | { 9 | public PersistentInsightConverter() 10 | { 11 | super(Insight.class, PersistentInsight.class); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /module/module-process-helper/src/test/java/com/comcast/pop/process/helper/ProcessHelperTest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.process.helper; 2 | 3 | import org.testng.Assert; 4 | import org.testng.annotations.Test; 5 | 6 | public class ProcessHelperTest 7 | { 8 | @Test(enabled=false) 9 | public void testLSExec() throws Exception 10 | { 11 | ProcessHelper processHelper = new ProcessHelper(); 12 | ProcessOutput processOutput = processHelper.getOutput("ls", null, null); 13 | Assert.assertNotEquals(0, processOutput.getOutputLines().size()); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /module/module-xml-helper/src/main/java/com/comcast/pop/modules/xmlhelper/XmlSearchException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.xmlhelper; 2 | 3 | public class XmlSearchException extends Exception 4 | { 5 | public XmlSearchException() { 6 | super(); 7 | } 8 | 9 | public XmlSearchException(String s) { 10 | super(s); 11 | } 12 | 13 | public XmlSearchException(String s, Throwable throwable) { 14 | super(s, throwable); 15 | } 16 | 17 | public XmlSearchException(Throwable throwable) { 18 | super(throwable); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /handler/handler-sample/impl/src/main/java/com/comcast/pop/handler/sample/impl/exception/SampleHandlerException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.impl.exception; 2 | 3 | public class SampleHandlerException extends RuntimeException 4 | { 5 | public SampleHandlerException(String message) 6 | { 7 | super(message); 8 | } 9 | 10 | public SampleHandlerException(String message, Throwable cause) 11 | { 12 | super(message, cause); 13 | } 14 | 15 | public SampleHandlerException(Throwable cause) 16 | { 17 | super(cause); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /module/module-kube-client/fabric8/src/main/java/com/comcast/pop/modules/kube/fabric8/client/facade/PodResourceFacade.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.client.facade; 2 | 3 | import com.comcast.pop.modules.kube.fabric8.client.watcher.PodWatcherImpl; 4 | import io.fabric8.kubernetes.api.model.Pod; 5 | import io.fabric8.kubernetes.client.Watch; 6 | import io.fabric8.kubernetes.client.dsl.LogWatch; 7 | 8 | public interface PodResourceFacade 9 | { 10 | Pod get(); 11 | String getLog(); 12 | Watch watch(PodWatcherImpl podWatcherImpl); 13 | LogWatch watchLog(); 14 | } 15 | -------------------------------------------------------------------------------- /endpoint/endpoint-base-aws/src/main/java/com/comcast/pop/endpoint/aws/JsonRequestStreamHandler.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.aws; 2 | 3 | import com.amazonaws.services.lambda.runtime.Context; 4 | import com.amazonaws.services.lambda.runtime.RequestStreamHandler; 5 | import com.fasterxml.jackson.databind.JsonNode; 6 | 7 | import java.io.IOException; 8 | import java.io.OutputStream; 9 | 10 | public interface JsonRequestStreamHandler extends RequestStreamHandler 11 | { 12 | void handleRequest(JsonNode inputStreamNode, OutputStream outputStream, Context context) throws IOException; 13 | } 14 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-client/src/main/java/com/comcast/pop/endpoint/client/resourcepool/ResourcePoolEndpoint.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.client.resourcepool; 2 | 3 | public enum ResourcePoolEndpoint 4 | { 5 | getAgenda("getAgenda"), 6 | createAgenda("createAgenda"), 7 | updateAgendaProgress("updateAgendaProgress"), 8 | updateAgenda("updateAgenda"); 9 | 10 | private String path; 11 | 12 | ResourcePoolEndpoint(String path) 13 | { 14 | this.path = path; 15 | } 16 | 17 | public String getPath() 18 | { 19 | return path; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/resourcepool/aws/persistence/PersistentCustomerConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.resourcepool.aws.persistence; 2 | 3 | import com.comcast.pop.api.facility.Customer; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBPersistentObjectConverter; 5 | 6 | /** 7 | */ 8 | public class PersistentCustomerConverter extends DynamoDBPersistentObjectConverter 9 | { 10 | public PersistentCustomerConverter() 11 | { 12 | super(Customer.class, PersistentCustomer.class); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/config/NfsDetailsField.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.config; 2 | 3 | public enum NfsDetailsField 4 | { 5 | nfsServerPath("serverPath"), 6 | nfsReadOnly("readOnly"), 7 | nfsMountPaths("mountPaths"), 8 | nfsServer("server"); 9 | 10 | private final String fieldName; 11 | 12 | NfsDetailsField(String fieldName) 13 | { 14 | this.fieldName = fieldName; 15 | } 16 | 17 | public String getFieldName() 18 | { 19 | return fieldName; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /module/module-json-helper/src/test/resources/testParams.json: -------------------------------------------------------------------------------- 1 | { 2 | "mediainfo.1.out": 3 | { 4 | "mediaProperties": 5 | { 6 | "width":720, 7 | "height":480 8 | } 9 | }, 10 | "analysis.1.out": 11 | { 12 | "operations":[ 13 | { 14 | "id":"encode", 15 | "payload": 16 | { 17 | "setting":"value" 18 | } 19 | }, 20 | { 21 | "id":"package", 22 | "payload": 23 | { 24 | "setting":"value" 25 | } 26 | } 27 | ] 28 | }, 29 | "basicString":"a value", 30 | "theNumber":42 31 | } -------------------------------------------------------------------------------- /module/module-persistence/api/src/main/java/com/comcast/pop/persistence/api/field/CountField.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.api.field; 2 | 3 | public class CountField extends DataObjectField 4 | { 5 | private static final String fieldName = "count"; 6 | private static final Boolean defaultValue = true; 7 | 8 | public CountField() 9 | { 10 | super(fieldName); 11 | } 12 | 13 | public static String fieldName() 14 | { 15 | return fieldName; 16 | } 17 | public static Boolean defaultValue() 18 | { 19 | return defaultValue; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /module/module-persistence/api/src/main/java/com/comcast/pop/persistence/api/field/LimitField.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.api.field; 2 | 3 | public class LimitField extends DataObjectField 4 | { 5 | private static final String fieldName = "limit"; 6 | private static final Integer defaultValue = 100; 7 | 8 | public LimitField() 9 | { 10 | super(fieldName); 11 | } 12 | 13 | public static String fieldName() 14 | { 15 | return fieldName; 16 | } 17 | public static Integer defaultValue() 18 | { 19 | return defaultValue; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/data/DataObjectResponse.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.data; 2 | 3 | import com.comcast.pop.endpoint.api.ErrorResponse; 4 | import com.comcast.pop.endpoint.api.ServiceResponse; 5 | import com.comcast.pop.object.api.IdentifiedObject; 6 | 7 | import java.util.List; 8 | 9 | public interface DataObjectResponse extends ServiceResponse 10 | { 11 | void add(D dataObject); 12 | void addAll(List dataObjects); 13 | List getAll(); 14 | Integer getCount(); 15 | D getFirst(); 16 | } 17 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/agenda/aws/persistence/PersistentAgendaInsightConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agenda.aws.persistence; 2 | 3 | import com.comcast.pop.endpoint.persistence.JsonDynamoDBTypeConverter; 4 | import com.fasterxml.jackson.core.type.TypeReference; 5 | import com.comcast.pop.api.AgendaInsight; 6 | 7 | public class PersistentAgendaInsightConverter extends JsonDynamoDBTypeConverter 8 | { 9 | public PersistentAgendaInsightConverter() 10 | { 11 | super(new TypeReference(){}); 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/exception/AgendaExecutorException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.exception; 2 | 3 | /** 4 | * 5 | */ 6 | public class AgendaExecutorException extends RuntimeException 7 | { 8 | public AgendaExecutorException(Exception e) 9 | { 10 | super(e); 11 | } 12 | 13 | public AgendaExecutorException(String message) 14 | { 15 | super(message); 16 | } 17 | 18 | public AgendaExecutorException(String message, Throwable cause) 19 | { 20 | super(message, cause); 21 | } 22 | } -------------------------------------------------------------------------------- /module/module-docker/src/main/java/com/comcast/pop/module/docker/exception/DockerException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.module.docker.exception; 2 | 3 | public class DockerException extends Exception 4 | { 5 | public DockerException() 6 | { 7 | super(); 8 | } 9 | 10 | public DockerException(String message) 11 | { 12 | super(message); 13 | } 14 | 15 | public DockerException(String message, Throwable cause) 16 | { 17 | super(message, cause); 18 | } 19 | 20 | public DockerException(Throwable cause) 21 | { 22 | super(cause); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /web-ui/src/main/resources/js/content/login.js: -------------------------------------------------------------------------------- 1 | function performLogin(event){ 2 | makeAuthorizedRequest(event, getServer(), null, null); 3 | } 4 | 5 | function authorizationChange(idmResponse){ 6 | if(idmResponse != null && !idmResponse.isException) 7 | { 8 | var expirationDate = new Date(new Date().getTime() + idmResponse.signInResponse.duration); 9 | $("#authInfo").html("Authorized
Expiration: " + expirationDate.toString()); 10 | } 11 | else 12 | { 13 | $("#authInfo").html("Not authorized"); 14 | } 15 | } 16 | 17 | registerOnAuthorizationCallback(authorizationChange); -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/agenda/aws/persistence/ListOperationsConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agenda.aws.persistence; 2 | 3 | import com.comcast.pop.endpoint.persistence.JsonDynamoDBTypeConverter; 4 | import com.fasterxml.jackson.core.type.TypeReference; 5 | import com.comcast.pop.api.operation.Operation; 6 | 7 | import java.util.List; 8 | 9 | public class ListOperationsConverter extends JsonDynamoDBTypeConverter> 10 | { 11 | public ListOperationsConverter() 12 | { 13 | super(new TypeReference>(){}); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/agendatemplate/aws/persistence/PersistentAgendaTemplateConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agendatemplate.aws.persistence; 2 | 3 | import com.comcast.pop.api.AgendaTemplate; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBPersistentObjectConverter; 5 | 6 | public class PersistentAgendaTemplateConverter extends DynamoDBPersistentObjectConverter 7 | { 8 | public PersistentAgendaTemplateConverter() 9 | { 10 | super(AgendaTemplate.class, PersistentAgendaTemplate.class); 11 | } 12 | } -------------------------------------------------------------------------------- /endpoint/endpoint-impl/src/test/java/com/comcast/pop/endpoint/agenda/reporter/TestAgendaProgressReporter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agenda.reporter; 2 | 3 | import com.comcast.pop.api.Agenda; 4 | import com.comcast.pop.persistence.api.ObjectPersister; 5 | import org.slf4j.Logger; 6 | 7 | public class TestAgendaProgressReporter extends AgendaProgressReporter 8 | { 9 | protected void setLogger(Logger logger) 10 | { 11 | this.logger = logger; 12 | } 13 | public TestAgendaProgressReporter(ObjectPersister agendaPersister) 14 | { 15 | super(agendaPersister); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/agenda/UpdateAgendaResponse.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.agenda; 2 | 3 | import com.comcast.pop.api.Agenda; 4 | import com.comcast.pop.endpoint.api.DefaultServiceResponse; 5 | 6 | public class UpdateAgendaResponse extends DefaultServiceResponse 7 | { 8 | private Agenda agenda; 9 | 10 | public UpdateAgendaResponse() 11 | { 12 | } 13 | 14 | public Agenda getAgenda() 15 | { 16 | return agenda; 17 | } 18 | 19 | public void setAgenda(Agenda agenda) 20 | { 21 | this.agenda = agenda; 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /module/module-persistence/api/src/main/java/com/comcast/pop/persistence/api/field/DataObjectField.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.api.field; 2 | 3 | public class DataObjectField implements DataField 4 | { 5 | private String fieldName; 6 | 7 | public DataObjectField(String fieldName) 8 | { 9 | this.fieldName = fieldName; 10 | } 11 | 12 | public String name() 13 | { 14 | return fieldName; 15 | } 16 | 17 | @Override 18 | public boolean isMatch(String fieldName) 19 | { 20 | return fieldName != null && fieldName.equalsIgnoreCase(this.fieldName); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /web-ui/src/main/resources/js/popup.js: -------------------------------------------------------------------------------- 1 | function showPopup(event, visible, showCloseButton){ 2 | $("#popup_background").toggle(visible); 3 | $("#popup_window").toggle(visible); 4 | 5 | var toggleCloseButton = true; 6 | if(defined(showCloseButton)){ 7 | toggleCloseButton = showCloseButton; 8 | } 9 | $("#popup_close_button_container").toggle(toggleCloseButton); 10 | } 11 | 12 | function showPopupWithHtml(event, titleHTML, contentHTML, showCloseButton){ 13 | $("#popup_windowheader").html(titleHTML); 14 | $("#popup_content").html(contentHTML); 15 | showPopup(event, true, showCloseButton); 16 | } 17 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/progress/aws/persistence/PersistentAgendaProgressConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.progress.aws.persistence; 2 | 3 | import com.comcast.pop.api.progress.AgendaProgress; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBPersistentObjectConverter; 5 | 6 | /** 7 | */ 8 | public class PersistentAgendaProgressConverter extends DynamoDBPersistentObjectConverter 9 | { 10 | public PersistentAgendaProgressConverter() 11 | { 12 | super(AgendaProgress.class, PersistentAgendaProgress.class); 13 | } 14 | } -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/resourcepool/aws/persistence/PersistentResourcePoolConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.resourcepool.aws.persistence; 2 | 3 | import com.comcast.pop.api.facility.ResourcePool; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBPersistentObjectConverter; 5 | 6 | /** 7 | */ 8 | public class PersistentResourcePoolConverter extends DynamoDBPersistentObjectConverter 9 | { 10 | public PersistentResourcePoolConverter() 11 | { 12 | super(ResourcePool.class, PersistentResourcePool.class); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/reporter/ProgressReporter.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.reporter; 2 | 3 | public interface ProgressReporter 4 | { 5 | /** 6 | * Reports the specified object as progress 7 | * @param object The object to report progress with 8 | */ 9 | void reportProgress(T object); 10 | 11 | /** 12 | * Reports the specified object and the resulting payload 13 | * @param object The object to report progress with 14 | * @param resultPayload The resulting payload 15 | */ 16 | void reportProgress(T object, Object resultPayload); 17 | } 18 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/EndpointDataObjectFeed.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api; 2 | 3 | import java.util.Collection; 4 | 5 | public class EndpointDataObjectFeed 6 | { 7 | private Collection entries; 8 | public EndpointDataObjectFeed(){} 9 | 10 | public EndpointDataObjectFeed(Collection entries) 11 | { 12 | this.entries = entries; 13 | } 14 | 15 | public Collection getEntries() 16 | { 17 | return entries; 18 | } 19 | 20 | public void setEntries(Collection entries) 21 | { 22 | this.entries = entries; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/params/VideoParamKey.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.params; 2 | 3 | public enum VideoParamKey implements ParamKey 4 | { 5 | bFrames, 6 | bitrate, 7 | bufferSize, 8 | cabac, 9 | chromaSubsampling, 10 | codec, 11 | colorSpace, 12 | displayAspectRatio, 13 | duration, 14 | framerate, 15 | gopSize, 16 | height, 17 | id, 18 | level, 19 | profile, 20 | scanOrder, 21 | scanType, 22 | streamOrder, 23 | streamSize, 24 | width, 25 | ; 26 | 27 | public String getKey() 28 | { 29 | return this.name(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/validation/string/TokenStringValidatorFactory.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.validation.string; 2 | 3 | import java.util.Arrays; 4 | 5 | /** 6 | * Convenience factory for generating TokenStringValidators 7 | */ 8 | public class TokenStringValidatorFactory 9 | { 10 | public TokenStringValidator create(String[] tokens) 11 | { 12 | return new TokenStringValidator(Arrays.asList(tokens)); 13 | } 14 | 15 | public TokenStringValidator create(String tokens, String delimiter) 16 | { 17 | return create(tokens.split(delimiter)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/config/PodConfigFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.config; 2 | 3 | import com.comcast.pop.modules.kube.client.config.PodConfig; 4 | 5 | public interface PodConfigFactory 6 | { 7 | /** 8 | * Creates a basic PodConfig 9 | * @return new PodConfig 10 | */ 11 | PodConfig createPodConfig(); 12 | 13 | /** 14 | * Creates a PodConfig based on the specified templateName 15 | * @return new PodConfig (implementations may vary) 16 | */ 17 | PodConfig createPodConfig(String templateName); 18 | } 19 | -------------------------------------------------------------------------------- /handler/handler-sample/impl/src/main/java/com/comcast/pop/handler/sample/impl/context/OperationContext.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.impl.context; 2 | 3 | 4 | import com.comast.pop.handler.base.context.ProgressOperationContext; 5 | import com.comast.pop.handler.base.field.retriever.LaunchDataWrapper; 6 | import com.comast.pop.handler.base.reporter.ProgressReporter; 7 | 8 | public class OperationContext extends ProgressOperationContext 9 | { 10 | public OperationContext(ProgressReporter reporter, LaunchDataWrapper launchDataWrapper) 11 | { 12 | super(reporter, launchDataWrapper); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /handler/handler-sample/impl/src/main/java/com/comcast/pop/handler/sample/impl/progress/SampleJobInfo.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.impl.progress; 2 | 3 | public class SampleJobInfo 4 | { 5 | public final static String PARAM_NAME = "jobInfo"; 6 | 7 | private String jobId; 8 | 9 | public SampleJobInfo() 10 | { 11 | } 12 | 13 | public SampleJobInfo(String jobId) 14 | { 15 | this.jobId = jobId; 16 | } 17 | 18 | public String getJobId() 19 | { 20 | return jobId; 21 | } 22 | 23 | public void setJobId(String jobId) 24 | { 25 | this.jobId = jobId; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/progress/ProgressSummaryRequest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.progress; 2 | 3 | public class ProgressSummaryRequest 4 | { 5 | private String linkId; 6 | 7 | public ProgressSummaryRequest() 8 | { 9 | } 10 | 11 | public ProgressSummaryRequest(String linkId) 12 | { 13 | this.linkId = linkId; 14 | } 15 | 16 | public String getLinkId() 17 | { 18 | return linkId; 19 | } 20 | 21 | public ProgressSummaryRequest setLinkId(String linkId) 22 | { 23 | this.linkId = linkId; 24 | return this; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /endpoint/endpoint-base/src/main/java/com/comcast/pop/endpoint/base/visibility/NoOpVisibilityFilter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.base.visibility; 2 | 3 | import com.comcast.pop.endpoint.api.ServiceRequest; 4 | import com.comcast.pop.object.api.IdentifiedObject; 5 | 6 | /** 7 | * Always visible filter 8 | * @param Type of IdentifiedObject 9 | * @param Type of ServiceRequest 10 | */ 11 | public class NoOpVisibilityFilter extends VisibilityFilter 12 | { 13 | @Override 14 | public boolean isVisible(Req req, T object) 15 | { 16 | return true; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-client/src/main/java/com/comcast/pop/endpoint/client/POPServiceClient.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.client; 2 | 3 | import com.comcast.pop.http.api.HttpURLConnectionFactory; 4 | 5 | public abstract class POPServiceClient 6 | { 7 | private final HttpURLConnectionFactory httpUrlConnectionFactory; 8 | 9 | public POPServiceClient(HttpURLConnectionFactory httpURLConnectionFactory) 10 | { 11 | this.httpUrlConnectionFactory = httpURLConnectionFactory; 12 | } 13 | 14 | public HttpURLConnectionFactory getHttpUrlConnectionFactory() 15 | { 16 | return httpUrlConnectionFactory; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /handler/handler-sample/package/local/config/external-minikube.properties: -------------------------------------------------------------------------------- 1 | pop.kubernetes.masterUrl=https://192.168.64.2:8443 2 | pop.kubernetes.namespace=pop 3 | 4 | pop.kubernetes.podconfig.serviceAccount=pop-service 5 | pop.kubernetes.podconfig.namePrefix=pop-sample-ext 6 | pop.kubernetes.podconfig.docker.imageName=alpine:3.11 7 | pop.kubernetes.podconfig.reapCompletedPods=false 8 | pop.kubernetes.podconfig.docker.imagePullAlways=false 9 | 10 | #nfs settings 11 | #pop.handler.sample.nfs.serverPath=/ 12 | #pop.handler.sample.nfs.readOnly=true 13 | #pop.handler.sample.nfs.mountPaths=/testFiles,/media_test01,/media_symlib 14 | #pop.handler.sample.nfs.server= -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/output/OutputFileResource.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api.output; 2 | 3 | import com.comcast.pop.api.AbstractFileResource; 4 | 5 | import java.util.List; 6 | 7 | public class OutputFileResource extends AbstractFileResource 8 | { 9 | /** 10 | * Referencing streams to use. 11 | */ 12 | private List outputStreamRefs; 13 | 14 | public List getOutputStreamRefs() 15 | { 16 | return outputStreamRefs; 17 | } 18 | 19 | public void setOutputStreamRefs(List outputStreamRefs) 20 | { 21 | this.outputStreamRefs = outputStreamRefs; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /api/object-api/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.comcast.pop 4 | pop-root-api 5 | 1.0.0 6 | 7 | 8 | 4.0.0 9 | 10 | com.comcast.pop.object 11 | pop-object-api 12 | 1.0.0 13 | jar 14 | Object API 15 | 16 | 17 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/AgendaInsight.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api; 2 | 3 | public class AgendaInsight 4 | { 5 | private String resourcePoolId; 6 | private String insightId; 7 | 8 | public String getResourcePoolId() 9 | { 10 | return resourcePoolId; 11 | } 12 | 13 | public void setResourcePoolId(String resourcePoolId) 14 | { 15 | this.resourcePoolId = resourcePoolId; 16 | } 17 | 18 | public String getInsightId() 19 | { 20 | return insightId; 21 | } 22 | 23 | public void setInsightId(String insightId) 24 | { 25 | this.insightId = insightId; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /module/module-http-api/src/main/java/com/comcast/pop/http/api/HTTPClientConfig.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.http.api; 2 | 3 | public abstract class HTTPClientConfig 4 | { 5 | private String proxyHost; 6 | private String proxyPort; 7 | 8 | public String getProxyHost() 9 | { 10 | return proxyHost; 11 | } 12 | 13 | public void setProxyHost(String proxyHost) 14 | { 15 | this.proxyHost = proxyHost; 16 | } 17 | 18 | public String getProxyPort() 19 | { 20 | return proxyPort; 21 | } 22 | 23 | public void setProxyPort(String proxyPort) 24 | { 25 | this.proxyPort = proxyPort; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /module/module-compression/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.comcast.pop 4 | pop-root-module 5 | 1.0.0 6 | 7 | 8 | 4.0.0 9 | 10 | com.comcast.pop.module 11 | pop-compression 12 | 1.0.0 13 | jar 14 | Compression 15 | 16 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/operationprogress/aws/persistence/PersistentOperationProgressConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.operationprogress.aws.persistence; 2 | 3 | import com.comcast.pop.api.progress.OperationProgress; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBPersistentObjectConverter; 5 | 6 | /** 7 | */ 8 | public class PersistentOperationProgressConverter extends DynamoDBPersistentObjectConverter 9 | { 10 | public PersistentOperationProgressConverter() 11 | { 12 | super(OperationProgress.class, PersistentOperationProgress.class); 13 | } 14 | } -------------------------------------------------------------------------------- /endpoint/endpoint-impl/src/test/java/com/comcast/pop/endpoint/validation/BaseValidatorTest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.validation; 2 | 3 | import com.comcast.pop.endpoint.api.data.DataObjectRequest; 4 | import com.comcast.pop.endpoint.api.data.DefaultDataObjectRequest; 5 | import com.comcast.pop.object.api.IdentifiedObject; 6 | 7 | public abstract class BaseValidatorTest 8 | { 9 | protected DataObjectRequest createRequest(T agenda) 10 | { 11 | DefaultDataObjectRequest objectRequest = new DefaultDataObjectRequest<>(); 12 | objectRequest.setDataObject(agenda); 13 | return objectRequest; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /api/main/src/main/java/com/comcast/pop/api/FileResource.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.api; 2 | 3 | import com.comcast.pop.api.params.ParamsMap; 4 | 5 | public interface FileResource 6 | { 7 | public int getIndex(); 8 | public void setIndex(int index); 9 | public String getLabel(); 10 | public void setLabel(String label); 11 | public ParamsMap getCredentials(); 12 | public void setCredentials(ParamsMap credentials); 13 | public String getType(); 14 | public void setType(String type); 15 | public String getUrl(); 16 | public void setUrl(String url); 17 | public ParamsMap getParams(); 18 | public void addParam(String name, Object value); 19 | } 20 | -------------------------------------------------------------------------------- /automated-retry/agenda-reclaimer-impl/src/main/java/com/comcast/pop/agenda/reclaim/factory/AgendaReclaimerFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.agenda.reclaim.factory; 2 | 3 | import com.comcast.pop.agenda.reclaim.AgendaReclaimer; 4 | import com.comcast.pop.agenda.reclaim.config.ReclaimerConfig; 5 | 6 | public class AgendaReclaimerFactory 7 | { 8 | public AgendaReclaimer createAgendaReclaimer(AgendaProgressProducerFactory producerFactory, AgendaProgressConsumerFactory consumerFactory, ReclaimerConfig config) 9 | { 10 | return new AgendaReclaimer( 11 | producerFactory, 12 | consumerFactory, 13 | config 14 | ); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/progress/agenda/AgendaProgressConsumer.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.progress.agenda; 2 | 3 | import com.comcast.pop.api.progress.AgendaProgress; 4 | 5 | public interface AgendaProgressConsumer 6 | { 7 | void setAgendaProgress(AgendaProgress agendaProgress); 8 | void registerOperationProgressProvider(OperationProgressProvider operationProgressProvder); 9 | void setTotalProgressOperationCount(int operationTotalCount); 10 | void adjustTotalProgressOperationCount(int operationTotalCountAdjustment); 11 | void incrementCompletedOperationCount(int incrementAmount); 12 | } 13 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/main/java/com/comcast/pop/handler/puller/impl/context/ExecutionContext.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.puller.impl.context; 2 | 3 | public class ExecutionContext 4 | { 5 | private Thread pullerThread; 6 | 7 | public ExecutionContext(Thread pullerThread) 8 | { 9 | this.pullerThread = pullerThread; 10 | } 11 | 12 | public void startThread() 13 | { 14 | pullerThread.start(); 15 | } 16 | 17 | public boolean isThreadAlive() 18 | { 19 | return pullerThread.isAlive(); 20 | } 21 | 22 | @Deprecated 23 | public void stopThread() 24 | { 25 | pullerThread.stop(); 26 | } 27 | } -------------------------------------------------------------------------------- /module/module-kube-client/api/src/main/java/com/comcast/pop/modules/kube/client/logging/LogLineObserver.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.client.logging; 2 | 3 | import java.util.Collection; 4 | import java.util.function.Consumer; 5 | 6 | /** 7 | * Used to send logs to consumers 8 | */ 9 | public interface LogLineObserver 10 | { 11 | public LogLineObserver setPodName(String podName); 12 | 13 | public void addConsumer(Consumer consumer); 14 | 15 | public void addAggregateConsumer(Consumer> consumer); 16 | 17 | public void send(String s); 18 | 19 | public void send(Collection lines); 20 | 21 | public void done(); 22 | } -------------------------------------------------------------------------------- /deploy/resourcepool/kubernetes/configmap/sample/ConfigMap.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: pop-sample-01 5 | namespace: pop 6 | labels: 7 | serviceShortName: fhsamp 8 | data: 9 | env-properties: | 10 | JAVA_HEAP=256M 11 | LOG_LEVEL=DEBUG 12 | JAVA_EXTRA=-XX:MaxMetaspaceSize=256m 13 | external-properties: | 14 | pop.kubernetes.namespace=pop 15 | pop.kubernetes.podconfig.serviceAccount=pop-service 16 | pop.kubernetes.podconfig.namePrefix=pop-sample-ext 17 | pop.kubernetes.podconfig.docker.imageName=alpine:3.11 18 | pop.kubernetes.podconfig.reapCompletedPods=false 19 | pop.kubernetes.podconfig.docker.imagePullAlways=false -------------------------------------------------------------------------------- /endpoint/endpoint-functional-test/src/test/resources/com/comcast/pop/endpoint/test/manual/sampleAgenda.json: -------------------------------------------------------------------------------- 1 | { 2 | "operations": [ 3 | { 4 | "id": "01", 5 | "name": "sample.1", 6 | "type": "sample", 7 | "payload": { 8 | "actions": [ 9 | { 10 | "action": "externalExecute", 11 | "paramsMap": { 12 | "externalArgs": [ 13 | "ash", 14 | "-c", 15 | "ls", 16 | "-la" 17 | ] 18 | } 19 | } 20 | ], 21 | "resultPayload": { 22 | "actionData": "output!" 23 | } 24 | } 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/persistence/DateConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.persistence; 2 | 3 | import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTypeConverter; 4 | 5 | import java.util.Date; 6 | 7 | public class DateConverter implements DynamoDBTypeConverter 8 | { 9 | @Override 10 | public Long convert(Date date) 11 | { 12 | if(date == null) return -1L; 13 | return date.getTime(); 14 | } 15 | 16 | @Override 17 | public Date unconvert(Long longValue) 18 | { 19 | if(longValue == null) return new Date(); 20 | return new Date(longValue); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /module/module-json-helper/src/test/resources/context/expectedResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "someitem": 3 | { 4 | "field1":{ 5 | "stats": 6 | { 7 | "encodeTime":4560 8 | } 9 | }, 10 | "field2":{ 11 | "streamProperties": 12 | { 13 | "width":720, 14 | "height":480 15 | } 16 | }, 17 | "field3":[ 18 | { 19 | "streamProperties": { 20 | "width": 720, 21 | "height": 480 22 | } 23 | }, 24 | "someText", 25 | { 26 | "nested": { 27 | "stats": { 28 | "encodeTime": 4560 29 | } 30 | } 31 | }, 32 | 4 33 | ] 34 | } 35 | } -------------------------------------------------------------------------------- /module/module-kube-client/fabric8/src/test/java/com/comcast/pop/modules/kube/fabric8/client/watcher/PodPhaseTest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.client.watcher; 2 | 3 | import io.fabric8.kubernetes.api.model.PodStatus; 4 | import org.testng.Assert; 5 | import org.testng.annotations.Test; 6 | 7 | public class PodPhaseTest 8 | { 9 | 10 | @Test 11 | void testFromPodStatus() 12 | { 13 | PodPhase podPhase = PodPhase.SUCCEEDED; 14 | PodStatus podStatus = new PodStatus(); 15 | podStatus.setPhase("succeeded"); 16 | PodPhase result = PodPhase.fromPodStatus(podStatus); 17 | Assert.assertEquals(result, podPhase); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /scheduling/scheduling-queue-aws/src/main/java/com/comcast/pop/scheduling/queue/aws/persistence/PersistentInsightScheduleInfoConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.scheduling.queue.aws.persistence; 2 | 3 | import com.comcast.pop.scheduling.queue.InsightScheduleInfo; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBPersistentObjectConverter; 5 | 6 | /** 7 | */ 8 | public class PersistentInsightScheduleInfoConverter extends DynamoDBPersistentObjectConverter 9 | { 10 | public PersistentInsightScheduleInfoConverter() 11 | { 12 | super(InsightScheduleInfo.class, PersistentInsightScheduleInfo.class); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /data-reaping/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | com.comcast.pop 6 | pop-root 7 | 1.0.7 8 | 9 | 10 | 4.0.0 11 | 12 | pop-root-reaper 13 | 1.0.0 14 | 15 | pom 16 | 17 | 18 | data-object-reaper-aws 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/ObjectNotFoundException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api; 2 | 3 | public class ObjectNotFoundException extends RuntimeServiceException 4 | { 5 | private static final int RESPONSE_CODE = 404; 6 | 7 | public ObjectNotFoundException() { 8 | super(404); 9 | } 10 | 11 | public ObjectNotFoundException(String message) { 12 | super(message, 404); 13 | } 14 | 15 | public ObjectNotFoundException(String message, Throwable cause) { 16 | super(message, cause, 404); 17 | } 18 | 19 | public ObjectNotFoundException(Throwable cause) { 20 | super(cause, 404); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/config/KubeConfigArgument.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.config; 2 | 3 | import com.comast.pop.handler.base.field.retriever.api.NamedField; 4 | 5 | public enum KubeConfigArgument implements NamedField 6 | { 7 | OAUTH_CERT_FILE_PATH("oauthCertPath"), 8 | OAUTH_TOKEN_FILE_PATH("oauthTokenPath"); 9 | 10 | private final String fieldName; 11 | 12 | KubeConfigArgument(String fieldName) 13 | { 14 | this.fieldName = fieldName; 15 | } 16 | 17 | @Override 18 | public String getFieldName() 19 | { 20 | return fieldName; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /module/module-kube-client/fabric8/src/main/java/com/comcast/pop/modules/kube/fabric8/client/exception/PodNotScheduledException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.client.exception; 2 | 3 | public class PodNotScheduledException extends PodException 4 | { 5 | public PodNotScheduledException() 6 | { 7 | } 8 | 9 | public PodNotScheduledException(String message) 10 | { 11 | super(message); 12 | } 13 | 14 | public PodNotScheduledException(String message, Throwable cause) 15 | { 16 | super(message, cause); 17 | } 18 | 19 | public PodNotScheduledException(Throwable cause) 20 | { 21 | super(cause); 22 | } 23 | 24 | 25 | } -------------------------------------------------------------------------------- /authorization/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | com.comcast.pop 6 | pop-root 7 | 1.0.7 8 | 9 | 10 | 4.0.0 11 | 12 | pop-root-authorization 13 | 1.0.0 14 | 15 | pom 16 | 17 | 18 | authorizer-sample-aws 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /automated-retry/callback-progress-retry-aws/impl/src/main/java/com/comcast/pop/callback/progress/retry/AgendaProgressProcessorFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.callback.progress.retry; 2 | 3 | import com.comcast.pop.api.progress.AgendaProgress; 4 | import com.comcast.pop.endpoint.client.AgendaServiceClient; 5 | import com.comcast.pop.endpoint.client.ObjectClient; 6 | 7 | public class AgendaProgressProcessorFactory 8 | { 9 | public AgendaProgressProcessor createAgendaProgressProcessor(AgendaServiceClient agendaServiceClient, ObjectClient agendaProgressClient) 10 | { 11 | return new AgendaProgressProcessor(agendaServiceClient, agendaProgressClient); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/resident/log/LogHandlerInput.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.resident.log; 2 | 3 | import java.util.List; 4 | 5 | public class LogHandlerInput 6 | { 7 | private List logMessages; 8 | 9 | public LogHandlerInput(){} 10 | 11 | public LogHandlerInput(List logMessages) 12 | { 13 | this.logMessages = logMessages; 14 | } 15 | 16 | public List getLogMessages() 17 | { 18 | return logMessages; 19 | } 20 | 21 | public void setLogMessages(List logMessages) 22 | { 23 | this.logMessages = logMessages; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/config/KubeConfigField.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.config; 2 | 3 | import com.comast.pop.handler.base.field.retriever.api.NamedField; 4 | 5 | public enum KubeConfigField implements NamedField 6 | { 7 | MASTER_URL("pop.kubernetes.masterUrl"), 8 | NAMESPACE("pop.kubernetes.namespace"), 9 | ZONE("pop.kubernetes.zone"); 10 | 11 | private final String fieldName; 12 | 13 | KubeConfigField(String fieldName) 14 | { 15 | this.fieldName = fieldName; 16 | } 17 | 18 | public String getFieldName() 19 | { 20 | return fieldName; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/payload/compression/CompressedPayloadField.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.payload.compression; 2 | 3 | import com.comast.pop.handler.base.field.retriever.api.NamedField; 4 | 5 | public enum CompressedPayloadField implements NamedField 6 | { 7 | PAYLOAD_COMPRESSION_MAX_SEGMENT_SIZE("payload.compression.maxSegmentSize"); 8 | 9 | private final String fieldName; 10 | 11 | CompressedPayloadField(String fieldName) 12 | { 13 | this.fieldName = fieldName; 14 | } 15 | 16 | public String getFieldName() 17 | { 18 | return fieldName; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /module/module-json-helper/src/test/resources/testReferences.json: -------------------------------------------------------------------------------- 1 | { 2 | "someObject": 3 | { 4 | "mediainforef":"@", 5 | "mediainforefwidth":"@" 6 | }, 7 | "arrayRef":[ 8 | "@", 9 | "@" 10 | ], 11 | "anotherItem": 12 | { 13 | "subitem": 14 | { 15 | "childitem":"@" 16 | } 17 | }, 18 | "stringref":"@", 19 | "numberRef":"@", 20 | "tokenNumber":"@", 21 | "tokenString":"@", 22 | "compositeString":"x@y", 23 | "agendaId":"@" 24 | } -------------------------------------------------------------------------------- /api/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | com.comcast.pop 6 | pop-root 7 | 1.0.7 8 | 9 | 10 | 4.0.0 11 | 12 | pop-root-api 13 | 1.0.0 14 | 15 | pom 16 | 17 | 18 | main 19 | object-api 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /deploy/resourcepool/kubernetes/configmap/puller/Service.yaml: -------------------------------------------------------------------------------- 1 | kind: Service 2 | apiVersion: v1 3 | metadata: 4 | name: pop-puller-01 5 | namespace: pop 6 | annotations: 7 | # AWS to get X-Forwarded-For headers and other things 8 | service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http 9 | service.beta.kubernetes.io/aws-load-balancer-internal: ‘0.0.0.0/0’ 10 | labels: 11 | serviceShortName: cppull 12 | spec: 13 | type: LoadBalancer 14 | # sessionAffinity: ClientIP 15 | ports: 16 | - port: 80 17 | targetPort: 8080 18 | name: service 19 | - port: 81 20 | targetPort: 8081 21 | name: admin 22 | selector: 23 | clusterTitle: pop-puller-01 24 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/properties/ExecutorProperty.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.properties; 2 | 3 | import com.comast.pop.handler.base.field.retriever.api.NamedField; 4 | 5 | public enum ExecutorProperty implements NamedField 6 | { 7 | REAP_SELF("executor.reap.self"), 8 | PROGRESS_THREAD_EXIT_TIMEOUT_MS("executor.progress.threadExitTimeoutMs"); 9 | 10 | private final String fieldName; 11 | 12 | ExecutorProperty(String fieldName) 13 | { 14 | this.fieldName = fieldName; 15 | } 16 | 17 | @Override 18 | public String getFieldName() 19 | { 20 | return fieldName; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /handler/handler-sample/package/local/config/configMap.yaml: -------------------------------------------------------------------------------- 1 | # for use with minikube ONLY, lab has the configmap in github 2 | # we intentionally do NOT configure the kube master url 3 | 4 | apiVersion: v1 5 | kind: ConfigMap 6 | metadata: 7 | name: lab-main-t-aor-fhsamp-t01 8 | namespace: pop 9 | labels: 10 | environmentShortName: lab 11 | serviceShortName: fhsamp 12 | regionShortName: main 13 | partitionShortName: t 14 | clusterSuffix: t01 15 | clusterTitle: lab-main-t-aor-fhsamp-t01 16 | annotations: 17 | cts/k8cluster: minikube 18 | data: 19 | env-properties: | 20 | JAVA_HEAP=256M 21 | LOG_LEVEL=DEBUG 22 | JAVA_EXTRA=-XX:MaxMetaspaceSize=256m 23 | external-properties: | -------------------------------------------------------------------------------- /module/module-queue-aws-sqs/api/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.comcast.pop.module 4 | pop-module-queue-aws-sqs-base 5 | 1.0.0 6 | 7 | 8 | 4.0.0 9 | 10 | com.comcast.pop.module 11 | module-queue-aws-sqs-api 12 | 1.0.0 13 | jar 14 | Queue AWS SQS API 15 | 16 | -------------------------------------------------------------------------------- /web-ui/src/main/resources/js/loomConsole/console.d.ts: -------------------------------------------------------------------------------- 1 | interface IConsoleJS { 2 | getContext(): Promise; 3 | keepAlive(): Promise; 4 | } 5 | declare type MessageType = "getContext" | "keepAlive"; 6 | interface IConsoleResponse { 7 | method: MessageType; 8 | data?: any; 9 | error?: string; 10 | } 11 | export default class ConsoleJS implements IConsoleJS { 12 | constructor(); 13 | private consoleWindow; 14 | private static isEmbedded; 15 | private postToConsole; 16 | private createCustomEvent; 17 | private askConsole; 18 | getContext(): Promise; 19 | keepAlive(): Promise; 20 | } 21 | export {}; 22 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/field/api/args/HandlerArgument.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.field.api.args; 2 | 3 | public enum HandlerArgument implements CommandLineArgument 4 | { 5 | LAUNCH_TYPE("launchType"), 6 | EXTERNAL_LAUNCH_TYPE("externalLaunchType"), 7 | PROP_FILE("propFile"), 8 | PAYLOAD_FILE("payloadFile"), 9 | LAST_PROGRESS_FILE("lastProgressFile"); 10 | 11 | private final String argumentName; 12 | 13 | HandlerArgument(String argumentName) 14 | { 15 | this.argumentName = argumentName; 16 | } 17 | 18 | @Override 19 | public String getArgumentName() 20 | { 21 | return argumentName; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/resident/generator/UpdateAgendaResidentHandlerFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.resident.generator; 2 | 3 | import com.comast.pop.handler.base.ResidentHandler; 4 | import com.comcast.pop.handler.executor.impl.context.ExecutorContext; 5 | import com.comcast.pop.handler.executor.impl.registry.resident.operations.ResidentHandlerFactory; 6 | 7 | public class UpdateAgendaResidentHandlerFactory implements ResidentHandlerFactory 8 | { 9 | @Override 10 | public ResidentHandler create(ExecutorContext executorContext) 11 | { 12 | return new UpdateAgendaResidentHandler(executorContext); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /handler/handler-pod-reaper/impl/src/main/java/com/comcast/pop/handler/reaper/impl/property/ReaperProperty.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.reaper.impl.property; 2 | 3 | import com.comast.pop.handler.base.field.retriever.api.NamedField; 4 | 5 | public enum ReaperProperty implements NamedField 6 | { 7 | REAPER_RUN_MAX_MINUTES("reaper.run.maxminutes"), 8 | POD_REAP_AGE_MINUTES("pod.reap.age.minutes"), 9 | POD_REAP_BATCH_SIZE("pod.reap.batch.size"); 10 | 11 | private final String fieldName; 12 | 13 | ReaperProperty(String fieldName) 14 | { 15 | this.fieldName = fieldName; 16 | } 17 | 18 | public String getFieldName() 19 | { 20 | return fieldName; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /handler/handler-sample/package/local/payload-local-multi.json: -------------------------------------------------------------------------------- 1 | { 2 | "actions": [ 3 | { 4 | "action": "log", 5 | "paramsMap": { 6 | "sleepMilliseconds": 5000, 7 | "logMessage": "This is a custom log message" 8 | } 9 | }, 10 | { 11 | "action": "log", 12 | "paramsMap": { 13 | "sleepMilliseconds": 4000, 14 | "logMessage": "This is another custom log message" 15 | } 16 | }, 17 | { 18 | "action": "log", 19 | "paramsMap": { 20 | "sleepMilliseconds": 4000, 21 | "logMessage": "This is the last custom log message" 22 | } 23 | } 24 | ], 25 | "resultPayload": { 26 | "data": "someData" 27 | } 28 | } -------------------------------------------------------------------------------- /web-ui/src/main/resources/css/opensans.css: -------------------------------------------------------------------------------- 1 | h1, h2, h3, h4, h5, h6, .site-title { 2 | font-family: 'Open Sans', sans-serif; 3 | } 4 | body.site { 5 | border-top: 3px solid #f28ef2; 6 | background-color: #3f7db8; 7 | } 8 | .nav-list > .active > a, 9 | .nav-list > .active > a:hover, 10 | .dropdown-menu li > a:hover, 11 | .dropdown-menu .active > a, 12 | .dropdown-menu .active > a:hover, 13 | .nav-pills > .active > a, 14 | .nav-pills > .active > a:hover, 15 | .btn-primary { 16 | background: #f28ef2; 17 | } 18 | 19 | textarea { 20 | /* font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;*/ 21 | font-family: 'Monaco', monospace; 22 | } -------------------------------------------------------------------------------- /handler/handler-sample/api/src/main/java/com/comcast/pop/handler/sample/api/SampleAction.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.api; 2 | 3 | import com.comcast.pop.api.params.ParamsMap; 4 | 5 | public class SampleAction 6 | { 7 | private String action; 8 | private ParamsMap paramsMap; 9 | 10 | public String getAction() 11 | { 12 | return action; 13 | } 14 | 15 | public void setAction(String action) 16 | { 17 | this.action = action; 18 | } 19 | 20 | public ParamsMap getParamsMap() 21 | { 22 | return paramsMap; 23 | } 24 | 25 | public void setParamsMap(ParamsMap paramsMap) 26 | { 27 | this.paramsMap = paramsMap; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /handler/handler-sample/impl/src/main/java/com/comcast/pop/handler/sample/impl/action/LogAction.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.impl.action; 2 | 3 | import com.comast.pop.handler.base.progress.reporter.operation.OperationProgressReporter; 4 | import com.comcast.pop.handler.sample.api.ActionParameters; 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | 8 | public class LogAction extends BaseAction 9 | { 10 | private static Logger logger = LoggerFactory.getLogger(LogAction.class); 11 | 12 | @Override 13 | protected void perform(OperationProgressReporter reporter, ActionParameters actionParameters) 14 | { 15 | logger.info(actionParameters.getLogMessage()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/config/ExecutorConfigProperty.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.config; 2 | 3 | import com.comast.pop.handler.base.field.retriever.api.NamedField; 4 | 5 | public enum ExecutorConfigProperty implements NamedField 6 | { 7 | EXPAND_AGENDA_ATTEMPTS("resourcePool.expandAgenda.attemptCount"), 8 | EXPAND_AGENDA_DELAY_MS("resourcePool.expandAgenda.delayMs"); 9 | 10 | private String fieldName; 11 | 12 | ExecutorConfigProperty(String fieldName) 13 | { 14 | this.fieldName = fieldName; 15 | } 16 | 17 | @Override 18 | public String getFieldName() 19 | { 20 | return fieldName; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/ValidationException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api; 2 | 3 | public class ValidationException extends RuntimeServiceException 4 | { 5 | private static final int statusCode = 422; 6 | 7 | public ValidationException() 8 | { 9 | super(statusCode); 10 | } 11 | 12 | public ValidationException(String message) 13 | { 14 | super(message, statusCode); 15 | } 16 | 17 | public ValidationException(String message, Throwable cause) 18 | { 19 | super(message, cause, statusCode); 20 | } 21 | 22 | public ValidationException(Throwable cause) 23 | { 24 | super(cause, statusCode); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/BadRequestException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api; 2 | 3 | 4 | public class BadRequestException extends RuntimeServiceException 5 | { 6 | private static final int statusCode = 400; 7 | 8 | public BadRequestException() 9 | { 10 | super(statusCode); 11 | } 12 | 13 | public BadRequestException(String message) 14 | { 15 | super(message, statusCode); 16 | } 17 | 18 | public BadRequestException(String message, Throwable cause) 19 | { 20 | super(message, cause, statusCode); 21 | } 22 | 23 | public BadRequestException(Throwable cause) 24 | { 25 | super(cause, statusCode); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /handler/handler-puller/package/local/config/registry.json: -------------------------------------------------------------------------------- 1 | { 2 | "basePodConfig": { 3 | "memoryRequestCount": "1000m", 4 | "cpuMinRequestCount": "1000m", 5 | "cpuMaxRequestCount": "1000m", 6 | "podScheduledTimeoutMs": 600000, 7 | "reapCompletedPods": true, 8 | "pullAlways": true 9 | }, 10 | "executor": { 11 | "configMapName": "pop-executor-01", 12 | "podConfig": { 13 | "imageName": "you.docker.repo/fhexec:1.0.0", 14 | "namePrefix": "pop-exec", 15 | "configMapDetails": { 16 | "mapKeyPaths":[ 17 | { "key": "external-properties", "path": "external.properties"}, 18 | { "key": "registry-json", "path": "registry.json"} 19 | ] 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/UnauthorizedException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api; 2 | 3 | public class UnauthorizedException extends RuntimeServiceException 4 | { 5 | private static final int statusCode = 403; 6 | 7 | public UnauthorizedException() 8 | { 9 | super(statusCode); 10 | } 11 | 12 | public UnauthorizedException(String message) 13 | { 14 | super(message, statusCode); 15 | } 16 | 17 | public UnauthorizedException(String message, Throwable cause) 18 | { 19 | super(message, cause, statusCode); 20 | } 21 | 22 | public UnauthorizedException(Throwable cause) 23 | { 24 | super(cause, statusCode); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/main/java/com/comcast/pop/handler/puller/impl/executor/local/LocalOperationLauncherFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.puller.impl.executor.local; 2 | 3 | import com.comcast.pop.handler.puller.impl.context.PullerContext; 4 | import com.comcast.pop.handler.puller.impl.executor.BaseLauncher; 5 | import com.comcast.pop.handler.puller.impl.executor.LauncherFactory; 6 | 7 | /** 8 | * Factory for producing launchers. 9 | * This may only apply to functional tests. 10 | */ 11 | public class LocalOperationLauncherFactory implements LauncherFactory 12 | { 13 | @Override 14 | public BaseLauncher createLauncher(PullerContext handlerContext) 15 | { 16 | return new LocalOperationLauncher(); 17 | } 18 | } -------------------------------------------------------------------------------- /module/module-kube-client/api/src/main/java/com/comcast/pop/modules/kube/client/config/KeyPathPair.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.client.config; 2 | 3 | public class KeyPathPair { 4 | private String key; 5 | private String path; 6 | 7 | public KeyPathPair() { 8 | } 9 | 10 | public KeyPathPair(String key, String path) { 11 | this.key = key; 12 | this.path = path; 13 | } 14 | 15 | public String getKey() { 16 | return key; 17 | } 18 | 19 | public void setKey(String key) { 20 | this.key = key; 21 | } 22 | 23 | public String getPath() { 24 | return path; 25 | } 26 | 27 | public void setPath(String path) { 28 | this.path = path; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/resourcepool/CreateAgendaRequest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.resourcepool; 2 | 3 | import com.comcast.pop.api.Agenda; 4 | 5 | import java.util.Collection; 6 | 7 | public class CreateAgendaRequest 8 | { 9 | private Collection dataObjects; 10 | 11 | public CreateAgendaRequest(){} 12 | 13 | public CreateAgendaRequest(Collection dataObjects) 14 | { 15 | this.dataObjects = dataObjects; 16 | } 17 | 18 | public Collection getAgendas() 19 | { 20 | return dataObjects; 21 | } 22 | 23 | public void setAgendas(Collection dataObjects) 24 | { 25 | this.dataObjects = dataObjects; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/java/com/comcast/pop/handler/executor/impl/processor/parallel/OperationConductorModifier.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.executor.impl.processor.parallel; 2 | 3 | import com.comcast.pop.handler.executor.impl.processor.OperationWrapper; 4 | import com.comcast.pop.handler.executor.impl.context.ExecutorContext; 5 | 6 | /** 7 | * Modifier for adjusting the state of the conductor 8 | * 9 | * TODO: consider an interface for the OperationConductor to limit the access on the object itself (not really critical in this context) 10 | */ 11 | public interface OperationConductorModifier 12 | { 13 | void modify(ExecutorContext executorContext, OperationWrapper operationWrapper, OperationConductor operationConductor); 14 | } 15 | -------------------------------------------------------------------------------- /data-reaping/data-object-reaper-aws/src/main/java/com/comcast/pop/reaper/objects/aws/BaseBatchedOperation.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.reaper.objects.aws; 2 | 3 | public abstract class BaseBatchedOperation 4 | { 5 | /** 6 | * Delays for the specified milliseconds, if greater than 0. 7 | * @param delayMillis The milliseconds to wait 8 | * @return true on success, false if interrupted 9 | */ 10 | protected boolean delay(long delayMillis) 11 | { 12 | if(delayMillis <= 0) return true; 13 | 14 | try 15 | { 16 | Thread.sleep(delayMillis); 17 | return true; 18 | } 19 | catch(InterruptedException e) 20 | { 21 | return false; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /module/module-json-helper/src/test/resources/testExpectedResult.json: -------------------------------------------------------------------------------- 1 | { 2 | "someObject" : { 3 | "mediainforef" : { 4 | "mediaProperties" : { 5 | "width" : 720, 6 | "height" : 480 7 | } 8 | }, 9 | "mediainforefwidth" : 720 10 | }, 11 | "arrayRef" : [ { 12 | "id" : "package", 13 | "payload" : { 14 | "setting" : "value" 15 | } 16 | }, { 17 | "id" : "encode", 18 | "payload" : { 19 | "setting" : "value" 20 | } 21 | } ], 22 | "anotherItem" : { 23 | "subitem" : { 24 | "childitem" : "encode" 25 | } 26 | }, 27 | "stringref":"a value", 28 | "numberRef":42, 29 | "tokenNumber":42, 30 | "tokenString":"a value", 31 | "compositeString":"xa valuey", 32 | "agendaId":"456-789" 33 | } -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/agenda/aws/persistence/DynamoDBAgendaPersisterFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agenda.aws.persistence; 2 | 3 | import com.comcast.pop.api.Agenda; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBConvertedPersisterFactory; 5 | import com.comcast.pop.persistence.aws.dynamodb.TableIndexes; 6 | 7 | public class DynamoDBAgendaPersisterFactory extends DynamoDBConvertedPersisterFactory 8 | { 9 | private static final TableIndexes tableIndexes = new TableIndexes().withIndex("linkid_index", "linkId"); 10 | 11 | public DynamoDBAgendaPersisterFactory() 12 | { 13 | super("id", Agenda.class, new PersistentAgendaConverter(), tableIndexes); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/test/java/com/comcast/pop/endpoint/resourcepool/aws/persistence/PersistentInsightConverterTest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.resourcepool.aws.persistence; 2 | 3 | import com.comcast.pop.api.facility.Insight; 4 | import org.testng.Assert; 5 | import org.testng.annotations.Test; 6 | 7 | 8 | public class PersistentInsightConverterTest 9 | { 10 | private PersistentInsightConverter converter = new PersistentInsightConverter(); 11 | @Test 12 | public void testConvertToPersistence() 13 | { 14 | Insight dataObject = DataGenerator.generateInsight(); 15 | PersistentInsight persistentObject = converter.getPersistentObject(dataObject); 16 | Assert.assertNotNull(persistentObject.getMappers()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-client/src/main/java/com/comcast/pop/endpoint/client/ObjectClient.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.client; 2 | 3 | import com.comcast.pop.endpoint.api.data.DataObjectResponse; 4 | import com.comcast.pop.object.api.IdentifiedObject; 5 | import com.comcast.pop.persistence.api.query.Query; 6 | 7 | import java.util.List; 8 | 9 | public interface ObjectClient 10 | { 11 | DataObjectResponse getObjects(String queryParams); 12 | DataObjectResponse getObjects(List queries); 13 | DataObjectResponse getObject(String id); 14 | DataObjectResponse persistObject(T object); 15 | DataObjectResponse updateObject(T object, String id); 16 | DataObjectResponse deleteObject(String id); 17 | } 18 | -------------------------------------------------------------------------------- /handler/handler-sample/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | com.comcast.pop 6 | pop-root-handler 7 | 1.0.0 8 | 9 | 10 | 4.0.0 11 | 12 | pop-root-handler-sample 13 | 1.0.0 14 | 15 | pom 16 | 17 | 18 | api 19 | impl 20 | package 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /module/module-json-helper/src/test/java/com/comcast/pop/modules/jsonhelper/SampleObject.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.jsonhelper; 2 | 3 | public class SampleObject 4 | { 5 | private String id; 6 | private SampleObject subObject; 7 | 8 | public SampleObject() 9 | { 10 | 11 | } 12 | 13 | public String getId() 14 | { 15 | return id; 16 | } 17 | 18 | public SampleObject setId(String id) 19 | { 20 | this.id = id; 21 | return this; 22 | } 23 | 24 | public SampleObject getSubObject() 25 | { 26 | return subObject; 27 | } 28 | 29 | public SampleObject setSubObject(SampleObject subObject) 30 | { 31 | this.subObject = subObject; 32 | return this; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /module/module-queue-api/src/main/java/com/comcast/pop/modules/queue/api/access/ItemQueueViewer.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.queue.api.access; 2 | 3 | import com.comcast.pop.modules.queue.api.ItemQueue; 4 | import com.comcast.pop.modules.queue.api.QueueResult; 5 | 6 | /** 7 | * Provides view only queue access to an underlying ItemQueue 8 | */ 9 | public class ItemQueueViewer 10 | { 11 | private final ItemQueue itemQueue; 12 | 13 | public ItemQueueViewer(ItemQueue itemQueue) 14 | { 15 | this.itemQueue = itemQueue; 16 | } 17 | 18 | public QueueResult peek() 19 | { 20 | return itemQueue.peek(); 21 | } 22 | 23 | public QueueResult size() 24 | { 25 | return itemQueue.size(); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/data/query/ByFields.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.data.query; 2 | 3 | import com.comcast.pop.persistence.api.field.FieldsField; 4 | import com.comcast.pop.persistence.api.query.Query; 5 | 6 | /** 7 | * ByFields query to specify the fields you want returned from the query. 8 | * Example : title,customerId 9 | */ 10 | public class ByFields extends Query 11 | { 12 | private static final FieldsField field = new FieldsField(); 13 | public ByFields(String value) 14 | { 15 | setField(field); 16 | setValue(value); 17 | setCollection(false); 18 | } 19 | public static String fieldName() 20 | { 21 | return field.name(); 22 | } 23 | 24 | } 25 | 26 | -------------------------------------------------------------------------------- /endpoint/endpoint-functional-test/testng-functional.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /handler/handler-executor/impl/src/main/resources/com/comcast/pop/handler/executor/executorMessages.properties: -------------------------------------------------------------------------------- 1 | #keys are lowercase, enums are whatever enums should be (upper case) 2 | agenda_no_operations=No operations in Agenda. Nothing to do. 3 | operations_running=Running Operations 4 | operations_error=Error running operations 5 | operation_execution_error=Failed to execute operation: {0} 6 | operation_execution_incomplete=Failed to complete operation: {0} End ProcessingState: {1} 7 | operation_execution_incomplete_no_progress=Failed to complete operation: {0} No progress was reported. 8 | operation_resident_execution_failed=Resident execution failed for operation: {0} 9 | kubernetes_follow_error=Failed to follow kubernetes pod: {0} 10 | kubernetes_pod_failed=Kubernetes pod failed: {0} 11 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/test/resources/testConfigMap_BaseConfigMap.json: -------------------------------------------------------------------------------- 1 | { 2 | "basePodConfig": { 3 | "memoryRequestCount": "1000m", 4 | "cpuMinRequestCount": "1000m", 5 | "cpuMaxRequestCount": "1000m", 6 | "podScheduledTimeoutMs": 600000, 7 | "reapCompletedPods": true, 8 | "pullAlways": true, 9 | "configMapSettings": [ 10 | { 11 | "volumeName":"config-volume-ex", 12 | "volumeMountPath":"/configex", 13 | "mapKeyPaths":[ 14 | { "key": "X", "path": "Y"} 15 | ] 16 | } 17 | ] 18 | }, 19 | 20 | "sample": { 21 | "configMapName": "lab-main-t-aor-fhsamp-t01", 22 | "podConfig": { 23 | "imageName": "your.repo.com/fhsamp:1.0.0", 24 | "namePrefix": "pop-samp" 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /endpoint/endpoint-base/src/main/java/com/comcast/pop/endpoint/base/visibility/VisibilityFilter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.base.visibility; 2 | 3 | import com.comcast.pop.endpoint.api.ServiceRequest; 4 | import com.comcast.pop.object.api.IdentifiedObject; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | import java.util.stream.Collectors; 9 | 10 | public abstract class VisibilityFilter 11 | { 12 | public abstract boolean isVisible(Req req, T object); 13 | 14 | public List filterByVisible(Req req, List objects) 15 | { 16 | if(objects == null) return new ArrayList<>(); 17 | 18 | return objects.stream().filter(o -> isVisible(req, o)).collect(Collectors.toList()); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /module/module-queue-aws-sqs/impl/src/test/java/com/comcast/pop/modules/queue/aws/sqs/SQSItemQueueTestString.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.queue.aws.sqs; 2 | 3 | import org.testng.annotations.DataProvider; 4 | 5 | public class SQSItemQueueTestString extends SQSItemQueueTest 6 | { 7 | @Override 8 | public String getTestObject() 9 | { 10 | return ""; 11 | } 12 | 13 | @Override 14 | public Class getTestObjectClass() 15 | { 16 | return String.class; 17 | } 18 | 19 | @Override 20 | @DataProvider 21 | public Object[][] itemsDataProvider() 22 | { 23 | return new Object[][] 24 | { 25 | {new String[] {"1"}}, 26 | {new String[] {"1", "2"}} 27 | }; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /automated-retry/agenda-reclaimer-impl/src/main/java/com/comcast/pop/agenda/reclaim/exception/ReclaimerException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.agenda.reclaim.exception; 2 | 3 | public class ReclaimerException extends RuntimeException 4 | { 5 | public ReclaimerException(String message) 6 | { 7 | super(message); 8 | } 9 | 10 | public ReclaimerException(String message, Throwable cause) 11 | { 12 | super(message, cause); 13 | } 14 | 15 | public ReclaimerException(Throwable cause) 16 | { 17 | super(cause); 18 | } 19 | 20 | protected ReclaimerException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) 21 | { 22 | super(message, cause, enableSuppression, writableStackTrace); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /module/module-compression/src/test/java/com/comcast/pop/compression/zlib/ZlibUtilTest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.compression.zlib; 2 | 3 | import org.testng.Assert; 4 | import org.testng.annotations.BeforeMethod; 5 | import org.testng.annotations.Test; 6 | 7 | public class ZlibUtilTest 8 | { 9 | private ZlibUtil zlibUtil; 10 | 11 | @BeforeMethod 12 | public void setup() 13 | { 14 | zlibUtil = new ZlibUtil(); 15 | } 16 | 17 | @Test 18 | public void testInflateDeflate() throws Exception 19 | { 20 | String original = "{\"foo\":\"bar\"}"; 21 | byte[] in = original.getBytes("UTF-8"); 22 | byte[] b = zlibUtil.deflateMe(in); 23 | String json = zlibUtil.inflateMe(b); 24 | Assert.assertEquals(json, original); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /automated-retry/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | com.comcast.pop 6 | pop-root 7 | 1.0.7 8 | 9 | 10 | 4.0.0 11 | 12 | pop-root-retry 13 | 1.0.0 14 | 15 | pom 16 | 17 | 18 | agenda-reclaimer-impl 19 | agenda-reclaimer-aws 20 | callback-progress-retry-aws 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/config/converter/StringArrayPropertyConverter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.config.converter; 2 | 3 | /** 4 | * Converter from a String to a String[] based on the delimiter specified. 5 | */ 6 | public class StringArrayPropertyConverter implements ConfigPropertyConverter 7 | { 8 | private final String delimiterRegex; 9 | 10 | public StringArrayPropertyConverter(String delimiterRegex) 11 | { 12 | this.delimiterRegex = delimiterRegex; 13 | } 14 | 15 | @Override 16 | public String[] convertPropertyValue(String propertyValue) 17 | { 18 | if(propertyValue != null) 19 | return propertyValue.split(delimiterRegex); 20 | return null; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /module/module-persistence/aws/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | com.comcast.pop.module 5 | pop-peristence-base 6 | 1.0.0 7 | 8 | 9 | 4.0.0 10 | 11 | pop-persistence-aws-parent 12 | 1.0.0 13 | pom 14 | Parent POM for AWS Persistence 15 | 16 | 17 | 18 | 19 | dynamodb 20 | 21 | 22 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/resourcepool/UpdateAgendaProgressRequest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.resourcepool; 2 | 3 | import com.comcast.pop.api.progress.AgendaProgress; 4 | 5 | public class UpdateAgendaProgressRequest 6 | { 7 | private AgendaProgress agendaProgress; 8 | 9 | public UpdateAgendaProgressRequest(AgendaProgress agendaProgress) 10 | { 11 | this.agendaProgress = agendaProgress; 12 | } 13 | 14 | public UpdateAgendaProgressRequest() 15 | { 16 | } 17 | 18 | public AgendaProgress getAgendaProgress() 19 | { 20 | return agendaProgress; 21 | } 22 | 23 | public void setAgendaProgress(AgendaProgress agendaProgress) 24 | { 25 | this.agendaProgress = agendaProgress; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-client/src/main/java/com/comcast/pop/endpoint/client/HttpObjectClientFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.client; 2 | 3 | import com.comcast.pop.http.api.HttpURLConnectionFactory; 4 | import com.comcast.pop.object.api.IdentifiedObject; 5 | 6 | public class HttpObjectClientFactory 7 | { 8 | private HttpURLConnectionFactory httpURLConnectionFactory; 9 | 10 | public HttpObjectClientFactory(HttpURLConnectionFactory httpURLConnectionFactory) 11 | { 12 | this.httpURLConnectionFactory = httpURLConnectionFactory; 13 | } 14 | 15 | public HttpObjectClient createClient(String endpointURL, Class objectClass) 16 | { 17 | return new HttpObjectClient<>(endpointURL, httpURLConnectionFactory, objectClass); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl/src/test/java/com/comcast/pop/endpoint/agenda/reporter/CaptureLogger.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agenda.reporter; 2 | 3 | import org.slf4j.helpers.SubstituteLogger; 4 | 5 | public class CaptureLogger extends SubstituteLogger 6 | { 7 | private static final String CAPTURE_LOGGER = "capture_logger"; 8 | private StringBuilder builder = new StringBuilder(); 9 | 10 | public CaptureLogger() 11 | { 12 | this(CAPTURE_LOGGER); 13 | } 14 | 15 | public CaptureLogger(String name) 16 | { 17 | super(name,null, true); 18 | } 19 | 20 | @Override 21 | public void info(String msg) 22 | { 23 | builder.append(msg); 24 | } 25 | 26 | public String getMsg() 27 | { 28 | return builder.toString(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /handler/handler-base/src/test/java/com/comast/pop/handler/base/messages/TestMessages.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.messages; 2 | 3 | public enum TestMessages implements MessageLookup 4 | { 5 | SAMPLE_MESSAGE, 6 | SAMPLE_ARG_MESSAGE; 7 | 8 | public static final String RESOURCE_PATH = "com/comcast/pop/handler/base/messages/test"; 9 | private static final ResourceBundleStringRetriever stringRetriever = new ResourceBundleStringRetriever(RESOURCE_PATH); 10 | 11 | private final String key = name().toLowerCase(); 12 | 13 | @Override 14 | public String getMessage(Object... args) 15 | { 16 | return stringRetriever.getMessage(getKey(), args); 17 | } 18 | 19 | @Override 20 | public String getKey() 21 | { 22 | return key; 23 | } 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/alert/AlertException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.alert; 2 | 3 | public class AlertException extends RuntimeException 4 | { 5 | public AlertException() 6 | { 7 | } 8 | 9 | public AlertException(String message) 10 | { 11 | super(message); 12 | } 13 | 14 | public AlertException(String message, Throwable cause) 15 | { 16 | super(message, cause); 17 | } 18 | 19 | public AlertException(Throwable cause) 20 | { 21 | super(cause); 22 | } 23 | 24 | public AlertException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) 25 | { 26 | super(message, cause, enableSuppression, writableStackTrace); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/messages/HandlerMessages.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.messages; 2 | 3 | public enum HandlerMessages implements MessageLookup 4 | { 5 | GENERAL_HANDLER_ERROR, 6 | PAYLOAD_TRANSLATION_FAIL; 7 | 8 | public static final String RESOURCE_PATH = "com/comcast/pop/handler/handlerMessages"; 9 | private static final ResourceBundleStringRetriever stringRetriever = new ResourceBundleStringRetriever(RESOURCE_PATH); 10 | 11 | private final String key = name().toLowerCase(); 12 | 13 | @Override 14 | public String getMessage(Object... args) 15 | { 16 | return stringRetriever.getMessage(getKey(), args); 17 | } 18 | 19 | @Override 20 | public String getKey() 21 | { 22 | return key; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /handler/handler-base/src/main/java/com/comast/pop/handler/base/validation/string/MultiStringValidator.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.validation.string; 2 | 3 | import java.util.List; 4 | 5 | public class MultiStringValidator implements StringValidator 6 | { 7 | private List validators; 8 | 9 | public MultiStringValidator(List validators) 10 | { 11 | this.validators = validators; 12 | } 13 | 14 | public void addValidator(StringValidator validator) 15 | { 16 | validators.add(validator); 17 | } 18 | 19 | @Override 20 | public void validate(String input) 21 | { 22 | if(validators == null) return; 23 | for(StringValidator validator : validators) 24 | validator.validate(input); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /handler/handler-sample/api/src/main/java/com/comcast/pop/handler/sample/api/SampleInput.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.api; 2 | 3 | import com.comcast.pop.api.params.ParamsMap; 4 | 5 | import java.util.List; 6 | 7 | public class SampleInput 8 | { 9 | private List actions; 10 | private ParamsMap resultPayload; 11 | 12 | public List getActions() 13 | { 14 | return actions; 15 | } 16 | 17 | public void setActions(List actions) 18 | { 19 | this.actions = actions; 20 | } 21 | 22 | public ParamsMap getResultPayload() 23 | { 24 | return resultPayload; 25 | } 26 | 27 | public void setResultPayload(ParamsMap resultPayload) 28 | { 29 | this.resultPayload = resultPayload; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /handler/handler-puller/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | com.comcast.pop 5 | pop-root-handler 6 | 1.0.0 7 | 8 | 9 | 4.0.0 10 | 11 | com.comcast.pop.handler 12 | pop-handler-puller-parent 13 | 1.0.0 14 | pom 15 | Puller Handler Parent 16 | 17 | 18 | impl 19 | package 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /module/module-monitor/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | com.comcast.pop 5 | pop-root-module 6 | 1.0.0 7 | 8 | 9 | 4.0.0 10 | 11 | com.comcast.pop.module 12 | pop-monitor-parent 13 | 1.0.0 14 | pom 15 | Alerts and Monitoring Parent Project 16 | 17 | 18 | main 19 | graphite 20 | 21 | 22 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/resourcepool/aws/persistence/DynamoDBResourcePoolPersisterFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.resourcepool.aws.persistence; 2 | 3 | import com.comcast.pop.api.facility.ResourcePool; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBConvertedPersisterFactory; 5 | import com.comcast.pop.persistence.aws.dynamodb.TableIndexes; 6 | 7 | /** 8 | */ 9 | public class DynamoDBResourcePoolPersisterFactory extends DynamoDBConvertedPersisterFactory 10 | { 11 | protected static final TableIndexes tableIndexes = new TableIndexes(); 12 | 13 | public DynamoDBResourcePoolPersisterFactory() 14 | { 15 | super("id", ResourcePool.class, new PersistentResourcePoolConverter(), tableIndexes); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /handler/handler-sample/impl/src/main/java/com/comcast/pop/handler/sample/impl/action/ExceptionAction.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.impl.action; 2 | 3 | import com.comast.pop.handler.base.progress.reporter.operation.OperationProgressReporter; 4 | import com.comcast.pop.handler.sample.api.ActionParameters; 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | 8 | public class ExceptionAction extends BaseAction 9 | { 10 | private static Logger logger = LoggerFactory.getLogger(ExceptionAction.class); 11 | 12 | @Override 13 | protected void perform(OperationProgressReporter reporter, ActionParameters actionParameters) 14 | { 15 | logger.info("About to throw a planned exception..."); 16 | throw new RuntimeException(actionParameters.getExceptionMessage()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /module/module-kube-client/fabric8/src/main/java/com/comcast/pop/modules/kube/fabric8/client/factory/PodPushClientFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.client.factory; 2 | 3 | import com.comcast.pop.modules.kube.client.CpuRequestModulator; 4 | import com.comcast.pop.modules.kube.client.config.KubeConfig; 5 | import com.comcast.pop.modules.kube.fabric8.client.PodPushClient; 6 | 7 | abstract public class PodPushClientFactory 8 | { 9 | protected KubeConfig kubeConfig; 10 | 11 | public KubeConfig getKubeConfig() 12 | { 13 | return kubeConfig; 14 | } 15 | 16 | public void setKubeConfig(KubeConfig kubeConfig) 17 | { 18 | this.kubeConfig = kubeConfig; 19 | } 20 | 21 | abstract public PodPushClient getClient(KubeConfig kubeConfig); 22 | } 23 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/data/query/ByCount.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.data.query; 2 | 3 | import com.comcast.pop.persistence.api.field.CountField; 4 | import com.comcast.pop.persistence.api.query.Query; 5 | 6 | /** 7 | * ByCount only returns the count of entries and not the actual entries 8 | */ 9 | public class ByCount extends Query 10 | { 11 | private static final CountField field = new CountField(); 12 | public ByCount(Boolean value) 13 | { 14 | if(value == null) 15 | { 16 | value = true; 17 | } 18 | 19 | setField(field); 20 | setValue(value); 21 | setCollection(false); 22 | } 23 | 24 | public static String fieldName() 25 | { 26 | return field.name(); 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /module/module-kube-client/fabric8/src/main/java/com/comcast/pop/modules/kube/fabric8/client/exception/PodException.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.kube.fabric8.client.exception; 2 | 3 | public class PodException extends RuntimeException 4 | { 5 | public PodException() 6 | { 7 | } 8 | 9 | public PodException(String message) 10 | { 11 | super(message); 12 | } 13 | 14 | public PodException(String message, Throwable cause) 15 | { 16 | super(message, cause); 17 | } 18 | 19 | public PodException(Throwable cause) 20 | { 21 | super(cause); 22 | } 23 | 24 | public PodException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) 25 | { 26 | super(message, cause, enableSuppression, writableStackTrace); 27 | } 28 | } -------------------------------------------------------------------------------- /module/module-queue-api/src/main/java/com/comcast/pop/modules/queue/api/access/ItemQueueWriter.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.queue.api.access; 2 | 3 | import com.comcast.pop.modules.queue.api.ItemQueue; 4 | import com.comcast.pop.modules.queue.api.QueueResult; 5 | 6 | import java.util.Collection; 7 | 8 | /** 9 | * Provides write access to an underlying ItemQueue 10 | */ 11 | public class ItemQueueWriter 12 | { 13 | private final ItemQueue itemQueue; 14 | 15 | public ItemQueueWriter(ItemQueue itemQueue) 16 | { 17 | this.itemQueue = itemQueue; 18 | } 19 | 20 | public QueueResult add(T item) 21 | { 22 | return itemQueue.add(item); 23 | } 24 | 25 | public QueueResult add(Collection items) 26 | { 27 | return itemQueue.add(items); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /module/module-queue-aws-sqs/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | 8 | com.comcast.pop 9 | pop-root-module 10 | 1.0.0 11 | 12 | 13 | com.comcast.pop.module 14 | pop-module-queue-aws-sqs-base 15 | 1.0.0 16 | pom 17 | 18 | 19 | api 20 | impl 21 | 22 | -------------------------------------------------------------------------------- /endpoint/endpoint-functional-test/src/test/resources/test.properties: -------------------------------------------------------------------------------- 1 | test.customerId=account/3131523765 2 | 3 | test.insightQueueName=POP-Test-Queue 4 | test.insightOperation=sample 5 | test.insightId=547cc659-f7a3-4fbe-b171-a2d0ad355b4d 6 | test.resourcePoolId=599f2241-3877-4301-b3d2-aa7e4274e42a 7 | 8 | endpoint.url=https:///dev 9 | 10 | # Endpoint paths 11 | agenda.path=/pop/agenda 12 | agenda.service.path=/pop/agenda/service 13 | agendatemplate.path=/pop/agendatemplate 14 | customer.path=/pop/customer 15 | insight.path=/pop/insight 16 | resource.pool.path=/pop/resourcepool 17 | transform.request.path=/pop/transform 18 | agenda.progress.path=/pop/progress/agenda 19 | operation.progress.path=/pop/progress/operation 20 | progress.provider.url=/pop/progress/agenda/service 21 | resource.pool.service.path=/pop/resourcepool/service -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/resourcepool/aws/persistence/DynamoDBInsightPersisterFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.resourcepool.aws.persistence; 2 | 3 | import com.comcast.pop.api.facility.Insight; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBConvertedPersisterFactory; 5 | import com.comcast.pop.persistence.aws.dynamodb.TableIndexes; 6 | 7 | /** 8 | */ 9 | public class DynamoDBInsightPersisterFactory extends DynamoDBConvertedPersisterFactory 10 | { 11 | protected static final TableIndexes tableIndexes = new TableIndexes().withIndex("resourcepoolid_index", "resourcePoolId"); 12 | 13 | public DynamoDBInsightPersisterFactory() 14 | { 15 | super("id", Insight.class, new PersistentInsightConverter(), tableIndexes); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/test/resources/testConfigMap.json: -------------------------------------------------------------------------------- 1 | { 2 | "basePodConfig": { 3 | "memoryRequestCount": "1000m", 4 | "cpuMinRequestCount": "1000m", 5 | "cpuMaxRequestCount": "1000m", 6 | "podScheduledTimeoutMs": 600000, 7 | "reapCompletedPods": true, 8 | "pullAlways": true 9 | }, 10 | 11 | "sample": { 12 | "configMapName": "lab-main-t-aor-fhsamp-t01", 13 | "podConfig": { 14 | "imageName": "your.repo.com/fhsamp:1.0.0", 15 | "namePrefix": "pop-samp", 16 | "configMapSettings": [ 17 | { 18 | "volumeName":"config-volume-ex", 19 | "volumeMountPath":"/configex", 20 | "mapKeyPaths":[ 21 | { "key": "1", "path": "2"}, 22 | { "key": "3", "path": "4"} 23 | ] 24 | } 25 | ] 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /handler/handler-pod-reaper/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | com.comcast.pop 5 | pop-root-handler 6 | 1.0.0 7 | 8 | 9 | 10 | 4.0.0 11 | 12 | com.comcast.pop.handler 13 | pop-handler-pod-reaper-parent 14 | 1.0.0 15 | pom 16 | Handler Pod Reaper Parent 17 | 18 | 19 | impl 20 | package 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/resourcepool/aws/persistence/DynamoDBCustomerPersisterFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.resourcepool.aws.persistence; 2 | 3 | import com.comcast.pop.api.facility.Customer; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBConvertedPersisterFactory; 5 | import com.comcast.pop.persistence.aws.dynamodb.TableIndexes; 6 | 7 | /** 8 | */ 9 | public class DynamoDBCustomerPersisterFactory extends DynamoDBConvertedPersisterFactory 10 | { 11 | protected static final TableIndexes tableIndexes = new TableIndexes().withIndex("resourcepoolid_index", "resourcePoolId"); 12 | 13 | public DynamoDBCustomerPersisterFactory() 14 | { 15 | super("id", Customer.class, new PersistentCustomerConverter(), tableIndexes); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /module/module-monitor/main/src/main/java/com/comcast/pop/modules/monitor/alive/LogAliveCheckListener.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.monitor.alive; 2 | 3 | import org.slf4j.Logger; 4 | import org.slf4j.LoggerFactory; 5 | 6 | /** 7 | * Simple logger listener for alive checks 8 | */ 9 | public class LogAliveCheckListener implements AliveCheckListener 10 | { 11 | private static final Logger logger = LoggerFactory.getLogger(LogAliveCheckListener.class); 12 | 13 | @Override 14 | public void processAliveCheck(boolean isAlive) 15 | { 16 | if(isAlive && logger.isDebugEnabled()) 17 | { 18 | logger.debug("Received a successful alive check."); 19 | } 20 | else if(!isAlive) 21 | { 22 | logger.error("Received a failed alive check."); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/ServiceRequest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api; 2 | 3 | import com.comcast.pop.endpoint.api.auth.AuthorizationResponse; 4 | 5 | public interface ServiceRequest 6 | { 7 | /** 8 | * Gets the HTTP method of the request or defaults 9 | * @param defaultValue The default to return if the method cannot be found 10 | * @return HTTP method or default 11 | */ 12 | String getHTTPMethod(String defaultValue); 13 | 14 | String getEndpoint(); 15 | 16 | String getAuthorizationHeader(); 17 | 18 | String getHeader(String header); 19 | 20 | String getCID(); 21 | 22 | T getPayload(); 23 | 24 | AuthorizationResponse getAuthorizationResponse(); 25 | 26 | void setAuthorizationResponse(AuthorizationResponse authorizationResponse); 27 | } 28 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/agendatemplate/aws/persistence/DynamoDBAgendaTemplatePersisterFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.agendatemplate.aws.persistence; 2 | 3 | import com.comcast.pop.api.AgendaTemplate; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBConvertedPersisterFactory; 5 | import com.comcast.pop.persistence.aws.dynamodb.TableIndexes; 6 | 7 | public class DynamoDBAgendaTemplatePersisterFactory extends DynamoDBConvertedPersisterFactory 8 | { 9 | private static final TableIndexes tableIndexes = new TableIndexes().withIndex("title_index", "title"); 10 | 11 | public DynamoDBAgendaTemplatePersisterFactory() 12 | { 13 | super("id", AgendaTemplate.class, new PersistentAgendaTemplateConverter(), tableIndexes); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-aws/src/main/java/com/comcast/pop/endpoint/progress/aws/persistence/DynamoDBAgendaProgressPersisterFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.progress.aws.persistence; 2 | 3 | import com.comcast.pop.api.progress.AgendaProgress; 4 | import com.comcast.pop.persistence.aws.dynamodb.DynamoDBConvertedPersisterFactory; 5 | import com.comcast.pop.persistence.aws.dynamodb.TableIndexes; 6 | 7 | public class DynamoDBAgendaProgressPersisterFactory extends DynamoDBConvertedPersisterFactory 8 | { 9 | private static final TableIndexes tableIndexes = new TableIndexes().withIndex("linkid_index", "linkId"); 10 | 11 | public DynamoDBAgendaProgressPersisterFactory() 12 | { 13 | super("id", AgendaProgress.class, new PersistentAgendaProgressConverter(), tableIndexes); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/data/query/ById.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.data.query; 2 | 3 | import com.comcast.pop.persistence.api.field.IdField; 4 | import com.comcast.pop.persistence.api.query.Query; 5 | 6 | /** 7 | * ById field equality query. 8 | */ 9 | public class ById extends Query 10 | { 11 | private static final IdField field = new IdField(); 12 | public ById(String value) 13 | { 14 | if(value == null || value.isEmpty()) 15 | { 16 | throw new IllegalArgumentException("ById query requires a non-empty value."); 17 | } 18 | 19 | setField(field); 20 | setValue(value); 21 | setCollection(false); 22 | } 23 | 24 | public static String fieldName() 25 | { 26 | return field.name(); 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/payload/compression/CompressedEnvironmentPayloadUtil.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.payload.compression; 2 | 3 | import com.comcast.pop.compression.zlib.ZlibUtil; 4 | 5 | 6 | public class CompressedEnvironmentPayloadUtil 7 | { 8 | private static final String PAYLOAD_FIELD_FORMAT = "POP_COMPRESSED_PAYLOAD_%1$s"; 9 | 10 | private ZlibUtil zlibUtil = new ZlibUtil(); 11 | 12 | public void setZlibUtil(ZlibUtil zlibUtil) 13 | { 14 | this.zlibUtil = zlibUtil; 15 | } 16 | 17 | public ZlibUtil getZlibUtil() 18 | { 19 | return zlibUtil; 20 | } 21 | 22 | public String getEnvironmentVariableName(int index) 23 | { 24 | return String.format(PAYLOAD_FIELD_FORMAT, index); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /module/module-kube-client/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | com.comcast.pop 5 | pop-root-module 6 | 1.0.0 7 | 8 | 9 | 4.0.0 10 | 11 | com.comcast.pop.module 12 | pop-kube-client-parent 13 | 1.0.0 14 | pom 15 | Kubernetes Client Parent Project 16 | 17 | 18 | api 19 | fabric8 20 | test/main 21 | 22 | -------------------------------------------------------------------------------- /handler/handler-kubernetes-support/src/main/java/com/comcast/pop/handler/kubernetes/support/payload/PayloadField.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.kubernetes.support.payload; 2 | 3 | import com.comast.pop.handler.base.field.retriever.api.NamedField; 4 | 5 | public enum PayloadField implements NamedField 6 | { 7 | // specifies the type of output this component should use (generally a property) 8 | PAYLOAD_OUTPUT_TYPE_PROPERTY("pop.payload.outputType"), 9 | // specifies the type of payload this component should attempt to read (generally an env var) 10 | PAYLOAD_TYPE_ENV_VAR("POP_PAYLOAD_TYPE"); 11 | 12 | private final String fieldName; 13 | 14 | PayloadField(String fieldName) 15 | { 16 | this.fieldName = fieldName; 17 | } 18 | 19 | public String getFieldName() 20 | { 21 | return fieldName; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /handler/handler-pod-reaper/impl/src/test/java/com/comcast/pop/handler/reaper/impl/ReaperTestUtil.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.reaper.impl; 2 | 3 | import io.fabric8.kubernetes.api.model.ObjectMeta; 4 | import io.fabric8.kubernetes.api.model.Pod; 5 | 6 | import java.util.LinkedList; 7 | import java.util.List; 8 | import java.util.stream.IntStream; 9 | 10 | public class ReaperTestUtil 11 | { 12 | public static List createPodList(int count) 13 | { 14 | List pods = new LinkedList<>(); 15 | IntStream.range(0, count).forEach(i -> 16 | { 17 | Pod pod = new Pod(); 18 | ObjectMeta objectMeta = new ObjectMeta(); 19 | objectMeta.setName(Integer.toString(i)); 20 | pod.setMetadata(objectMeta); 21 | pods.add(pod); 22 | }); 23 | return pods; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /handler/handler-puller/impl/src/test/java/com/comcast/pop/handler/puller/impl/PullerExecutionTest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.puller.impl; 2 | 3 | import org.testng.Assert; 4 | import org.testng.annotations.Test; 5 | 6 | import static org.mockito.Mockito.mock; 7 | 8 | /** 9 | */ 10 | public class PullerExecutionTest 11 | { 12 | 13 | @Test 14 | public void testAbort() throws InterruptedException 15 | { 16 | PullerEntryPoint entryPointMock = mock(PullerEntryPoint.class); 17 | 18 | PullerExecution pullerExecution = new PullerExecution(entryPointMock); 19 | pullerExecution.start(); 20 | 21 | Thread.sleep(1000); 22 | 23 | pullerExecution.getExecutionContext().stopThread(); 24 | Thread.sleep(1000); 25 | Assert.assertFalse(pullerExecution.getExecutionContext().isThreadAlive()); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /module/module-producer-consumer-util/src/main/java/com/comcast/pop/modules/sync/util/ProducerResult.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.modules.sync.util; 2 | 3 | import java.util.Collection; 4 | 5 | public class ProducerResult 6 | { 7 | private boolean interrupted; 8 | private Collection itemsProduced; 9 | 10 | public Collection getItemsProduced() 11 | { 12 | return itemsProduced; 13 | } 14 | 15 | public ProducerResult setItemsProduced(Collection itemsProduced) 16 | { 17 | this.itemsProduced = itemsProduced; 18 | return this; 19 | } 20 | 21 | public boolean isInterrupted() 22 | { 23 | return interrupted; 24 | } 25 | 26 | public ProducerResult setInterrupted(boolean interrupted) 27 | { 28 | this.interrupted = interrupted; 29 | return this; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /endpoint/endpoint-impl-client/src/main/java/com/comcast/pop/endpoint/client/ResourcePoolServiceClientFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.client; 2 | 3 | import com.comcast.pop.endpoint.client.resourcepool.ResourcePoolServiceConfig; 4 | import com.comcast.pop.http.api.HttpURLConnectionFactory; 5 | 6 | public class ResourcePoolServiceClientFactory 7 | { 8 | public ResourcePoolServiceClient create(ResourcePoolServiceConfig resourcePoolServiceConfig, HttpURLConnectionFactory httpUrlConnectionFactory) 9 | { 10 | return new ResourcePoolServiceClient(resourcePoolServiceConfig, httpUrlConnectionFactory); 11 | } 12 | 13 | public ResourcePoolServiceClient create(String serviceUrl, HttpURLConnectionFactory httpUrlConnectionFactory) 14 | { 15 | return new ResourcePoolServiceClient(serviceUrl, httpUrlConnectionFactory); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /handler/handler-base/src/test/java/com/comast/pop/handler/base/progress/reporter/BaseReporterThreadConfigTest.java: -------------------------------------------------------------------------------- 1 | package com.comast.pop.handler.base.progress.reporter; 2 | 3 | import org.testng.Assert; 4 | import org.testng.annotations.Test; 5 | 6 | public class BaseReporterThreadConfigTest 7 | { 8 | @Test 9 | public void testSetters() 10 | { 11 | // just a paranoia check for the templating stuff 12 | final int MAX_ATTEMPTS = 10; 13 | final int INTERVAL = 45; 14 | 15 | TestConfig testConfig = new TestConfig(); 16 | testConfig = testConfig.setMaxReportAttemptsAfterShutdown(MAX_ATTEMPTS).setUpdateIntervalMilliseconds(INTERVAL); 17 | Assert.assertEquals(testConfig.getMaxReportAttemptsAfterShutdown(), MAX_ATTEMPTS); 18 | Assert.assertEquals(testConfig.getUpdateIntervalMilliseconds(), INTERVAL); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /scheduling/scheduling-queue-impl/src/main/java/com/comcast/pop/scheduling/queue/algorithm/AgendaScheduler.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.scheduling.queue.algorithm; 2 | 3 | import com.comcast.pop.api.facility.Insight; 4 | import com.comcast.pop.scheduling.api.ReadyAgenda; 5 | import com.comcast.pop.scheduling.queue.InsightScheduleInfo; 6 | 7 | import java.util.List; 8 | 9 | public interface AgendaScheduler 10 | { 11 | /** 12 | * Returns the ReadyAgenda objects to be scheduled. 13 | * @param requestedCount The number of ReadyAgenda objects requested 14 | * @param insight The insight to schedule with 15 | * @param insightScheduleInfo The queue information for the insight 16 | * @return A list of ReadyAgenda object or null 17 | */ 18 | List schedule(int requestedCount, Insight insight, InsightScheduleInfo insightScheduleInfo); 19 | } 20 | -------------------------------------------------------------------------------- /handler/handler-sample/impl/src/main/java/com/comcast/pop/handler/sample/impl/action/ActionMap.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.sample.impl.action; 2 | 3 | import com.comcast.pop.handler.sample.api.SampleActions; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class ActionMap 9 | { 10 | private final static Map ACTION_MAP; 11 | static 12 | { 13 | ACTION_MAP = new HashMap<>(); 14 | ACTION_MAP.put(SampleActions.exception.name(), new ExceptionAction()); 15 | ACTION_MAP.put(SampleActions.log.name(), new LogAction()); 16 | } 17 | 18 | public void addAction(String actionName, BaseAction action) 19 | { 20 | ACTION_MAP.put(actionName, action); 21 | } 22 | 23 | public BaseAction getAction(String actionName) 24 | { 25 | return ACTION_MAP.get(actionName); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/data/query/resourcepool/insight/ByInsightId.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.data.query.resourcepool.insight; 2 | 3 | import com.comcast.pop.persistence.api.field.DataObjectField; 4 | import com.comcast.pop.persistence.api.query.Query; 5 | 6 | public class ByInsightId extends Query 7 | { 8 | private static final DataObjectField field = new DataObjectField("insightId"); 9 | public ByInsightId(String value) 10 | { 11 | if(value == null || value.isEmpty()) 12 | { 13 | throw new IllegalArgumentException("By Query requires a non-empty value."); 14 | } 15 | 16 | setField(field); 17 | setValue(value); 18 | setCollection(false); 19 | } 20 | 21 | public static String fieldName() 22 | { 23 | return field.name(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/data/query/scheduling/ByAgendaId.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.data.query.scheduling; 2 | 3 | import com.comcast.pop.persistence.api.field.DataObjectField; 4 | import com.comcast.pop.persistence.api.query.Query; 5 | 6 | /** 7 | */ 8 | public class ByAgendaId extends Query 9 | { 10 | private static final String fieldName = "agendaId"; 11 | public ByAgendaId(String value) 12 | { 13 | if(value == null || value.isEmpty()) 14 | { 15 | throw new IllegalArgumentException("ByAgendaId query requires a non-empty value."); 16 | } 17 | 18 | setField(new DataObjectField(fieldName)); 19 | setValue(value); 20 | setCollection(false); 21 | } 22 | 23 | public static String fieldName() 24 | { 25 | return fieldName; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /module/module-persistence/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | com.comcast.pop 5 | pop-root-module 6 | 1.0.0 7 | 8 | 9 | 4.0.0 10 | 11 | com.comcast.pop.module 12 | pop-peristence-base 13 | 1.0.0 14 | pom 15 | Parent POM for Persistence 16 | 17 | 18 | 19 | 20 | api 21 | impl 22 | aws 23 | 24 | 25 | -------------------------------------------------------------------------------- /scheduling/scheduling-monitor-impl/src/main/java/com/comcast/pop/scheduling/monitor/QueueMetricMonitorFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.scheduling.monitor; 2 | 3 | import com.comcast.pop.api.facility.Insight; 4 | import com.comcast.pop.modules.monitor.metric.MetricReporter; 5 | import com.comcast.pop.scheduling.api.ReadyAgenda; 6 | import com.comcast.pop.endpoint.client.ObjectClient; 7 | import com.comcast.pop.persistence.api.ObjectPersister; 8 | 9 | public class QueueMetricMonitorFactory 10 | { 11 | public QueueMetricMonitorFactory() 12 | { 13 | } 14 | 15 | public QueueMetricMonitor createQueueMonitor( 16 | ObjectPersister readyAgendaPersister, 17 | ObjectClient insightClient, 18 | MetricReporter reporter) 19 | { 20 | return new QueueMetricMonitor(readyAgendaPersister, insightClient, reporter); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /endpoint/endpoint-api/src/main/java/com/comcast/pop/endpoint/api/data/query/ByTitle.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.endpoint.api.data.query; 2 | 3 | import com.comcast.pop.persistence.api.field.DataObjectField; 4 | import com.comcast.pop.persistence.api.query.Query; 5 | 6 | /** 7 | * ByTitle field equality query. 8 | */ 9 | public class ByTitle extends Query 10 | { 11 | private static final DataObjectField field = new DataObjectField("title"); 12 | public ByTitle(String value) 13 | { 14 | if(value == null || value.isEmpty()) 15 | { 16 | throw new IllegalArgumentException("ByTitle query requires a non-empty value."); 17 | } 18 | 19 | setField(field); 20 | setValue(value); 21 | setCollection(false); 22 | } 23 | 24 | public static String fieldName() 25 | { 26 | return field.name(); 27 | } 28 | } 29 | 30 | -------------------------------------------------------------------------------- /handler/handler-pod-reaper/impl/src/main/java/com/comcast/pop/handler/reaper/impl/context/ReaperContext.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.handler.reaper.impl.context; 2 | 3 | import com.comast.pop.handler.base.context.BaseOperationContext; 4 | import com.comast.pop.handler.base.field.retriever.LaunchDataWrapper; 5 | import org.slf4j.Logger; 6 | import org.slf4j.LoggerFactory; 7 | 8 | /** 9 | * The context for the Reaper 10 | */ 11 | public class ReaperContext extends BaseOperationContext 12 | { 13 | private static Logger logger = LoggerFactory.getLogger(ReaperContext.class); 14 | 15 | public ReaperContext(LaunchDataWrapper launchDataWrapper) 16 | { 17 | super(launchDataWrapper); 18 | } 19 | 20 | @Override 21 | public void processUnhandledException(String s, Exception e) 22 | { 23 | logger.error("Failed to run reaper.", e); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /module/module-persistence/aws/dynamodb/src/main/java/com/comcast/pop/persistence/aws/dynamodb/retrieve/DynamoObjectRetrieverFactory.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.persistence.aws.dynamodb.retrieve; 2 | 3 | import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper; 4 | import com.comcast.pop.object.api.IdentifiedObject; 5 | import com.comcast.pop.persistence.aws.dynamodb.QueryExpression; 6 | 7 | public class DynamoObjectRetrieverFactory 8 | { 9 | public ObjectRetriever createObjectRetriever(QueryExpression queryExpression, Class dataObjectClass, DynamoDBMapper dynamoDBMapper) 10 | { 11 | if(queryExpression.hasKey()) 12 | return new DynamoQueryObjectRetriever<>(queryExpression, dataObjectClass, dynamoDBMapper); 13 | return new DynamoScanObjectRetriever<>(queryExpression, dataObjectClass, dynamoDBMapper); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /scheduling/scheduling-monitor-aws/src/main/java/com/comcast/pop/scheduling/monitor/aws/ResourcePoolMonitorRequest.java: -------------------------------------------------------------------------------- 1 | package com.comcast.pop.scheduling.monitor.aws; 2 | 3 | public class ResourcePoolMonitorRequest 4 | { 5 | private String resourcePoolId; 6 | private String stageId; 7 | 8 | public ResourcePoolMonitorRequest() 9 | { 10 | } 11 | 12 | public String getResourcePoolId() 13 | { 14 | return resourcePoolId; 15 | } 16 | 17 | public ResourcePoolMonitorRequest setResourcePoolId(String resourcePoolId) 18 | { 19 | this.resourcePoolId = resourcePoolId; 20 | return this; 21 | } 22 | 23 | public String getStageId() 24 | { 25 | return stageId; 26 | } 27 | 28 | public ResourcePoolMonitorRequest setStageId(String stageId) 29 | { 30 | this.stageId = stageId; 31 | return this; 32 | } 33 | } 34 | --------------------------------------------------------------------------------