Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/synchronization/PF2FCSynchronizer.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/synchronization/PF2FCSynchronizer.java218
1 files changed, 0 insertions, 218 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/synchronization/PF2FCSynchronizer.java b/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/synchronization/PF2FCSynchronizer.java
deleted file mode 100644
index 88b4953fe..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.facesconfig.ui/src/org/eclipse/jst/jsf/facesconfig/ui/pageflow/synchronization/PF2FCSynchronizer.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 Sybase, Inc. and others.
- *
- * 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:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.facesconfig.ui.pageflow.synchronization;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.notify.impl.AdapterImpl;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.InternalEObject;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.facesconfig.emf.NavigationCaseType;
-import org.eclipse.jst.jsf.facesconfig.ui.EditorPlugin;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowElement;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowLink;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowNode;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPackage;
-import org.eclipse.jst.jsf.facesconfig.ui.pageflow.model.PageflowPage;
-
-/**
- * The adapter that listens to modification of pageflow and updates faces-config
- * as needed.
- *
- * @author hmeng
- *
- */
-public class PF2FCSynchronizer extends AdapterImpl {
- FC2PFTransformer tranformer;
-
- private final boolean DEBUG = false;
-
- private static final Logger logger = EditorPlugin
- .getLogger(PF2FCSynchronizer.class);
-
- /**
- * @param tranformer
- */
- public PF2FCSynchronizer(FC2PFTransformer tranformer) {
- this.tranformer = tranformer;
- }
-
- public Notifier getTarget() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public void setTarget(Notifier newTarget) {
- // TODO Auto-generated method stub
-
- }
-
- public boolean isAdapterForType(Object type) {
- return type == PF2FCSynchronizer.class;
- }
-
- public void notifyChanged(Notification notification) {
- if (!isProcessorFor(notification)) {
- return;
- }
- tranformer.setInEvent(true);
- try {
- if (!(notification.getNotifier() instanceof PageflowElement)) {
- return;
- }
- processChange(notification);
- } catch (Exception e) {
- logger.error(e);
- } finally {
- if (notification.getEventType() != Notification.REMOVING_ADAPTER) {
- tranformer.refreshPFAdapter(tranformer.getPageflow());
- tranformer.refreshFCAdapter(tranformer.getFacesConfig());
- }
- tranformer.setInEvent(false);
- }
- }
-
- private boolean isProcessorFor(Notification notification) {
- return tranformer.isListenToNotify();
- }
-
- private void processChange(Notification notification) {
- PageflowElement element;
- element = (PageflowElement) notification.getNotifier();
- int type = notification.getEventType();
- switch (type) {
- case Notification.ADD: {
- int featureId = notification.getFeatureID(PageflowPackage.class);
- switch (featureId) {
- case PageflowPackage.PAGEFLOW_NODE__OUTLINKS:
- addOutLink(notification, element);
- break;
- case PageflowPackage.PAGEFLOW_NODE__INLINKS:
- addInLink(notification, element);
- break;
- case PageflowPackage.PAGEFLOW:
- break;
- }
- if (!tranformer.isNeedBatchOperations()) {
- updateAndNotify(notification);
- }
- break;
- }
- case Notification.SET:
- if (notification.getNewValue() != null) {
- processSet(notification, element);
- updateAndNotify(notification);
- }
- break;
- case Notification.REMOVE:
- case Notification.REMOVE_MANY: {
- int featureId = notification.getFeatureID(PageflowPackage.class);
- switch (featureId) {
- case PageflowPackage.PF_PAGE:
- // removePage(notification, (PageflowPage) element);
- break;
- case PageflowPackage.PAGEFLOW_NODE__OUTLINKS:
- case PageflowPackage.PAGEFLOW_NODE__INLINKS:
- removeLink(notification, element);
- break;
- }
- if (!tranformer.isNeedBatchOperations()) {
- updateAndNotify(notification);
- }
- break;
- }
- }
- }
-
- private void processSet(Notification notification, PageflowElement element) {
- if (notification.getNewValue() != null) {
- int value = notification.getFeatureID(PageflowPackage.class);
- if (element instanceof PageflowPage) {
- setProperties(notification, element, value);
- } else if (element instanceof PageflowLink) {
- if (DEBUG)
- System.out.println("The link property is changed"); //$NON-NLS-1$
- setProperties(notification, element, value);
- }
- }
- }
-
- private void setProperties(Notification notification,
- PageflowElement element, int value) {
- if (notification.getFeature() == PageflowPackage.eINSTANCE
- .getPFLink_Source()) {
- if (notification.getNewValue() instanceof String) {
- tranformer.changePFLinkStart((PageflowLink) element,
- (String) notification.getNewValue());
- }
- } else if (notification.getFeature() == PageflowPackage.eINSTANCE
- .getPFLink_Target()) {
- if (notification.getNewValue() instanceof String) {
- tranformer.changePFLinkEnd((PageflowLink) element,
- (String) notification.getNewValue());
- }
- } else {
- element.getFCElements().set(
- (EStructuralFeature) notification.getFeature(),
- notification.getNewValue());
- }
- }
-
- private void addInLink(Notification notification, PageflowElement element) {
- Object value = notification.getNewValue();
- PageflowLink link = (PageflowLink) value;
- if (element instanceof PageflowPage) {
- PageflowNode source = link.getSource();
- if (source instanceof PageflowPage) {
- tranformer.addLink((PageflowPage) source,
- (PageflowPage) element, link);
- }
- }
-
- }
-
- private void addOutLink(Notification notification, PageflowElement element) {
- Object value = notification.getNewValue();
- // for outLink remove, only target is referenced.
- PageflowLink link = (PageflowLink) value;
- if (element instanceof PageflowPage) {
- PageflowNode target_ = link.getTarget();
- // page->page
- if (target_ instanceof PageflowPage) {
- tranformer.addLink((PageflowPage) element,
- (PageflowPage) target_, link);
- }
- }
- }
-
- private void removeLink(Notification notification, PageflowElement element) {
- Object value = notification.getOldValue();
- PageflowLink link = (PageflowLink) value;
-
- if (!link.getFCElements().isEmpty()) {
- NavigationCaseType caseFC = (NavigationCaseType) link
- .getFCElements().getData().get(0);
- if (caseFC != null)
- tranformer.removeCase(caseFC);
- }
- link.update();
- }
-
- private void updateAndNotify(Notification notification) {
- tranformer.getPageflow().notifyModelChanged(
- new ENotificationImpl((InternalEObject) notification
- .getNotifier(), Notification.SET,
- PageflowPackage.PAGEFLOW, null, null));
- }
-}

Back to the top