blob: 9bc74654bb259f6e3bc2c7721d363606e609f4b5 [file]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*
*/
import { EditorConstants } from '../constants/editor.constants';
import {
PipelineElementType,
PipelineElementUnion,
} from '../model/editor.model';
import {
DataProcessorInvocation,
DataSinkInvocation,
SpDataStream,
} from '@streampipes/platform-services';
export class PipelineElementTypeUtils {
static toClassName(element: PipelineElementType): string {
if (element === PipelineElementType.DataStream) {
return EditorConstants.DATA_STREAM_IDENTIFIER;
} else if (element === PipelineElementType.DataProcessor) {
return EditorConstants.DATA_PROCESSOR_IDENTIFIER;
} else {
return EditorConstants.DATA_SINK_IDENTIFIER;
}
}
static fromClassName(className: string): PipelineElementType {
if (className === EditorConstants.DATA_STREAM_IDENTIFIER) {
return PipelineElementType.DataStream;
} else if (className === EditorConstants.DATA_PROCESSOR_IDENTIFIER) {
return PipelineElementType.DataProcessor;
} else {
return PipelineElementType.DataSink;
}
}
static toCssShortHand(elementType: PipelineElementType) {
if (PipelineElementType.DataStream === elementType) {
return 'stream';
} else if (PipelineElementType.DataProcessor === elementType) {
return 'sepa';
} else {
return 'action';
}
}
static fromType(pipelineElement: PipelineElementUnion) {
if (pipelineElement instanceof SpDataStream) {
return PipelineElementType.DataStream;
} else if (pipelineElement instanceof DataProcessorInvocation) {
return PipelineElementType.DataProcessor;
} else {
return PipelineElementType.DataSink;
}
}
static toType(elementType: PipelineElementType) {
if (PipelineElementType.DataStream === elementType) {
return SpDataStream;
} else if (PipelineElementType.DataProcessor === elementType) {
return DataProcessorInvocation;
} else {
return DataSinkInvocation;
}
}
static toString(pipelineElement: PipelineElementType): string {
return PipelineElementType[pipelineElement];
}
static parse(pipelineElement: string): PipelineElementType {
return PipelineElementType[pipelineElement];
}
}