Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.ote.client.msg/src/org/eclipse/osee/ote/client/msg/core/internal/MessageSubscription.java')
-rw-r--r--plugins/org.eclipse.osee.ote.client.msg/src/org/eclipse/osee/ote/client/msg/core/internal/MessageSubscription.java257
1 files changed, 0 insertions, 257 deletions
diff --git a/plugins/org.eclipse.osee.ote.client.msg/src/org/eclipse/osee/ote/client/msg/core/internal/MessageSubscription.java b/plugins/org.eclipse.osee.ote.client.msg/src/org/eclipse/osee/ote/client/msg/core/internal/MessageSubscription.java
deleted file mode 100644
index 8b579397385..00000000000
--- a/plugins/org.eclipse.osee.ote.client.msg/src/org/eclipse/osee/ote/client/msg/core/internal/MessageSubscription.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.ote.client.msg.core.internal;
-
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
-
-import org.eclipse.osee.ote.client.msg.core.IMessageSubscription;
-import org.eclipse.osee.ote.client.msg.core.ISubscriptionListener;
-import org.eclipse.osee.ote.client.msg.core.db.AbstractMessageDataBase;
-import org.eclipse.osee.ote.client.msg.core.internal.state.ISubscriptionState;
-import org.eclipse.osee.ote.client.msg.core.internal.state.UnresolvedState;
-import org.eclipse.osee.ote.message.Message;
-import org.eclipse.osee.ote.message.commands.SetElementValue;
-import org.eclipse.osee.ote.message.commands.ZeroizeElement;
-import org.eclipse.osee.ote.message.enums.DataType;
-import org.eclipse.osee.ote.message.tool.MessageMode;
-
-/**
- * @author Ken J. Aguilar
- */
-public class MessageSubscription implements IMessageSubscription {
-
- private ISubscriptionState currentState = null;
- private final MessageSubscriptionService msgService;
- private final CopyOnWriteArraySet<ISubscriptionListener> listeners = new CopyOnWriteArraySet<>();
-
- private String requestedDataType;
-
-
- /**
- * creates a subscription with no reference to a message
- */
- public MessageSubscription(MessageSubscriptionService msgService) {
- this.msgService = msgService;
- }
-
- public synchronized void bind(String name) {
- bind(name, (DataType)null, MessageMode.READER);
- }
-
- public synchronized void bind(String name, DataType type, MessageMode mode) {
- currentState = new UnresolvedState(name, this, type, mode);
- }
-
- public synchronized void bind(String name, String type, MessageMode mode) {
- requestedDataType = type;
- currentState = new UnresolvedState(name, this, null, mode);
- }
-
- @Override
- public synchronized boolean isActive() {
- return currentState != null ? currentState.isActive() : false;
- }
-
- @Override
- public synchronized boolean isResolved() {
- return currentState != null ? currentState.isResolved() : false;
- }
-
- @Override
- public synchronized DataType getMemType() {
- return currentState.getMemType();
- }
-
- @Override
- public synchronized MessageMode getMessageMode() {
- return currentState.getMode();
- }
-
- @Override
- public synchronized String getMessageClassName() {
- return currentState.getMsgClassName();
- }
-
- @Override
- public synchronized Message getMessage() {
- return currentState.getMessage();
- }
-
- public synchronized void attachMessageDb(AbstractMessageDataBase msgDb) {
- currentState = currentState.onMessageDbFound(msgDb);
- }
-
- public synchronized void detachMessageDb(AbstractMessageDataBase msgDb) {
- currentState = currentState.onMessageDbClosing(msgDb);
- }
-
- public synchronized void attachService() {
- currentState = currentState.onActivated();
- }
-
- public synchronized void detachService() {
- currentState = currentState.onDeactivated();
- }
-
- private void doCancel() {
- if (currentState != null) {
- currentState.onCanceled();
- currentState = null;
- }
- }
-
- @Override
- public synchronized Set<DataType> getAvailableTypes() {
- return currentState.getAvailableTypes();
- }
-
- @Override
- public synchronized void changeMessageMode(MessageMode mode) {
- if (mode == getMessageMode()) {
- return;
- }
- String name = getMessageClassName();
- DataType type = getMemType();
- notifyCanceled();
- doCancel();
- bind(name, type, mode);
- progressState();
- }
-
- @Override
- public synchronized void cancel() {
- if (currentState == null) {
- return;
- }
- try {
- notifyCanceled();
- } finally {
- doCancel();
- msgService.removeSubscription(this);
- }
- }
-
- @Override
- public synchronized void changeMemType(DataType type) {
- if (type == getMemType()) {
- return;
- }
- String name = getMessageClassName();
- MessageMode mode = getMessageMode();
- doCancel();
- bind(name, type, mode);
- progressState();
- }
-
- private void progressState() {
- if (msgService.getMsgDatabase() != null) {
- attachMessageDb(msgService.getMsgDatabase());
- if(msgService.isConnected()){
- attachService();
- }
- }
- }
-
- @Override
- public void setElementValue(List<Object> path, String value) throws Exception {
- final SetElementValue cmd = new SetElementValue(getMessageClassName(), getMemType(), path, value, true);
- MessageServiceSupport.setElementValue(cmd);
- }
-
- @Override
- public void setElementValueNoSend(List<Object> path, String value)
- throws Exception {
- final SetElementValue cmd = new SetElementValue(getMessageClassName(), getMemType(), path, value, false);
- MessageServiceSupport.setElementValue(cmd);
- }
-
- @Override
- public void send() throws Exception {
- final SetElementValue cmd = new SetElementValue(getMessageClassName(), getMemType(), null, null, true);
- MessageServiceSupport.setElementValue(cmd);
- }
-
- @Override
- public void zeroize(List<Object> path) throws Exception {
- final ZeroizeElement cmd = new ZeroizeElement(getMessageClassName(), getMemType(), path);
- MessageServiceSupport.zeroizeElement(cmd);
- }
-
- public void notifyCanceled() {
- for (ISubscriptionListener listener : listeners) {
- listener.subscriptionCanceled(MessageSubscription.this);
- }
- }
-
- public void notifyActivated() {
- for (ISubscriptionListener listener : listeners) {
- listener.subscriptionActivated(MessageSubscription.this);
- }
- }
-
- public void notifyInvalidated() {
- for (ISubscriptionListener listener : listeners) {
- listener.subscriptionInvalidated(MessageSubscription.this);
- }
- }
-
- public void notifyResolved() {
- for (ISubscriptionListener listener : listeners) {
- listener.subscriptionResolved(MessageSubscription.this);
- }
- }
-
- public void notifyUnresolved() {
- for (ISubscriptionListener listener : listeners) {
- listener.subscriptionUnresolved(MessageSubscription.this);
- }
- }
-
- @Override
- public synchronized boolean addSubscriptionListener(ISubscriptionListener listener) {
- boolean result = listeners.add(listener);
- if (currentState == null) {
- listener.subscriptionCanceled(this);
- } else {
- if (msgService.getMsgDatabase() != null) {
- // a database is available
- if (currentState.isResolved()) {
- listener.subscriptionResolved(this);
- } else {
- listener.subscriptionInvalidated(this);
- }
- if (currentState.isActive()) {
- listener.subscriptionActivated(this);
- }
- }
-
- }
-
- return result;
- }
-
- @Override
- public boolean removeSubscriptionListener(ISubscriptionListener listener) {
- return listeners.remove(listener);
- }
-
- public String getRequestedDataType() {
- return requestedDataType;
- }
-
- public void setRequestedDataType(String requestedDataType) {
- this.requestedDataType = requestedDataType;
- }
-
-
-}

Back to the top