Skip to content

Commit

Permalink
Add operation run store methods
Browse files Browse the repository at this point in the history
  • Loading branch information
samdgupi committed Sep 29, 2023
1 parent 23d301f commit 60d338b
Show file tree
Hide file tree
Showing 12 changed files with 1,155 additions and 69 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* Copyright © 2023 Cask Data, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package io.cdap.cdap.internal.operations;

import io.cdap.cdap.common.BadRequestException;
import io.cdap.cdap.proto.operationrun.OperationRunStatus;

/**
* Thrown when an operation run already exists.
*/
public class OperationRunAlreadyExistsException extends BadRequestException {

public OperationRunAlreadyExistsException(String operationId, OperationRunStatus status) {
super(String.format("Operation %s already exists with status %s", operationId, status));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*
* Copyright © 2023 Cask Data, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/

package io.cdap.cdap.internal.operations;

import io.cdap.cdap.proto.operationrun.OperationRunStatus;
import javax.annotation.Nullable;

/**
* This class defined various filters that can be applied during operation runs scanning.
*/
public class OperationRunFilter {
@Nullable
private final String operationType;
@Nullable
private final OperationRunStatus status;
// TODO(samik) status and type filters as list
public OperationRunFilter(@Nullable String operationType, @Nullable OperationRunStatus status) {
this.operationType = operationType;
this.status = status;
}

@Nullable
public String getOperationType() {
return operationType;
}

@Nullable
public OperationRunStatus getStatus() {
return status;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* Copyright © 2023 Cask Data, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/

package io.cdap.cdap.internal.operations;

import io.cdap.cdap.common.NotFoundException;

/**
* Exception thrown when an operation run with the specified id not found in the specified namespace
*/
public class OperationRunNotFoundException extends NotFoundException {
public OperationRunNotFoundException(String namespace, String runId) {
super(String.format("Operation run %s does not exist in namespace %s", runId, namespace));
}
}
Loading

0 comments on commit 60d338b

Please sign in to comment.