blob: a42aca303793d6bbfaa79de7363856ba59e856cd [file] [log] [blame]
/*
* 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.
*/
package org.apache.uima.dde.internal.provider;
import org.apache.uima.aae.deployment.AEDeploymentConstants;
import org.apache.uima.aae.deployment.AEDeploymentDescription;
import org.apache.uima.aae.deployment.AEDeploymentMetaData;
import org.apache.uima.aae.deployment.AsyncAggregateErrorConfiguration;
import org.apache.uima.aae.deployment.AsyncPrimitiveErrorConfiguration;
import org.apache.uima.aae.deployment.CollectionProcessCompleteErrors;
import org.apache.uima.aae.deployment.GetMetadataErrors;
import org.apache.uima.aae.deployment.ProcessCasErrors;
import org.apache.uima.aae.deployment.RemoteAEDeploymentMetaData;
import org.apache.uima.aae.deployment.impl.AEDelegates_Impl;
import org.apache.uima.aae.deployment.impl.AsyncAggregateErrorConfiguration_Impl;
import org.apache.uima.aae.deployment.impl.AsyncPrimitiveErrorConfiguration_Impl;
import org.apache.uima.aae.deployment.impl.DeploymentMetaData_Impl;
import org.eclipse.jface.viewers.IColorProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
public class ErrorsConfigLabelProvider extends LabelProvider implements IColorProvider,
ITableLabelProvider {
protected TableViewer viewer;
public ErrorsConfigLabelProvider(TableViewer viewer) {
super();
this.viewer = viewer;
}
public String getText(Object obj) {
if (obj instanceof AEDeploymentMetaData) {
String key = ((AEDeploymentMetaData) obj).getKey();
return (key == null ? "no name" : key);
// + " ; async=" + ((AEDeploymentMetaData) obj).isAsync();
} else if (obj instanceof RemoteAEDeploymentMetaData) {
return "Remote " + ((RemoteAEDeploymentMetaData) obj).getKey();
} else if (obj instanceof AEDelegates_Impl) {
return "Delegates";
} else if (obj instanceof AsyncAggregateErrorConfiguration_Impl) {
return "AsyncAggregateErrorConfiguration";
} else if (obj instanceof AsyncPrimitiveErrorConfiguration_Impl) {
return "AsyncPrimitiveErrorConfiguration";
} else if (obj instanceof GetMetadataErrors) {
return "GetMetadataErrors";
} else if (obj instanceof ProcessCasErrors) {
return "ProcessCasErrors";
} else if (obj instanceof CollectionProcessCompleteErrors) {
return "CollectionProcessCompleteErrors";
} else if (obj instanceof AEDeploymentDescription) {
}
if (obj != null) {
return obj.toString();
} else {
return "";
}
}
public Color getBackground(Object element) {
return null;
}
public Color getForeground(Object element) {
if (element instanceof NameValuePair) {
// int id = ((NameValuePair) element).getId();
// Object obj = ((NameValuePair) element).getParent();
// if (obj instanceof GetMetadataErrors) {
// DeploymentMetaData_Impl metaData = ((GetMetadataErrors) obj).getParent().gParentObject();
// if (metaData instanceof AEDeploymentMetaData) {
// return viewer.getControl().getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
// }
// }
if (((NameValuePair) element).getStatusFlags() == NameValuePair.STATUS_NON_EDITABLE) {
return viewer.getControl().getShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW);
}
}
return null;
}
public Image getColumnImage(Object element, int columnIndex) {
return null;
}
final static int COLUMN_NAME = 0;
final static int COLUMN_VALUE = 1;
public String getColumnText(Object obj, int index) {
if (index == COLUMN_NAME) {
if (obj instanceof NameValuePair) {
int id = ((NameValuePair) obj).getId();
if ( ((NameValuePair) obj).getParent() instanceof ProcessCasErrors) {
// Blank out Threshold Window and Action if Threshold Count = 0
ProcessCasErrors pce = (ProcessCasErrors) ((NameValuePair) obj).getParent();
if (pce.getThresholdCount() == 0) {
if (id == ProcessCasErrors.KIND_THRESHOLD_WINDOW
|| id == ProcessCasErrors.KIND_THRESHOLD_ACTION) {
return "";
}
}
} else if ( ((NameValuePair) obj).getParent() instanceof GetMetadataErrors) {
// Blank out Error Action if Timeout = 0
GetMetadataErrors gme = (GetMetadataErrors) ((NameValuePair) obj).getParent();
if (gme.getTimeout() == 0 && id == GetMetadataErrors.KIND_ERRORACTION) {
return "";
}
}
return ((NameValuePair) obj).getName();
}
return getText(obj);
} else if (index == COLUMN_VALUE) {
if (obj instanceof NameValuePair) {
int id = ((NameValuePair) obj).getId();
if ( ((NameValuePair) obj).getParent() instanceof GetMetadataErrors) {
if (id == GetMetadataErrors.KIND_TIMEOUT) {
if ( ((NameValuePair) obj).getValue() == Integer.valueOf(0) ) {
return AEDeploymentConstants.ERROR_KIND_STRING_NO_TIMEOUT;
}
} else if (id == GetMetadataErrors.KIND_MAX_RETRIES) {
if ( ((NameValuePair) obj).getValue() == Integer.valueOf(0) ) {
return AEDeploymentConstants.ERROR_KIND_STRING_NO_RETRIES;
}
} else if (id == GetMetadataErrors.KIND_ERRORACTION) {
// If Timeout=0, blank out action
GetMetadataErrors gme = (GetMetadataErrors) ((NameValuePair) obj).getParent();
if (gme.getTimeout() == 0) {
return "";
}
}
} else if ( ((NameValuePair) obj).getParent() instanceof ProcessCasErrors) {
ProcessCasErrors pce = (ProcessCasErrors) ((NameValuePair) obj).getParent();
if (id == ProcessCasErrors.KIND_TIMEOUT) {
if ( ((NameValuePair) obj).getValue() == Integer.valueOf(0) ) {
return AEDeploymentConstants.ERROR_KIND_STRING_NO_TIMEOUT;
}
} else if (id == ProcessCasErrors.KIND_MAX_RETRIES) {
if ( ((NameValuePair) obj).getValue() == Integer.valueOf(0) ) {
return AEDeploymentConstants.ERROR_KIND_STRING_NO_RETRIES;
}
} else if (id == ProcessCasErrors.KIND_THRESHOLD_COUNT) {
if ( ((NameValuePair) obj).getValue() == Integer.valueOf(0) ) {
return AEDeploymentConstants.ERROR_KIND_STRING_NO_THRESHOLD_COUNT;
}
} else if (id == ProcessCasErrors.KIND_THRESHOLD_WINDOW) {
// Blank out Threshold Window and Action if Threshold Count = 0
if (pce.getThresholdCount() == 0) {
return "";
} else {
if ( ((NameValuePair) obj).getValue() == Integer.valueOf(0) ) {
return AEDeploymentConstants.ERROR_KIND_STRING_NO_THRESHOLD_WINDOW;
}
}
} else if (id == ProcessCasErrors.KIND_THRESHOLD_ACTION) {
// Blank out Threshold Window and Action if Threshold Count = 0
if (pce.getThresholdCount() == 0) {
return "";
}
}
} else if ( ((NameValuePair) obj).getParent() instanceof CollectionProcessCompleteErrors) {
if (id == CollectionProcessCompleteErrors.KIND_TIMEOUT) {
if ( ((NameValuePair) obj).getValue() == Integer.valueOf(0) ) {
return AEDeploymentConstants.ERROR_KIND_STRING_NO_TIMEOUT;
}
}
}
return ((NameValuePair) obj).getValue().toString();
}
}
return null;
}
}