| /* |
| ----------------------------------------------------------------------- |
| -- CHESS core plugin -- |
| -- -- |
| -- Copyright (C) 2011-2012 -- |
| -- University of Padova, ITALY -- |
| -- -- |
| -- Author: Alessandro Zovi azovi@math.unipd.it -- |
| -- -- |
| -- 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-v20.html -- |
| ----------------------------------------------------------------------- |
| */ |
| |
| package org.polarsys.chess.core.util; |
| |
| import org.eclipse.emf.common.notify.Notification; |
| import org.eclipse.papyrus.uml.tools.listeners.PapyrusStereotypeListener; |
| |
| /** |
| * This class handles the output of a {@link Notification}. |
| * |
| */ |
| public class NotificationManager { |
| |
| /** The s. */ |
| private static StringBuffer s = new StringBuffer(); |
| |
| /** |
| * Converts a {@link Notification} to string with a predefined template. |
| * |
| * @param notif the notification |
| * @return the converted notification |
| */ |
| public static /*@NonNull*/ String printNotification(/*@NonNull*/final Notification notif){ |
| StringBuffer s = new StringBuffer(); |
| s.append("Notification type: "); |
| s.append(NotificationManager.printEventType(notif)); |
| s.append("\nNotifier "); |
| s.append(notif.getNotifier()); |
| s.append("\nFeature "); |
| s.append(notif.getFeature()); |
| return s.toString(); |
| } |
| |
| |
| /** |
| * Converts the notification event type to string with a predefined template. |
| * |
| * @param notification the notification |
| * @return the converted notification event type |
| */ |
| @SuppressWarnings("deprecation") |
| public static String printEventType(final Notification notification) { |
| s.delete(0, s.length()); |
| switch (notification.getEventType()) { |
| case Notification.ADD: |
| s.append("ADD"); |
| break; |
| case Notification.ADD_MANY: |
| s.append("ADD_MANY"); |
| break; |
| case Notification.CREATE: |
| s.append("CREATE"); |
| break; |
| case Notification.EVENT_TYPE_COUNT: |
| s.append("EVENT_TYPE_COUNT"); |
| break; |
| case Notification.MOVE: |
| s.append("MOVE"); |
| break; |
| //case Notification.NO_FEATURE_ID: |
| // |
| // break; |
| case Notification.NO_INDEX: |
| s.append("NO_INDEX"); |
| break; |
| |
| case Notification.REMOVE: |
| s.append("REMOVE"); |
| break; |
| case Notification.REMOVE_MANY: |
| s.append("REMOVE_MANY"); |
| break; |
| case Notification.REMOVING_ADAPTER: |
| s.append("REMOVING_ADAPTER"); |
| break; |
| case Notification.RESOLVE: |
| s.append("RESOLVE"); |
| break; |
| case Notification.SET: |
| s.append("SET"); |
| break; |
| case Notification.UNSET: |
| s.append("UNSET"); |
| break; |
| case PapyrusStereotypeListener.APPLIED_STEREOTYPE: |
| s.append("APPLIED_STEREOTYPE"); |
| break; |
| case PapyrusStereotypeListener.UNAPPLIED_STEREOTYPE: |
| s.append("UNAPPLIED_STEREOTYPE"); |
| break; |
| case PapyrusStereotypeListener.MODIFIED_STEREOTYPE: |
| s.append("MODIFIED_STEREOTYPE"); |
| break; |
| default: |
| s.append("UNREGISTERED EVENT"); |
| break; |
| } |
| return s.toString(); |
| } |
| } |