JBoss Tools SVN: r16898 - in trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test: WebContent/pages and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: vrubezhny
Date: 2009-07-30 09:31:41 -0400 (Thu, 30 Jul 2009)
New Revision: 16898
Added:
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/.settings/org.jboss.tools.jst.web.xml
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/WebContent/pages/greeting1.xhtml
Modified:
trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/WebContent/pages/greeting.jsp
Log:
JBIDE-4660 Update and correct the CA-related JUnit tests after the new-style CA is applyed.
Rolling back the test projects for JUnit Test JsfJbide1704Test
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/.settings/org.jboss.tools.jst.web.xml
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/.settings/org.jboss.tools.jst.web.xml (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/.settings/org.jboss.tools.jst.web.xml 2009-07-30 13:31:41 UTC (rev 16898)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<file-systems VERSION="2.0.0" application-name="JsfJbide1704Test"
+ model-entity="FileSystems" workspace-home="./WebContent/WEB-INF">
+ <file-system NAME="WEB-INF" location="%workspace.home%" model-entity="FileSystemFolder"/>
+ <file-system NAME="WEB-ROOT" info="Content-Type=Web"
+ location="%workspace.home%/.." model-entity="FileSystemFolder"/>
+ <file-system NAME="src" location="%workspace.home%/../../JavaSource" model-entity="FileSystemFolder"/>
+ <file-system NAME="lib" location="%workspace.home%/lib" model-entity="FileSystemFolder"/>
+ <file-system NAME="classes" location="%workspace.home%/classes" model-entity="FileSystemFolder"/>
+ <file-system NAME="lib-commons-beanutils.jar" info="hidden=yes"
+ location="%workspace.home%/lib/commons-beanutils.jar" model-entity="FileSystemJar"/>
+ <file-system NAME="lib-commons-collections.jar" info="hidden=yes"
+ location="%workspace.home%/lib/commons-collections.jar" model-entity="FileSystemJar"/>
+ <file-system NAME="lib-commons-digester.jar" info="hidden=yes"
+ location="%workspace.home%/lib/commons-digester.jar" model-entity="FileSystemJar"/>
+ <file-system NAME="lib-commons-logging.jar" info="hidden=yes"
+ location="%workspace.home%/lib/commons-logging.jar" model-entity="FileSystemJar"/>
+ <file-system NAME="lib-jstl.jar" info="hidden=yes"
+ location="%workspace.home%/lib/jstl.jar" model-entity="FileSystemJar"/>
+ <file-system NAME="lib-standard.jar" info="hidden=yes"
+ location="%workspace.home%/lib/standard.jar" model-entity="FileSystemJar"/>
+ <file-system NAME="lib-jsf-facelets.jar"
+ location="%workspace.home%/lib/jsf-facelets.jar" model-entity="FileSystemJar"/>
+ <file-system NAME="flet001" location="%eclipse.project%" model-entity="FileSystemFolder"/>
+ <file-system NAME="lib-common-annotations.jar" info="hidden=yes"
+ location="%workspace.home%/lib/common-annotations.jar" model-entity="FileSystemJar"/>
+ <file-system NAME="lib-jsf-tlds.jar" info="hidden=yes"
+ location="%workspace.home%/lib/jsf-tlds.jar" model-entity="FileSystemJar"/>
+ <web SERVLET_VERSION="2.5" model-entity="JstWeb" model-path="/web.xml">
+ <module URI="/WEB-INF/faces-config.xml" model-entity="WebJSFModule"
+ model-path="/faces-config.xml" root="WEB-ROOT" src="src"/>
+ </web>
+</file-systems>
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/.settings/org.jboss.tools.jst.web.xml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/WebContent/pages/greeting.jsp
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/WebContent/pages/greeting.jsp 2009-07-30 13:21:46 UTC (rev 16897)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/WebContent/pages/greeting.jsp 2009-07-30 13:31:41 UTC (rev 16898)
@@ -1,20 +1,20 @@
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
-
-<html>
-<head>
- <title>Facelets Greeting Page</title>
-</head>
-<body>
- <f:view>
- <f:loadBundle basename="resources" var="msg" />
-
- <strong>
- <h:outputText value="#{msg.greeting}" />
-
- <h:outputText value="#{person.name}" />
- <h:outputText value="!" />
- </strong>
- </f:view>
-</body>
+
+<html>
+<head>
+ <title>Facelets Greeting Page</title>
+</head>
+<body>
+ <f:view>
+ <f:loadBundle basename="resources" var="msg" />
+
+ <strong>
+ <h:outputText value="#{msg.greeting}" />
+
+ <h:outputText value="#{person.name}" />
+ <h:outputText value="!" />
+ </strong>
+ </f:view>
+</body>
</html>
\ No newline at end of file
Added: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/WebContent/pages/greeting1.xhtml
===================================================================
--- trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/WebContent/pages/greeting1.xhtml (rev 0)
+++ trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/WebContent/pages/greeting1.xhtml 2009-07-30 13:31:41 UTC (rev 16898)
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core">
+
+ <f:loadBundle basename="resources" var="msg" />
+ <ui:composition template="/templates/common.xhtml">
+ <ui:define name="pageTitle">Greeting to User</ui:define>
+ <ui:define name="pageHeader">Facelets Greeting Page</ui:define>
+ <ui:define name="body">
+ <h:outputText value="#{msg.greeting}" />
+ #{msg.greeting} #{person.name}!
+ </ui:define>
+ </ui:composition>
+</html>
\ No newline at end of file
Property changes on: trunk/jst/tests/org.jboss.tools.jst.jsp.test/projects/JsfJbide1704Test/WebContent/pages/greeting1.xhtml
___________________________________________________________________
Name: svn:mime-type
+ text/plain
14 years, 8 months
JBoss Tools SVN: r16897 - in trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal: mapping/details and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2009-07-30 09:21:46 -0400 (Thu, 30 Jul 2009)
New Revision: 16897
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateAbstractInheritanceComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateDiscriminatorColumnComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java
Removed:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateAbstractInheritanceComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateIdMappingComposite.java
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaInheritanceComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpaUiFactory.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4665
Classes moved to right packages
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateAbstractInheritanceComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateAbstractInheritanceComposite.java 2009-07-30 13:09:13 UTC (rev 16896)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateAbstractInheritanceComposite.java 2009-07-30 13:21:46 UTC (rev 16897)
@@ -1,296 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 Oracle. 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:
- * Oracle - initial API and implementation
- * Code copied from org.eclipse.jpt.ui.internal.mappings.details.AbstractInheritanceComposite
- ******************************************************************************/
-package org.jboss.tools.hibernate.jpt.ui.internal.java.details;
-
-import java.util.Collection;
-
-import org.eclipse.jpt.core.context.Entity;
-import org.eclipse.jpt.core.context.InheritanceType;
-import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages;
-import org.eclipse.jpt.ui.internal.mappings.db.ColumnCombo;
-import org.eclipse.jpt.ui.internal.mappings.details.AbstractEntityComposite;
-import org.eclipse.jpt.ui.internal.mappings.details.AbstractInheritanceComposite;
-import org.eclipse.jpt.ui.internal.util.ControlEnabler;
-import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.ui.internal.widgets.FormPane;
-import org.eclipse.jpt.utility.internal.StringConverter;
-import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.PropertyListValueModelAdapter;
-import org.eclipse.jpt.utility.model.value.ListValueModel;
-import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateEntity;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | ---------------------------------------------------- |
- * | Strategy: | EnumComboViewer |v| |
- * | ---------------------------------------------------- |
- * | ---------------------------------------------------- |
- * | Value: | I |v| |
- * | ---------------------------------------------------- |
- * | |
- * | > Discriminator Column |
- * | |
- * | ---------------------------------------------------- |
- * | Name: | ColumnCombo |v| |
- * | ---------------------------------------------------- |
- * | ---------------------------------------------------- |
- * | Formula: | Text |v| |
- * | ---------------------------------------------------- |
- * | ---------------------------------------------------- |
- * | Type: | EnumComboViewer |v| |
- * | ---------------------------------------------------- |
- * | ---------------------------------------------------- |
- * | Column Definition: | I | |
- * | ---------------------------------------------------- |
- * | ------------- |
- * | Length: | I |I| |
- * | ------------- |
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | PrimaryKeyJoinColumnsComposite | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see Entity
- * @see AbstractEntityComposite - The parent container
- * @see ColumnCombo
- * @see EnumComboViewer
- * @see PrimaryKeyJoinColumnsComposite
- *
- * @version 2.0
- * @since 2.0
- */
-@SuppressWarnings("nls")
-public abstract class HibernateAbstractInheritanceComposite<T extends HibernateEntity> extends FormPane<T> {
-
- /**
- * A key used to represent the default value, this is required to convert
- * the selected item from a combo to <code>null</code>. This key is most
- * likely never typed the user and it will help to convert the value to
- * <code>null</code> when it's time to set the new selected value into the
- * model.
- */
- protected static String DEFAULT_KEY = "?!#!?#?#?default?#?!#?!#?";
-
- protected static String NONE_KEY = "?!#!?#?#?none?#?!#?!#?";
-
- /**
- * Creates a new <code>InheritanceComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public HibernateAbstractInheritanceComposite(FormPane<? extends T> parentPane,
- Composite parent) {
-
- super(parentPane, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- int groupBoxMargin = getGroupBoxMargin();
-
- Composite subPane = addSubPane(
- container, 0, groupBoxMargin, 0, groupBoxMargin
- );
-
- // Strategy widgets
- addLabeledComposite(
- subPane,
- JptUiMappingsMessages.InheritanceComposite_strategy,
- addStrategyCombo(subPane),
- JpaHelpContextIds.ENTITY_INHERITANCE_STRATEGY
- );
-
- // Discrinator Value widgets
- CCombo discriminatorValueCombo = addEditableCCombo(
- subPane,
- buildDiscriminatorValueListHolder(),
- buildDiscriminatorValueHolder(),
- buildDiscriminatorValueConverter()
- );
- Label discriminatorValueLabel = addLabel(
- subPane,
- JptUiMappingsMessages.InheritanceComposite_discriminatorValue
- );
- addLabeledComposite(
- subPane,
- discriminatorValueLabel,
- discriminatorValueCombo.getParent(),
- null,
- JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_VALUE
- );
-
- new ControlEnabler(buildDiscriminatorValueEnabledHolder(), discriminatorValueCombo, discriminatorValueLabel);
-
- new HibernateDiscriminatorColumnComposite<HibernateEntity>(this, container);
-
- // Primary Key Join Columns widgets
- addPrimaryKeyJoinColumnsComposite(addSubPane(container, 5));
- }
-
- protected WritablePropertyValueModel<Boolean> buildDiscriminatorValueEnabledHolder() {
- return new PropertyAspectAdapter<Entity, Boolean>(getSubjectHolder(), Entity.SPECIFIED_DISCRIMINATOR_VALUE_IS_ALLOWED_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return Boolean.valueOf(this.subject.specifiedDiscriminatorValueIsAllowed());
- }
- };
- }
-
- private ListValueModel<String> buildDefaultDiscriminatorListValueHolder() {
- return new PropertyListValueModelAdapter<String>(
- buildDefaultDiscriminatorValueHolder()
- );
- }
-
- private WritablePropertyValueModel<String> buildDefaultDiscriminatorValueHolder() {
- return new PropertyAspectAdapter<Entity, String>(getSubjectHolder(), Entity.DEFAULT_DISCRIMINATOR_VALUE_PROPERTY, Entity.DISCRIMINATOR_VALUE_IS_UNDEFINED_PROPERTY) {
- @Override
- protected String buildValue_() {
- String value = this.subject.getDefaultDiscriminatorValue();
- if (value == null && this.subject.discriminatorValueIsUndefined()) {
- return NONE_KEY;
- }
-
- if (value == null) {
- value = DEFAULT_KEY;
- }
- else {
- value = DEFAULT_KEY + value;
- }
-
- return value;
- }
- };
- }
-
- private StringConverter<String> buildDiscriminatorValueConverter() {
- return new StringConverter<String>() {
- public String convertToString(String value) {
-
- if (getSubject() == null) {
- return null;
- }
-
- if (value == null) {
- value = getSubject().getDefaultDiscriminatorValue();
- if (value == null && getSubject().discriminatorValueIsUndefined()) {
- value = NONE_KEY;
- }
- else {
- value = (value != null) ?
- DEFAULT_KEY + value
- :
- DEFAULT_KEY;
- }
- }
- if (value.startsWith(DEFAULT_KEY)) {
- String defaultName = value.substring(DEFAULT_KEY.length());
-
- if (defaultName.length() > 0) {
- value = NLS.bind(
- JptUiMappingsMessages.DefaultWithOneParam,
- defaultName
- );
- }
- else {
- value = JptUiMappingsMessages.ProviderDefault;
- }
- }
- if (value.startsWith(NONE_KEY)) {
- value = JptUiMappingsMessages.NoneSelected;
- }
- return value;
- }
- };
- }
-
- private WritablePropertyValueModel<String> buildDiscriminatorValueHolder() {
- return new PropertyAspectAdapter<Entity, String>(getSubjectHolder(), Entity.SPECIFIED_DISCRIMINATOR_VALUE_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getSpecifiedDiscriminatorValue();
- }
-
- @Override
- protected void setValue_(String value) {
-
- // Convert the default value or an empty string to null
- if ((value != null) &&
- ((value.length() == 0) || value.startsWith(DEFAULT_KEY) || value.startsWith(NONE_KEY))) {
-
- value = null;
- }
-
- this.subject.setSpecifiedDiscriminatorValue(value);
- }
- };
- }
-
- private ListValueModel<String> buildDiscriminatorValueListHolder() {
- return buildDefaultDiscriminatorListValueHolder();
- }
-
- private EnumFormComboViewer<Entity, InheritanceType> addStrategyCombo(Composite container) {
-
- return new EnumFormComboViewer<Entity, InheritanceType>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(Entity.DEFAULT_INHERITANCE_STRATEGY_PROPERTY);
- propertyNames.add(Entity.SPECIFIED_INHERITANCE_STRATEGY_PROPERTY);
- }
-
- @Override
- protected InheritanceType[] getChoices() {
- return InheritanceType.values();
- }
-
- @Override
- protected InheritanceType getDefaultValue() {
- return getSubject().getDefaultInheritanceStrategy();
- }
-
- @Override
- protected String displayString(InheritanceType value) {
- return buildDisplayString(
- JptUiMappingsMessages.class,
- AbstractInheritanceComposite.class,
- value
- );
- }
-
- @Override
- protected InheritanceType getValue() {
- return getSubject().getSpecifiedInheritanceStrategy();
- }
-
- @Override
- protected void setValue(InheritanceType value) {
- getSubject().setSpecifiedInheritanceStrategy(value);
- }
- };
- }
-
- protected abstract void addPrimaryKeyJoinColumnsComposite(Composite container);
-}
\ No newline at end of file
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java 2009-07-30 13:09:13 UTC (rev 16896)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java 2009-07-30 13:21:46 UTC (rev 16897)
@@ -1,433 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is 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
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.jpt.ui.internal.java.details;
-
-import java.util.Collection;
-
-import org.eclipse.jpt.core.context.DiscriminatorColumn;
-import org.eclipse.jpt.core.context.DiscriminatorType;
-import org.eclipse.jpt.core.context.Entity;
-import org.eclipse.jpt.core.context.NamedColumn;
-import org.eclipse.jpt.db.Table;
-import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages;
-import org.eclipse.jpt.ui.internal.mappings.db.ColumnCombo;
-import org.eclipse.jpt.ui.internal.mappings.details.AbstractEntityComposite;
-import org.eclipse.jpt.ui.internal.mappings.details.DiscriminatorColumnComposite;
-import org.eclipse.jpt.ui.internal.util.LabeledControlUpdater;
-import org.eclipse.jpt.ui.internal.util.LabeledLabel;
-import org.eclipse.jpt.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.jpt.ui.internal.widgets.FormPane;
-import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Spinner;
-import org.jboss.tools.hibernate.jpt.core.internal.context.DiscriminatorFormula;
-import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateEntity;
-import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateUIMappingMessages;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | > Discriminator Column |
- * | |
- * | ---------------------------------------------------- |
- * | Name: | ColumnCombo |v| |
- * | ---------------------------------------------------- |
- * | ---------------------------------------------------- |
- * | Formula: | Text |v| |
- * | ---------------------------------------------------- |
- * | ---------------------------------------------------- |
- * | Type: | EnumComboViewer |v| |
- * | ---------------------------------------------------- |
- * | > Details
- * | ---------------------------------------------------- |
- * | Column Definition: | I | |
- * | ---------------------------------------------------- |
- * | ------------- |
- * | Length: | I |I| |
- * | ------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see Entity
- * @see AbstractEntityComposite - The parent container
- * @see ColumnCombo
- * @see EnumComboViewer
- * @see PrimaryKeyJoinColumnsComposite
- *
- * @version 2.0
- * @since 2.0
- */
-public class HibernateDiscriminatorColumnComposite <T extends HibernateEntity> extends FormPane<T> {
-
- /**
- * Creates a new <code>InheritanceComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param parent The parent container
- */
- public HibernateDiscriminatorColumnComposite(FormPane<? extends T> parentPane,
- Composite parent) {
-
- super(parentPane, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- // Discriminator Column sub-pane
- Composite discriminatorColumnContainer = addTitledGroup(
- addSubPane(container, 10),
- JptUiMappingsMessages.InheritanceComposite_discriminatorColumnGroupBox
- );
-
- PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder =
- buildDiscriminatorColumnHolder();
-
- // Name widgets
- addLabeledComposite(
- discriminatorColumnContainer,
- JptUiMappingsMessages.DiscriminatorColumnComposite_name,
- addDiscriminatorColumnCombo(container, discriminatorColumnHolder),
- JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_COLUMN
- );
-
- // Formula widgets
- addLabeledText(
- discriminatorColumnContainer,
- HibernateUIMappingMessages.HibernateDiscriminatorColumnComposite_formula,
- buildDiscriminatorFormulaHolder(),
- null//TODO help
- );
-
- // Discriminator Type widgets
- addLabeledComposite(
- discriminatorColumnContainer,
- JptUiMappingsMessages.DiscriminatorColumnComposite_discriminatorType,
- addDiscriminatorTypeCombo(container, discriminatorColumnHolder),
- JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_TYPE
- );
-
- container = addCollapsableSubSection(
- discriminatorColumnContainer,
- JptUiMappingsMessages.InheritanceComposite_detailsGroupBox,
- new SimplePropertyValueModel<Boolean>(Boolean.FALSE)
- );
-
- new DetailsComposite(this, discriminatorColumnHolder, addSubPane(container, 0, 16));
-
- new PaneEnabler(buildDiscriminatorColumnEnabledHolder(), this);
- }
-
-
- private ColumnCombo<DiscriminatorColumn> addDiscriminatorColumnCombo(
- Composite container,
- PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder) {
-
- return new ColumnCombo<DiscriminatorColumn>(
- this,
- discriminatorColumnHolder,
- container)
- {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(NamedColumn.SPECIFIED_NAME_PROPERTY);
- propertyNames.add(NamedColumn.DEFAULT_NAME_PROPERTY);
- }
-
- @Override
- protected String getDefaultValue() {
- return getSubject().getDefaultName();
- }
-
- @Override
- protected void setValue(String value) {
- getSubject().setSpecifiedName(value);
- }
-
- @Override
- protected Table getDbTable_() {
- return getSubject().getDbTable();
- }
-
- @Override
- protected String getValue() {
- return getSubject().getSpecifiedName();
- }
-
- @Override
- protected String buildNullDefaultValueEntry() {
- return JptUiMappingsMessages.NoneSelected;
- }
- };
- }
-
-
- private PropertyValueModel<DiscriminatorColumn> buildDiscriminatorColumnHolder() {
- return new PropertyAspectAdapter<Entity, DiscriminatorColumn>(getSubjectHolder()) {
- @Override
- protected DiscriminatorColumn buildValue_() {
- return this.subject.getDiscriminatorColumn();
- }
- };
- }
-
-
- private WritablePropertyValueModel<String> buildDiscriminatorFormulaHolder() {
- return new PropertyAspectAdapter<HibernateEntity, String>(getSubjectHolder(), DiscriminatorFormula.VALUE_PROPERTY) {
- @Override
- protected String buildValue_() {
- DiscriminatorFormula df = this.subject.getDiscriminatorFormula();
- return df == null ? null : df.getValue();
- }
-
- @Override
- protected void setValue_(String value) {
- if ("".equals(value)) value = null; //$NON-NLS-1$
- DiscriminatorFormula df = this.subject.getDiscriminatorFormula();
- if (value == null && df != null){
- this.subject.removeDiscriminatorFormula();
- } else {
- if (df == null){
- df = this.subject.addDiscriminatorFormula();
- }
- df.setValue(value);
- }
- }
- };
- }
-
- private EnumFormComboViewer<DiscriminatorColumn, DiscriminatorType> addDiscriminatorTypeCombo(
- Composite container,
- PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder) {
-
- return new EnumFormComboViewer<DiscriminatorColumn, DiscriminatorType>(
- this,
- discriminatorColumnHolder,
- container)
- {
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(DiscriminatorColumn.DEFAULT_DISCRIMINATOR_TYPE_PROPERTY);
- propertyNames.add(DiscriminatorColumn.SPECIFIED_DISCRIMINATOR_TYPE_PROPERTY);
- }
-
- @Override
- protected DiscriminatorType[] getChoices() {
- return DiscriminatorType.values();
- }
-
- @Override
- protected DiscriminatorType getDefaultValue() {
- return getSubject().getDefaultDiscriminatorType();
- }
-
- @Override
- protected String displayString(DiscriminatorType value) {
- return buildDisplayString(
- JptUiMappingsMessages.class,
- DiscriminatorColumnComposite.class,
- value
- );
- }
-
- @Override
- protected String nullDisplayString() {
- return JptUiMappingsMessages.NoneSelected;
- }
-
- @Override
- protected DiscriminatorType getValue() {
- return getSubject().getSpecifiedDiscriminatorType();
- }
-
- @Override
- protected void setValue(DiscriminatorType value) {
- getSubject().setSpecifiedDiscriminatorType(value);
- }
- };
- }
-
- protected WritablePropertyValueModel<Boolean> buildDiscriminatorColumnEnabledHolder() {
- return new PropertyAspectAdapter<Entity, Boolean>(getSubjectHolder(), Entity.SPECIFIED_DISCRIMINATOR_COLUMN_IS_ALLOWED_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return Boolean.valueOf(this.subject.specifiedDiscriminatorColumnIsAllowed());
- }
- };
- }
-
- protected class DetailsComposite extends FormPane<DiscriminatorColumn> {
- public DetailsComposite(FormPane<?> parentPane,
- PropertyValueModel<? extends DiscriminatorColumn> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent, false);
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- // Length widgets
- Spinner lengthSpinner = addLabeledSpinner(
- container,
- JptUiMappingsMessages.ColumnComposite_length,
- buildLengthHolder(),
- -1,
- -1,
- Integer.MAX_VALUE,
- addDefaultLengthLabel(container),
- JpaHelpContextIds.MAPPING_COLUMN_LENGTH
- );
-
- updateGridData(container, lengthSpinner);
-
- // Column Definition widgets
- addLabeledText(
- container,
- JptUiMappingsMessages.ColumnComposite_columnDefinition,
- buildColumnDefinitionHolder(getSubjectHolder())
- );
- }
-
- private WritablePropertyValueModel<Integer> buildLengthHolder() {
-
- return new PropertyAspectAdapter<DiscriminatorColumn, Integer>(getSubjectHolder(), DiscriminatorColumn.SPECIFIED_LENGTH_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return this.subject.getSpecifiedLength();
- }
-
- @Override
- protected void setValue_(Integer value) {
- if (value.intValue() == -1) {
- value = null;
- }
- this.subject.setSpecifiedLength(value);
- }
- };
- }
-
- private Control addDefaultLengthLabel(Composite container) {
-
- Label label = addLabel(
- container,
- JptUiMappingsMessages.DefaultEmpty
- );
-
- new LabeledControlUpdater(
- new LabeledLabel(label),
- buildDefaultLengthLabelHolder()
- );
-
- return label;
- }
-
- private PropertyValueModel<String> buildDefaultLengthLabelHolder() {
-
- return new TransformationPropertyValueModel<Integer, String>(buildDefaultLengthHolder()) {
-
- @Override
- protected String transform(Integer value) {
-
- int defaultValue = (getSubject() != null) ? getSubject().getDefaultLength() :
- DiscriminatorColumn.DEFAULT_LENGTH;
-
- return NLS.bind(
- JptUiMappingsMessages.DefaultWithOneParam,
- Integer.valueOf(defaultValue)
- );
- }
- };
- }
-
- private WritablePropertyValueModel<Integer> buildDefaultLengthHolder() {
- return new PropertyAspectAdapter<DiscriminatorColumn, Integer>(getSubjectHolder(), DiscriminatorColumn.DEFAULT_LENGTH_PROPERTY) {
- @Override
- protected Integer buildValue_() {
- return Integer.valueOf(this.subject.getDefaultLength());
- }
-
- @Override
- protected synchronized void subjectChanged() {
- Object oldValue = this.getValue();
- super.subjectChanged();
- Object newValue = this.getValue();
-
- // Make sure the default value is appended to the text
- if (oldValue == newValue && newValue == null) {
- this.fireAspectChange(Integer.valueOf(Integer.MIN_VALUE), newValue);
- }
- }
- };
- }
-
- private WritablePropertyValueModel<String> buildColumnDefinitionHolder(PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder) {
-
- return new PropertyAspectAdapter<DiscriminatorColumn, String>(discriminatorColumnHolder, NamedColumn.COLUMN_DEFINITION_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getColumnDefinition();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- this.subject.setColumnDefinition(value);
- }
- };
- }
-
- /**
- * Changes the layout of the given container by changing which widget will
- * grab the excess of horizontal space. By default, the center control grabs
- * the excess space, we change it to be the right control.
- *
- * @param container The container containing the controls needing their
- * <code>GridData</code> to be modified from the default values
- * @param spinner The spinner that got created
- */
- private void updateGridData(Composite container, Spinner spinner) {
-
- // It is possible the spinner's parent is not the container of the
- // label, spinner and right control (a pane is sometimes required for
- // painting the spinner's border)
- Composite paneContainer = spinner.getParent();
-
- while (container != paneContainer.getParent()) {
- paneContainer = paneContainer.getParent();
- }
-
- Control[] controls = paneContainer.getChildren();
-
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = false;
- gridData.horizontalAlignment = GridData.BEGINNING;
- controls[1].setLayoutData(gridData);
-
- controls[2].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- removeAlignRight(controls[2]);
- }
-
- }
-}
\ No newline at end of file
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateIdMappingComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateIdMappingComposite.java 2009-07-30 13:09:13 UTC (rev 16896)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateIdMappingComposite.java 2009-07-30 13:21:46 UTC (rev 16897)
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is 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
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.jpt.ui.internal.java.details;
-
-import org.eclipse.jpt.core.context.Column;
-import org.eclipse.jpt.core.context.Converter;
-import org.eclipse.jpt.core.context.ConvertibleMapping;
-import org.eclipse.jpt.core.context.IdMapping;
-import org.eclipse.jpt.core.context.TemporalConverter;
-import org.eclipse.jpt.ui.WidgetFactory;
-import org.eclipse.jpt.ui.details.JpaComposite;
-import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages;
-import org.eclipse.jpt.ui.internal.mappings.details.ColumnComposite;
-import org.eclipse.jpt.ui.internal.mappings.details.TemporalTypeComposite;
-import org.eclipse.jpt.ui.internal.widgets.FormPane;
-import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel;
-import org.eclipse.jpt.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMapping;
-import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateGenerationComposite;
-
-/**
- * @author Dmitry Geraskov
- *
- */
-public class HibernateIdMappingComposite extends FormPane<HibernateJavaIdMapping>
-implements JpaComposite{
- /**
- * Creates a new <code>HibernateIdMappingComposite</code>.
- *
- * @param subjectHolder The holder of the subject <code>IdMapping</code>
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public HibernateIdMappingComposite(PropertyValueModel<? extends HibernateJavaIdMapping> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- private PropertyValueModel<? extends Column> buildColumnHolder() {
- return new TransformationPropertyValueModel<IdMapping, Column>(getSubjectHolder()) {
- @Override
- protected Column transform_(IdMapping value) {
- return value.getColumn();
- }
- };
- }
-
- @Override
- protected void initializeLayout(Composite container) {
-
- // Column widgets
- new ColumnComposite(this, buildColumnHolder(), container);
-
- initializeTypePane(container);
-
- // Generation pane
- new HibernateGenerationComposite(this, addSubPane(container, 10));
- }
-
-
- private void initializeTypePane(Composite container) {
-
- container = addCollapsableSection(
- container,
- JptUiMappingsMessages.TypeSection_type
- );
- ((GridLayout) container.getLayout()).numColumns = 2;
-
- // No converter
- Button noConverterButton = addRadioButton(
- container,
- JptUiMappingsMessages.TypeSection_default,
- buildNoConverterHolder(),
- null);
- ((GridData) noConverterButton.getLayoutData()).horizontalSpan = 2;
-
- PropertyValueModel<Converter> specifiedConverterHolder = buildSpecifiedConverterHolder();
- // Temporal
- addRadioButton(
- container,
- JptUiMappingsMessages.TypeSection_temporal,
- buildTemporalBooleanHolder(),
- null);
- registerSubPane(new TemporalTypeComposite(buildTemporalConverterHolder(specifiedConverterHolder), container, getWidgetFactory()));
- }
-
-
- private WritablePropertyValueModel<Boolean> buildNoConverterHolder() {
- return new PropertyAspectAdapter<IdMapping, Boolean>(getSubjectHolder(), ConvertibleMapping.SPECIFIED_CONVERTER_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- return Boolean.valueOf(this.subject.getSpecifiedConverter() == null);
- }
-
- @Override
- protected void setValue_(Boolean value) {
- if (value.booleanValue()) {
- this.subject.setSpecifiedConverter(Converter.NO_CONVERTER);
- }
- }
- };
- }
-
-
- private WritablePropertyValueModel<Boolean> buildTemporalBooleanHolder() {
- return new PropertyAspectAdapter<IdMapping, Boolean>(getSubjectHolder(), ConvertibleMapping.SPECIFIED_CONVERTER_PROPERTY) {
- @Override
- protected Boolean buildValue_() {
- Converter converter = this.subject.getSpecifiedConverter();
- if (converter == null) {
- return Boolean.FALSE;
- }
- return Boolean.valueOf(converter.getType() == Converter.TEMPORAL_CONVERTER);
- }
-
- @Override
- protected void setValue_(Boolean value) {
- if (value.booleanValue()) {
- this.subject.setSpecifiedConverter(Converter.TEMPORAL_CONVERTER);
- }
- }
- };
- }
-
- private PropertyValueModel<Converter> buildSpecifiedConverterHolder() {
- return new PropertyAspectAdapter<IdMapping, Converter>(getSubjectHolder(), ConvertibleMapping.SPECIFIED_CONVERTER_PROPERTY) {
- @Override
- protected Converter buildValue_() {
- return this.subject.getSpecifiedConverter();
- }
- };
- }
-
- private PropertyValueModel<TemporalConverter> buildTemporalConverterHolder(PropertyValueModel<Converter> converterHolder) {
- return new TransformationPropertyValueModel<Converter, TemporalConverter>(converterHolder) {
- @Override
- protected TemporalConverter transform_(Converter converter) {
- return (converter != null && converter.getType() == Converter.TEMPORAL_CONVERTER) ? (TemporalConverter) converter : null;
- }
- };
- }
-}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaInheritanceComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaInheritanceComposite.java 2009-07-30 13:09:13 UTC (rev 16896)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateJavaInheritanceComposite.java 2009-07-30 13:21:46 UTC (rev 16897)
@@ -15,6 +15,7 @@
import org.eclipse.jpt.ui.internal.widgets.FormPane;
import org.eclipse.swt.widgets.Composite;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateAbstractInheritanceComposite;
/**
* @author Dmitry Geraskov
Copied: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateAbstractInheritanceComposite.java (from rev 16874, trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateAbstractInheritanceComposite.java)
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateAbstractInheritanceComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateAbstractInheritanceComposite.java 2009-07-30 13:21:46 UTC (rev 16897)
@@ -0,0 +1,296 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2009 Oracle. 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:
+ * Oracle - initial API and implementation
+ * Code copied from org.eclipse.jpt.ui.internal.mappings.details.AbstractInheritanceComposite
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
+
+import java.util.Collection;
+
+import org.eclipse.jpt.core.context.Entity;
+import org.eclipse.jpt.core.context.InheritanceType;
+import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
+import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages;
+import org.eclipse.jpt.ui.internal.mappings.db.ColumnCombo;
+import org.eclipse.jpt.ui.internal.mappings.details.AbstractEntityComposite;
+import org.eclipse.jpt.ui.internal.mappings.details.AbstractInheritanceComposite;
+import org.eclipse.jpt.ui.internal.util.ControlEnabler;
+import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.ui.internal.widgets.FormPane;
+import org.eclipse.jpt.utility.internal.StringConverter;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.internal.model.value.PropertyListValueModelAdapter;
+import org.eclipse.jpt.utility.model.value.ListValueModel;
+import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.custom.CCombo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateEntity;
+
+/**
+ * Here the layout of this pane:
+ * <pre>
+ * -----------------------------------------------------------------------------
+ * | ---------------------------------------------------- |
+ * | Strategy: | EnumComboViewer |v| |
+ * | ---------------------------------------------------- |
+ * | ---------------------------------------------------- |
+ * | Value: | I |v| |
+ * | ---------------------------------------------------- |
+ * | |
+ * | > Discriminator Column |
+ * | |
+ * | ---------------------------------------------------- |
+ * | Name: | ColumnCombo |v| |
+ * | ---------------------------------------------------- |
+ * | ---------------------------------------------------- |
+ * | Formula: | Text |v| |
+ * | ---------------------------------------------------- |
+ * | ---------------------------------------------------- |
+ * | Type: | EnumComboViewer |v| |
+ * | ---------------------------------------------------- |
+ * | ---------------------------------------------------- |
+ * | Column Definition: | I | |
+ * | ---------------------------------------------------- |
+ * | ------------- |
+ * | Length: | I |I| |
+ * | ------------- |
+ * | ------------------------------------------------------------------------- |
+ * | | | |
+ * | | PrimaryKeyJoinColumnsComposite | |
+ * | | | |
+ * | ------------------------------------------------------------------------- |
+ * -----------------------------------------------------------------------------</pre>
+ *
+ * @see Entity
+ * @see AbstractEntityComposite - The parent container
+ * @see ColumnCombo
+ * @see EnumComboViewer
+ * @see PrimaryKeyJoinColumnsComposite
+ *
+ * @version 2.0
+ * @since 2.0
+ */
+@SuppressWarnings("nls")
+public abstract class HibernateAbstractInheritanceComposite<T extends HibernateEntity> extends FormPane<T> {
+
+ /**
+ * A key used to represent the default value, this is required to convert
+ * the selected item from a combo to <code>null</code>. This key is most
+ * likely never typed the user and it will help to convert the value to
+ * <code>null</code> when it's time to set the new selected value into the
+ * model.
+ */
+ protected static String DEFAULT_KEY = "?!#!?#?#?default?#?!#?!#?";
+
+ protected static String NONE_KEY = "?!#!?#?#?none?#?!#?!#?";
+
+ /**
+ * Creates a new <code>InheritanceComposite</code>.
+ *
+ * @param parentPane The parent container of this one
+ * @param parent The parent container
+ */
+ public HibernateAbstractInheritanceComposite(FormPane<? extends T> parentPane,
+ Composite parent) {
+
+ super(parentPane, parent, false);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+
+ int groupBoxMargin = getGroupBoxMargin();
+
+ Composite subPane = addSubPane(
+ container, 0, groupBoxMargin, 0, groupBoxMargin
+ );
+
+ // Strategy widgets
+ addLabeledComposite(
+ subPane,
+ JptUiMappingsMessages.InheritanceComposite_strategy,
+ addStrategyCombo(subPane),
+ JpaHelpContextIds.ENTITY_INHERITANCE_STRATEGY
+ );
+
+ // Discriminator Value widgets
+ CCombo discriminatorValueCombo = addEditableCCombo(
+ subPane,
+ buildDiscriminatorValueListHolder(),
+ buildDiscriminatorValueHolder(),
+ buildDiscriminatorValueConverter()
+ );
+ Label discriminatorValueLabel = addLabel(
+ subPane,
+ JptUiMappingsMessages.InheritanceComposite_discriminatorValue
+ );
+ addLabeledComposite(
+ subPane,
+ discriminatorValueLabel,
+ discriminatorValueCombo.getParent(),
+ null,
+ JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_VALUE
+ );
+
+ new ControlEnabler(buildDiscriminatorValueEnabledHolder(), discriminatorValueCombo, discriminatorValueLabel);
+
+ new HibernateDiscriminatorColumnComposite<HibernateEntity>(this, container);
+
+ // Primary Key Join Columns widgets
+ addPrimaryKeyJoinColumnsComposite(addSubPane(container, 5));
+ }
+
+ protected WritablePropertyValueModel<Boolean> buildDiscriminatorValueEnabledHolder() {
+ return new PropertyAspectAdapter<Entity, Boolean>(getSubjectHolder(), Entity.SPECIFIED_DISCRIMINATOR_VALUE_IS_ALLOWED_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return Boolean.valueOf(this.subject.specifiedDiscriminatorValueIsAllowed());
+ }
+ };
+ }
+
+ private ListValueModel<String> buildDefaultDiscriminatorListValueHolder() {
+ return new PropertyListValueModelAdapter<String>(
+ buildDefaultDiscriminatorValueHolder()
+ );
+ }
+
+ private WritablePropertyValueModel<String> buildDefaultDiscriminatorValueHolder() {
+ return new PropertyAspectAdapter<Entity, String>(getSubjectHolder(), Entity.DEFAULT_DISCRIMINATOR_VALUE_PROPERTY, Entity.DISCRIMINATOR_VALUE_IS_UNDEFINED_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ String value = this.subject.getDefaultDiscriminatorValue();
+ if (value == null && this.subject.discriminatorValueIsUndefined()) {
+ return NONE_KEY;
+ }
+
+ if (value == null) {
+ value = DEFAULT_KEY;
+ }
+ else {
+ value = DEFAULT_KEY + value;
+ }
+
+ return value;
+ }
+ };
+ }
+
+ private StringConverter<String> buildDiscriminatorValueConverter() {
+ return new StringConverter<String>() {
+ public String convertToString(String value) {
+
+ if (getSubject() == null) {
+ return null;
+ }
+
+ if (value == null) {
+ value = getSubject().getDefaultDiscriminatorValue();
+ if (value == null && getSubject().discriminatorValueIsUndefined()) {
+ value = NONE_KEY;
+ }
+ else {
+ value = (value != null) ?
+ DEFAULT_KEY + value
+ :
+ DEFAULT_KEY;
+ }
+ }
+ if (value.startsWith(DEFAULT_KEY)) {
+ String defaultName = value.substring(DEFAULT_KEY.length());
+
+ if (defaultName.length() > 0) {
+ value = NLS.bind(
+ JptUiMappingsMessages.DefaultWithOneParam,
+ defaultName
+ );
+ }
+ else {
+ value = JptUiMappingsMessages.ProviderDefault;
+ }
+ }
+ if (value.startsWith(NONE_KEY)) {
+ value = JptUiMappingsMessages.NoneSelected;
+ }
+ return value;
+ }
+ };
+ }
+
+ private WritablePropertyValueModel<String> buildDiscriminatorValueHolder() {
+ return new PropertyAspectAdapter<Entity, String>(getSubjectHolder(), Entity.SPECIFIED_DISCRIMINATOR_VALUE_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getSpecifiedDiscriminatorValue();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+
+ // Convert the default value or an empty string to null
+ if ((value != null) &&
+ ((value.length() == 0) || value.startsWith(DEFAULT_KEY) || value.startsWith(NONE_KEY))) {
+
+ value = null;
+ }
+
+ this.subject.setSpecifiedDiscriminatorValue(value);
+ }
+ };
+ }
+
+ private ListValueModel<String> buildDiscriminatorValueListHolder() {
+ return buildDefaultDiscriminatorListValueHolder();
+ }
+
+ private EnumFormComboViewer<Entity, InheritanceType> addStrategyCombo(Composite container) {
+
+ return new EnumFormComboViewer<Entity, InheritanceType>(this, container) {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(Entity.DEFAULT_INHERITANCE_STRATEGY_PROPERTY);
+ propertyNames.add(Entity.SPECIFIED_INHERITANCE_STRATEGY_PROPERTY);
+ }
+
+ @Override
+ protected InheritanceType[] getChoices() {
+ return InheritanceType.values();
+ }
+
+ @Override
+ protected InheritanceType getDefaultValue() {
+ return getSubject().getDefaultInheritanceStrategy();
+ }
+
+ @Override
+ protected String displayString(InheritanceType value) {
+ return buildDisplayString(
+ JptUiMappingsMessages.class,
+ AbstractInheritanceComposite.class,
+ value
+ );
+ }
+
+ @Override
+ protected InheritanceType getValue() {
+ return getSubject().getSpecifiedInheritanceStrategy();
+ }
+
+ @Override
+ protected void setValue(InheritanceType value) {
+ getSubject().setSpecifiedInheritanceStrategy(value);
+ }
+ };
+ }
+
+ protected abstract void addPrimaryKeyJoinColumnsComposite(Composite container);
+}
\ No newline at end of file
Copied: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateDiscriminatorColumnComposite.java (from rev 16896, trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java)
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateDiscriminatorColumnComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateDiscriminatorColumnComposite.java 2009-07-30 13:21:46 UTC (rev 16897)
@@ -0,0 +1,432 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
+
+import java.util.Collection;
+
+import org.eclipse.jpt.core.context.DiscriminatorColumn;
+import org.eclipse.jpt.core.context.DiscriminatorType;
+import org.eclipse.jpt.core.context.Entity;
+import org.eclipse.jpt.core.context.NamedColumn;
+import org.eclipse.jpt.db.Table;
+import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
+import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages;
+import org.eclipse.jpt.ui.internal.mappings.db.ColumnCombo;
+import org.eclipse.jpt.ui.internal.mappings.details.AbstractEntityComposite;
+import org.eclipse.jpt.ui.internal.mappings.details.DiscriminatorColumnComposite;
+import org.eclipse.jpt.ui.internal.util.LabeledControlUpdater;
+import org.eclipse.jpt.ui.internal.util.LabeledLabel;
+import org.eclipse.jpt.ui.internal.util.PaneEnabler;
+import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer;
+import org.eclipse.jpt.ui.internal.widgets.FormPane;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Spinner;
+import org.jboss.tools.hibernate.jpt.core.internal.context.DiscriminatorFormula;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateEntity;
+
+/**
+ * Here the layout of this pane:
+ * <pre>
+ * -----------------------------------------------------------------------------
+ * | > Discriminator Column |
+ * | |
+ * | ---------------------------------------------------- |
+ * | Name: | ColumnCombo |v| |
+ * | ---------------------------------------------------- |
+ * | ---------------------------------------------------- |
+ * | Formula: | Text |v| |
+ * | ---------------------------------------------------- |
+ * | ---------------------------------------------------- |
+ * | Type: | EnumComboViewer |v| |
+ * | ---------------------------------------------------- |
+ * | > Details
+ * | ---------------------------------------------------- |
+ * | Column Definition: | I | |
+ * | ---------------------------------------------------- |
+ * | ------------- |
+ * | Length: | I |I| |
+ * | ------------- |
+ * -----------------------------------------------------------------------------</pre>
+ *
+ * @see Entity
+ * @see AbstractEntityComposite - The parent container
+ * @see ColumnCombo
+ * @see EnumComboViewer
+ * @see PrimaryKeyJoinColumnsComposite
+ *
+ * @version 2.0
+ * @since 2.0
+ */
+public class HibernateDiscriminatorColumnComposite <T extends HibernateEntity> extends FormPane<T> {
+
+ /**
+ * Creates a new <code>InheritanceComposite</code>.
+ *
+ * @param parentPane The parent container of this one
+ * @param parent The parent container
+ */
+ public HibernateDiscriminatorColumnComposite(FormPane<? extends T> parentPane,
+ Composite parent) {
+
+ super(parentPane, parent, false);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ // Discriminator Column sub-pane
+ Composite discriminatorColumnContainer = addTitledGroup(
+ addSubPane(container, 10),
+ JptUiMappingsMessages.InheritanceComposite_discriminatorColumnGroupBox
+ );
+
+ PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder =
+ buildDiscriminatorColumnHolder();
+
+ // Name widgets
+ addLabeledComposite(
+ discriminatorColumnContainer,
+ JptUiMappingsMessages.DiscriminatorColumnComposite_name,
+ addDiscriminatorColumnCombo(container, discriminatorColumnHolder),
+ JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_COLUMN
+ );
+
+ // Formula widgets
+ addLabeledText(
+ discriminatorColumnContainer,
+ HibernateUIMappingMessages.HibernateDiscriminatorColumnComposite_formula,
+ buildDiscriminatorFormulaHolder(),
+ null//TODO help
+ );
+
+ // Discriminator Type widgets
+ addLabeledComposite(
+ discriminatorColumnContainer,
+ JptUiMappingsMessages.DiscriminatorColumnComposite_discriminatorType,
+ addDiscriminatorTypeCombo(container, discriminatorColumnHolder),
+ JpaHelpContextIds.ENTITY_INHERITANCE_DISCRIMINATOR_TYPE
+ );
+
+ container = addCollapsableSubSection(
+ discriminatorColumnContainer,
+ JptUiMappingsMessages.InheritanceComposite_detailsGroupBox,
+ new SimplePropertyValueModel<Boolean>(Boolean.FALSE)
+ );
+
+ new DetailsComposite(this, discriminatorColumnHolder, addSubPane(container, 0, 16));
+
+ new PaneEnabler(buildDiscriminatorColumnEnabledHolder(), this);
+ }
+
+
+ private ColumnCombo<DiscriminatorColumn> addDiscriminatorColumnCombo(
+ Composite container,
+ PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder) {
+
+ return new ColumnCombo<DiscriminatorColumn>(
+ this,
+ discriminatorColumnHolder,
+ container)
+ {
+
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(NamedColumn.SPECIFIED_NAME_PROPERTY);
+ propertyNames.add(NamedColumn.DEFAULT_NAME_PROPERTY);
+ }
+
+ @Override
+ protected String getDefaultValue() {
+ return getSubject().getDefaultName();
+ }
+
+ @Override
+ protected void setValue(String value) {
+ getSubject().setSpecifiedName(value);
+ }
+
+ @Override
+ protected Table getDbTable_() {
+ return getSubject().getDbTable();
+ }
+
+ @Override
+ protected String getValue() {
+ return getSubject().getSpecifiedName();
+ }
+
+ @Override
+ protected String buildNullDefaultValueEntry() {
+ return JptUiMappingsMessages.NoneSelected;
+ }
+ };
+ }
+
+
+ private PropertyValueModel<DiscriminatorColumn> buildDiscriminatorColumnHolder() {
+ return new PropertyAspectAdapter<Entity, DiscriminatorColumn>(getSubjectHolder()) {
+ @Override
+ protected DiscriminatorColumn buildValue_() {
+ return this.subject.getDiscriminatorColumn();
+ }
+ };
+ }
+
+
+ private WritablePropertyValueModel<String> buildDiscriminatorFormulaHolder() {
+ return new PropertyAspectAdapter<HibernateEntity, String>(getSubjectHolder(), DiscriminatorFormula.VALUE_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ DiscriminatorFormula df = this.subject.getDiscriminatorFormula();
+ return df == null ? null : df.getValue();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if ("".equals(value)) value = null; //$NON-NLS-1$
+ DiscriminatorFormula df = this.subject.getDiscriminatorFormula();
+ if (value == null && df != null){
+ this.subject.removeDiscriminatorFormula();
+ } else {
+ if (df == null){
+ df = this.subject.addDiscriminatorFormula();
+ }
+ df.setValue(value);
+ }
+ }
+ };
+ }
+
+ private EnumFormComboViewer<DiscriminatorColumn, DiscriminatorType> addDiscriminatorTypeCombo(
+ Composite container,
+ PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder) {
+
+ return new EnumFormComboViewer<DiscriminatorColumn, DiscriminatorType>(
+ this,
+ discriminatorColumnHolder,
+ container)
+ {
+ @Override
+ protected void addPropertyNames(Collection<String> propertyNames) {
+ super.addPropertyNames(propertyNames);
+ propertyNames.add(DiscriminatorColumn.DEFAULT_DISCRIMINATOR_TYPE_PROPERTY);
+ propertyNames.add(DiscriminatorColumn.SPECIFIED_DISCRIMINATOR_TYPE_PROPERTY);
+ }
+
+ @Override
+ protected DiscriminatorType[] getChoices() {
+ return DiscriminatorType.values();
+ }
+
+ @Override
+ protected DiscriminatorType getDefaultValue() {
+ return getSubject().getDefaultDiscriminatorType();
+ }
+
+ @Override
+ protected String displayString(DiscriminatorType value) {
+ return buildDisplayString(
+ JptUiMappingsMessages.class,
+ DiscriminatorColumnComposite.class,
+ value
+ );
+ }
+
+ @Override
+ protected String nullDisplayString() {
+ return JptUiMappingsMessages.NoneSelected;
+ }
+
+ @Override
+ protected DiscriminatorType getValue() {
+ return getSubject().getSpecifiedDiscriminatorType();
+ }
+
+ @Override
+ protected void setValue(DiscriminatorType value) {
+ getSubject().setSpecifiedDiscriminatorType(value);
+ }
+ };
+ }
+
+ protected WritablePropertyValueModel<Boolean> buildDiscriminatorColumnEnabledHolder() {
+ return new PropertyAspectAdapter<Entity, Boolean>(getSubjectHolder(), Entity.SPECIFIED_DISCRIMINATOR_COLUMN_IS_ALLOWED_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return Boolean.valueOf(this.subject.specifiedDiscriminatorColumnIsAllowed());
+ }
+ };
+ }
+
+ protected class DetailsComposite extends FormPane<DiscriminatorColumn> {
+ public DetailsComposite(FormPane<?> parentPane,
+ PropertyValueModel<? extends DiscriminatorColumn> subjectHolder,
+ Composite parent) {
+
+ super(parentPane, subjectHolder, parent, false);
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+ // Length widgets
+ Spinner lengthSpinner = addLabeledSpinner(
+ container,
+ JptUiMappingsMessages.ColumnComposite_length,
+ buildLengthHolder(),
+ -1,
+ -1,
+ Integer.MAX_VALUE,
+ addDefaultLengthLabel(container),
+ JpaHelpContextIds.MAPPING_COLUMN_LENGTH
+ );
+
+ updateGridData(container, lengthSpinner);
+
+ // Column Definition widgets
+ addLabeledText(
+ container,
+ JptUiMappingsMessages.ColumnComposite_columnDefinition,
+ buildColumnDefinitionHolder(getSubjectHolder())
+ );
+ }
+
+ private WritablePropertyValueModel<Integer> buildLengthHolder() {
+
+ return new PropertyAspectAdapter<DiscriminatorColumn, Integer>(getSubjectHolder(), DiscriminatorColumn.SPECIFIED_LENGTH_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return this.subject.getSpecifiedLength();
+ }
+
+ @Override
+ protected void setValue_(Integer value) {
+ if (value.intValue() == -1) {
+ value = null;
+ }
+ this.subject.setSpecifiedLength(value);
+ }
+ };
+ }
+
+ private Control addDefaultLengthLabel(Composite container) {
+
+ Label label = addLabel(
+ container,
+ JptUiMappingsMessages.DefaultEmpty
+ );
+
+ new LabeledControlUpdater(
+ new LabeledLabel(label),
+ buildDefaultLengthLabelHolder()
+ );
+
+ return label;
+ }
+
+ private PropertyValueModel<String> buildDefaultLengthLabelHolder() {
+
+ return new TransformationPropertyValueModel<Integer, String>(buildDefaultLengthHolder()) {
+
+ @Override
+ protected String transform(Integer value) {
+
+ int defaultValue = (getSubject() != null) ? getSubject().getDefaultLength() :
+ DiscriminatorColumn.DEFAULT_LENGTH;
+
+ return NLS.bind(
+ JptUiMappingsMessages.DefaultWithOneParam,
+ Integer.valueOf(defaultValue)
+ );
+ }
+ };
+ }
+
+ private WritablePropertyValueModel<Integer> buildDefaultLengthHolder() {
+ return new PropertyAspectAdapter<DiscriminatorColumn, Integer>(getSubjectHolder(), DiscriminatorColumn.DEFAULT_LENGTH_PROPERTY) {
+ @Override
+ protected Integer buildValue_() {
+ return Integer.valueOf(this.subject.getDefaultLength());
+ }
+
+ @Override
+ protected synchronized void subjectChanged() {
+ Object oldValue = this.getValue();
+ super.subjectChanged();
+ Object newValue = this.getValue();
+
+ // Make sure the default value is appended to the text
+ if (oldValue == newValue && newValue == null) {
+ this.fireAspectChange(Integer.valueOf(Integer.MIN_VALUE), newValue);
+ }
+ }
+ };
+ }
+
+ private WritablePropertyValueModel<String> buildColumnDefinitionHolder(PropertyValueModel<DiscriminatorColumn> discriminatorColumnHolder) {
+
+ return new PropertyAspectAdapter<DiscriminatorColumn, String>(discriminatorColumnHolder, NamedColumn.COLUMN_DEFINITION_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getColumnDefinition();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
+ }
+ this.subject.setColumnDefinition(value);
+ }
+ };
+ }
+
+ /**
+ * Changes the layout of the given container by changing which widget will
+ * grab the excess of horizontal space. By default, the center control grabs
+ * the excess space, we change it to be the right control.
+ *
+ * @param container The container containing the controls needing their
+ * <code>GridData</code> to be modified from the default values
+ * @param spinner The spinner that got created
+ */
+ private void updateGridData(Composite container, Spinner spinner) {
+
+ // It is possible the spinner's parent is not the container of the
+ // label, spinner and right control (a pane is sometimes required for
+ // painting the spinner's border)
+ Composite paneContainer = spinner.getParent();
+
+ while (container != paneContainer.getParent()) {
+ paneContainer = paneContainer.getParent();
+ }
+
+ Control[] controls = paneContainer.getChildren();
+
+ GridData gridData = new GridData();
+ gridData.grabExcessHorizontalSpace = false;
+ gridData.horizontalAlignment = GridData.BEGINNING;
+ controls[1].setLayoutData(gridData);
+
+ controls[2].setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ removeAlignRight(controls[2]);
+ }
+
+ }
+}
\ No newline at end of file
Copied: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java (from rev 16763, trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateIdMappingComposite.java)
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateIdMappingComposite.java 2009-07-30 13:21:46 UTC (rev 16897)
@@ -0,0 +1,157 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.ui.internal.mapping.details;
+
+import org.eclipse.jpt.core.context.Column;
+import org.eclipse.jpt.core.context.Converter;
+import org.eclipse.jpt.core.context.ConvertibleMapping;
+import org.eclipse.jpt.core.context.IdMapping;
+import org.eclipse.jpt.core.context.TemporalConverter;
+import org.eclipse.jpt.ui.WidgetFactory;
+import org.eclipse.jpt.ui.details.JpaComposite;
+import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages;
+import org.eclipse.jpt.ui.internal.mappings.details.ColumnComposite;
+import org.eclipse.jpt.ui.internal.mappings.details.TemporalTypeComposite;
+import org.eclipse.jpt.ui.internal.widgets.FormPane;
+import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel;
+import org.eclipse.jpt.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMapping;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateIdMappingComposite extends FormPane<HibernateJavaIdMapping>
+implements JpaComposite{
+ /**
+ * Creates a new <code>HibernateIdMappingComposite</code>.
+ *
+ * @param subjectHolder The holder of the subject <code>IdMapping</code>
+ * @param parent The parent container
+ * @param widgetFactory The factory used to create various common widgets
+ */
+ public HibernateIdMappingComposite(PropertyValueModel<? extends HibernateJavaIdMapping> subjectHolder,
+ Composite parent,
+ WidgetFactory widgetFactory) {
+
+ super(subjectHolder, parent, widgetFactory);
+ }
+
+ private PropertyValueModel<? extends Column> buildColumnHolder() {
+ return new TransformationPropertyValueModel<IdMapping, Column>(getSubjectHolder()) {
+ @Override
+ protected Column transform_(IdMapping value) {
+ return value.getColumn();
+ }
+ };
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+
+ // Column widgets
+ new ColumnComposite(this, buildColumnHolder(), container);
+
+ initializeTypePane(container);
+
+ // Generation pane
+ new HibernateGenerationComposite(this, addSubPane(container, 10));
+ }
+
+
+ private void initializeTypePane(Composite container) {
+
+ container = addCollapsableSection(
+ container,
+ JptUiMappingsMessages.TypeSection_type
+ );
+ ((GridLayout) container.getLayout()).numColumns = 2;
+
+ // No converter
+ Button noConverterButton = addRadioButton(
+ container,
+ JptUiMappingsMessages.TypeSection_default,
+ buildNoConverterHolder(),
+ null);
+ ((GridData) noConverterButton.getLayoutData()).horizontalSpan = 2;
+
+ PropertyValueModel<Converter> specifiedConverterHolder = buildSpecifiedConverterHolder();
+ // Temporal
+ addRadioButton(
+ container,
+ JptUiMappingsMessages.TypeSection_temporal,
+ buildTemporalBooleanHolder(),
+ null);
+ registerSubPane(new TemporalTypeComposite(buildTemporalConverterHolder(specifiedConverterHolder), container, getWidgetFactory()));
+ }
+
+
+ private WritablePropertyValueModel<Boolean> buildNoConverterHolder() {
+ return new PropertyAspectAdapter<IdMapping, Boolean>(getSubjectHolder(), ConvertibleMapping.SPECIFIED_CONVERTER_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ return Boolean.valueOf(this.subject.getSpecifiedConverter() == null);
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ if (value.booleanValue()) {
+ this.subject.setSpecifiedConverter(Converter.NO_CONVERTER);
+ }
+ }
+ };
+ }
+
+
+ private WritablePropertyValueModel<Boolean> buildTemporalBooleanHolder() {
+ return new PropertyAspectAdapter<IdMapping, Boolean>(getSubjectHolder(), ConvertibleMapping.SPECIFIED_CONVERTER_PROPERTY) {
+ @Override
+ protected Boolean buildValue_() {
+ Converter converter = this.subject.getSpecifiedConverter();
+ if (converter == null) {
+ return Boolean.FALSE;
+ }
+ return Boolean.valueOf(converter.getType() == Converter.TEMPORAL_CONVERTER);
+ }
+
+ @Override
+ protected void setValue_(Boolean value) {
+ if (value.booleanValue()) {
+ this.subject.setSpecifiedConverter(Converter.TEMPORAL_CONVERTER);
+ }
+ }
+ };
+ }
+
+ private PropertyValueModel<Converter> buildSpecifiedConverterHolder() {
+ return new PropertyAspectAdapter<IdMapping, Converter>(getSubjectHolder(), ConvertibleMapping.SPECIFIED_CONVERTER_PROPERTY) {
+ @Override
+ protected Converter buildValue_() {
+ return this.subject.getSpecifiedConverter();
+ }
+ };
+ }
+
+ private PropertyValueModel<TemporalConverter> buildTemporalConverterHolder(PropertyValueModel<Converter> converterHolder) {
+ return new TransformationPropertyValueModel<Converter, TemporalConverter>(converterHolder) {
+ @Override
+ protected TemporalConverter transform_(Converter converter) {
+ return (converter != null && converter.getType() == Converter.TEMPORAL_CONVERTER) ? (TemporalConverter) converter : null;
+ }
+ };
+ }
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpaUiFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpaUiFactory.java 2009-07-30 13:09:13 UTC (rev 16896)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/platform/HibernateJpaUiFactory.java 2009-07-30 13:21:46 UTC (rev 16897)
@@ -31,8 +31,8 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.basic.BasicHibernateProperties;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaIdMapping;
-import org.jboss.tools.hibernate.jpt.ui.internal.java.details.HibernateIdMappingComposite;
import org.jboss.tools.hibernate.jpt.ui.internal.java.details.HibernateJavaEntityComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateIdMappingComposite;
import org.jboss.tools.hibernate.jpt.ui.internal.persistence.details.HibernatePropertiesComposite;
/**
14 years, 8 months
JBoss Tools SVN: r16896 - in trunk/hibernatetools/plugins: org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2009-07-30 09:09:13 -0400 (Thu, 30 Jul 2009)
New Revision: 16896
Removed:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/NullDiscriminatorFormulaAnnotation.java
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernateEntity.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntity.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormulaImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/DiscriminatorFormulaAnnotationImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4665
Remove annotation when value is empty.
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernateEntity.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernateEntity.java 2009-07-30 12:44:49 UTC (rev 16895)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernateEntity.java 2009-07-30 13:09:13 UTC (rev 16896)
@@ -21,6 +21,12 @@
public interface HibernateEntity extends Entity,
GenericGeneratorHolder, HibernateQueryContainer {
+ String DISCRIMINATOR_FORMULA_PROPERTY = "discriminatorFormula"; //$NON-NLS-1$
+
DiscriminatorFormula getDiscriminatorFormula();
+
+ DiscriminatorFormula addDiscriminatorFormula();
+
+ void removeDiscriminatorFormula();
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntity.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntity.java 2009-07-30 12:44:49 UTC (rev 16895)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntity.java 2009-07-30 13:09:13 UTC (rev 16896)
@@ -21,4 +21,7 @@
JavaDiscriminatorFormula getDiscriminatorFormula();
+ JavaDiscriminatorFormula addDiscriminatorFormula();
+
+
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2009-07-30 12:44:49 UTC (rev 16895)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaEntityImpl.java 2009-07-30 13:09:13 UTC (rev 16896)
@@ -56,7 +56,6 @@
public HibernateJavaEntityImpl(JavaPersistentType parent) {
super(parent);
- this.discriminatorFormula = getJpaFactory().buildJavaDiscriminatorFormula(this);
this.genericGenerators = new ArrayList<JavaGenericGenerator>();
this.hibernateNamedQueries = new ArrayList<HibernateNamedQuery>();
this.hibernateNamedNativeQueries = new ArrayList<HibernateNamedNativeQuery>();
@@ -65,7 +64,7 @@
@Override
public void initialize(JavaResourcePersistentType resourcePersistentType) {
super.initialize(resourcePersistentType);
- this.discriminatorFormula.initialize(getDiscriminatorFormulaResource(resourcePersistentType));
+ this.initializeDiscriminatorFormula();
this.initializeGenericGenerators();
this.initializeHibernateNamedQueries();
this.initializeHibernateNamedNativeQueries();
@@ -108,20 +107,71 @@
super.correspondingAnnotationNames());
}
- // ********************* DiscriminatorFormula **************
-
+ // ********************* DiscriminatorFormula **************
public JavaDiscriminatorFormula getDiscriminatorFormula() {
return this.discriminatorFormula;
}
+
+ protected void setDiscriminatorFormula(JavaDiscriminatorFormula newDiscriminatorFormula) {
+ JavaDiscriminatorFormula oldDiscriminatorFormula = this.discriminatorFormula;
+ this.discriminatorFormula = newDiscriminatorFormula;
+ firePropertyChanged(DISCRIMINATOR_FORMULA_PROPERTY, oldDiscriminatorFormula, newDiscriminatorFormula);
+ }
+
+ public JavaDiscriminatorFormula addDiscriminatorFormula() {
+ if (getDiscriminatorFormula() != null) {
+ throw new IllegalStateException("discriminatorFormula already exists"); //$NON-NLS-1$
+ }
+ this.discriminatorFormula = getJpaFactory().buildJavaDiscriminatorFormula(this);
+ DiscriminatorFormulaAnnotation discriminatorFormulaResource = (DiscriminatorFormulaAnnotation) this.javaResourcePersistentType.addSupportingAnnotation(DiscriminatorFormulaAnnotation.ANNOTATION_NAME);
+ this.discriminatorFormula.initialize(discriminatorFormulaResource);
+ firePropertyChanged(DISCRIMINATOR_FORMULA_PROPERTY, null, this.discriminatorFormula);
+ return this.discriminatorFormula;
+ }
+
+ public void removeDiscriminatorFormula() {
+ if (getDiscriminatorFormula() == null) {
+ throw new IllegalStateException("discriminatorFormula does not exist, cannot be removed"); //$NON-NLS-1$
+ }
+ JavaDiscriminatorFormula oldDiscriminatorFormula = this.discriminatorFormula;
+ this.discriminatorFormula = null;
+ this.javaResourcePersistentType.removeSupportingAnnotation(DiscriminatorFormulaAnnotation.ANNOTATION_NAME);
+ firePropertyChanged(DISCRIMINATOR_FORMULA_PROPERTY, oldDiscriminatorFormula,null);
+ }
+
+ protected void initializeDiscriminatorFormula() {
+ DiscriminatorFormulaAnnotation discriminatorFormulaResource = getDiscriminatorFormulaResource();
+ if (discriminatorFormulaResource != null) {
+ this.discriminatorFormula = buildDiscriminatorFormula(discriminatorFormulaResource);
+ }
+ }
- private void updateDiscriminatorFormula() {
- getDiscriminatorFormula().update(getDiscriminatorFormulaResource(this.javaResourcePersistentType));
+ protected void updateDiscriminatorFormula() {
+ DiscriminatorFormulaAnnotation discriminatorFormulaResource = getDiscriminatorFormulaResource();
+ if (discriminatorFormulaResource == null) {
+ if (getDiscriminatorFormula() != null) {
+ setDiscriminatorFormula(null);
+ }
+ }
+ else {
+ if (getDiscriminatorFormula() == null) {
+ setDiscriminatorFormula(buildDiscriminatorFormula(discriminatorFormulaResource));
+ }
+ else {
+ getDiscriminatorFormula().update(discriminatorFormulaResource);
+ }
+ }
}
- public DiscriminatorFormulaAnnotation getDiscriminatorFormulaResource(JavaResourcePersistentType resourcePersistentType) {
- return (DiscriminatorFormulaAnnotation) resourcePersistentType.getNonNullSupportingAnnotation(DiscriminatorFormulaAnnotation.ANNOTATION_NAME);
+ public DiscriminatorFormulaAnnotation getDiscriminatorFormulaResource() {
+ return (DiscriminatorFormulaAnnotation) this.javaResourcePersistentType.getSupportingAnnotation(DiscriminatorFormulaAnnotation.ANNOTATION_NAME);
}
-
+
+ protected JavaDiscriminatorFormula buildDiscriminatorFormula(DiscriminatorFormulaAnnotation discriminatorFormulaResource) {
+ JavaDiscriminatorFormula discriminatorFormula = getJpaFactory().buildJavaDiscriminatorFormula(this);
+ discriminatorFormula.initialize(discriminatorFormulaResource);
+ return discriminatorFormula;
+ }
// ********************* GenericGenerators **************
public GenericGenerator addGenericGenerator(int index) {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormulaImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormulaImpl.java 2009-07-30 12:44:49 UTC (rev 16895)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormulaImpl.java 2009-07-30 13:09:13 UTC (rev 16896)
@@ -14,6 +14,7 @@
import org.eclipse.jpt.core.context.JpaContextNode;
import org.eclipse.jpt.core.internal.context.java.AbstractJavaJpaContextNode;
import org.eclipse.jpt.core.utility.TextRange;
+import org.jboss.tools.hibernate.jpt.core.internal.context.DiscriminatorFormula;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.DiscriminatorFormulaAnnotation;
/**
@@ -49,7 +50,7 @@
String oldValue = this.value;
this.value = newValue;
this.dfResource.setValue(newValue);
- firePropertyChanged(Parameter.VALUE_PROPERTY, oldValue, newValue);
+ firePropertyChanged(DiscriminatorFormula.VALUE_PROPERTY, oldValue, newValue);
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/DiscriminatorFormulaAnnotationImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/DiscriminatorFormulaAnnotationImpl.java 2009-07-30 12:44:49 UTC (rev 16895)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/DiscriminatorFormulaAnnotationImpl.java 2009-07-30 13:09:13 UTC (rev 16896)
@@ -20,7 +20,6 @@
import org.eclipse.jpt.core.resource.java.AnnotationDefinition;
import org.eclipse.jpt.core.resource.java.JavaResourceNode;
import org.eclipse.jpt.core.resource.java.JavaResourcePersistentMember;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
import org.eclipse.jpt.core.utility.TextRange;
import org.eclipse.jpt.core.utility.jdt.AnnotationElementAdapter;
import org.eclipse.jpt.core.utility.jdt.DeclarationAnnotationAdapter;
@@ -127,7 +126,7 @@
}
public Annotation buildNullAnnotation(JavaResourcePersistentMember parent) {
- return new NullDiscriminatorFormulaAnnotation((JavaResourcePersistentType) parent);
+ throw new UnsupportedOperationException();
}
}
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/NullDiscriminatorFormulaAnnotation.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/NullDiscriminatorFormulaAnnotation.java 2009-07-30 12:44:49 UTC (rev 16895)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/NullDiscriminatorFormulaAnnotation.java 2009-07-30 13:09:13 UTC (rev 16896)
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is 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
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.jpt.core.internal.resource.java;
-
-import org.eclipse.jdt.core.dom.CompilationUnit;
-import org.eclipse.jpt.core.internal.resource.java.NullAnnotation;
-import org.eclipse.jpt.core.resource.java.JavaResourcePersistentType;
-import org.eclipse.jpt.core.utility.TextRange;
-
-/**
- * @author Dmitry Geraskov
- *
- */
-public class NullDiscriminatorFormulaAnnotation extends NullAnnotation implements
- DiscriminatorFormulaAnnotation {
-
- public NullDiscriminatorFormulaAnnotation(JavaResourcePersistentType parent) {
- super(parent);
- }
-
- public String getAnnotationName() {
- return ANNOTATION_NAME;
- }
-
- @Override
- protected DiscriminatorFormulaAnnotation buildSupportingAnnotation() {
- return (DiscriminatorFormulaAnnotation) super.buildSupportingAnnotation();
- }
-
- // ***** value
- public String getValue() {
- return null;
- }
-
- public void setValue(String value) {
- if (value != null) {
- this.buildSupportingAnnotation().setValue(value);
- }
- }
-
- public TextRange getValueTextRange(CompilationUnit astRoot) {
- return null;
- }
-
-}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java 2009-07-30 12:44:49 UTC (rev 16895)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java 2009-07-30 13:09:13 UTC (rev 16896)
@@ -109,11 +109,10 @@
);
// Formula widgets
- addLabeledMultiLineText(
+ addLabeledText(
discriminatorColumnContainer,
HibernateUIMappingMessages.HibernateDiscriminatorColumnComposite_formula,
buildDiscriminatorFormulaHolder(),
- 2,
null//TODO help
);
@@ -196,12 +195,22 @@
return new PropertyAspectAdapter<HibernateEntity, String>(getSubjectHolder(), DiscriminatorFormula.VALUE_PROPERTY) {
@Override
protected String buildValue_() {
- return this.subject.getDiscriminatorFormula().getValue();
+ DiscriminatorFormula df = this.subject.getDiscriminatorFormula();
+ return df == null ? null : df.getValue();
}
@Override
protected void setValue_(String value) {
- this.subject.getDiscriminatorFormula().setValue(value);
+ if ("".equals(value)) value = null; //$NON-NLS-1$
+ DiscriminatorFormula df = this.subject.getDiscriminatorFormula();
+ if (value == null && df != null){
+ this.subject.removeDiscriminatorFormula();
+ } else {
+ if (df == null){
+ df = this.subject.addDiscriminatorFormula();
+ }
+ df.setValue(value);
+ }
}
};
}
14 years, 8 months
JBoss Tools SVN: r16895 - trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2009-07-30 08:44:49 -0400 (Thu, 30 Jul 2009)
New Revision: 16895
Modified:
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4495
Modified: trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java 2009-07-30 12:37:17 UTC (rev 16894)
+++ trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java 2009-07-30 12:44:49 UTC (rev 16895)
@@ -329,9 +329,6 @@
}
public void testDuplicateRemoveMethod_Validator() throws CoreException {
- IFile componentsFile = project.getFile("WebContent/WEB-INF/components.xml");
- IFile componentsFileWithoutSTComponent = project.getFile("WebContent/WEB-INF/components.5");
-
// Duplicate @Remove method
final String NEW_CONTENT_FILE_NAME1 = "src/action/org/domain/SeamWebWarTestProject/session/StatefulComponent.1";
14 years, 8 months
JBoss Tools SVN: r16894 - in branches/jbosstools-3.0.x: struts/plugins/org.jboss.tools.struts and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2009-07-30 08:37:17 -0400 (Thu, 30 Jul 2009)
New Revision: 16894
Modified:
branches/jbosstools-3.0.x/common/plugins/org.jboss.tools.common.verification/plugin.properties
branches/jbosstools-3.0.x/struts/plugins/org.jboss.tools.struts/plugin.properties
Log:
https://jira.jboss.org/jira/browse/JBIDE-4154
Modified: branches/jbosstools-3.0.x/common/plugins/org.jboss.tools.common.verification/plugin.properties
===================================================================
--- branches/jbosstools-3.0.x/common/plugins/org.jboss.tools.common.verification/plugin.properties 2009-07-30 12:09:04 UTC (rev 16893)
+++ branches/jbosstools-3.0.x/common/plugins/org.jboss.tools.common.verification/plugin.properties 2009-07-30 12:37:17 UTC (rev 16894)
@@ -1,2 +1,2 @@
providerName=JBoss, a division of Red Hat
-Bundle-Name.0 = org.jboss.tools.common.verification
\ No newline at end of file
+Bundle-Name.0 = JBoss Tools Verification
\ No newline at end of file
Modified: branches/jbosstools-3.0.x/struts/plugins/org.jboss.tools.struts/plugin.properties
===================================================================
--- branches/jbosstools-3.0.x/struts/plugins/org.jboss.tools.struts/plugin.properties 2009-07-30 12:09:04 UTC (rev 16893)
+++ branches/jbosstools-3.0.x/struts/plugins/org.jboss.tools.struts/plugin.properties 2009-07-30 12:37:17 UTC (rev 16894)
@@ -1,2 +1,2 @@
providerName=JBoss, a division of Red Hat
-Bundle-Name.0 = org.jboss.tools.struts
\ No newline at end of file
+Bundle-Name.0 = JBoss Tools Struts
\ No newline at end of file
14 years, 8 months
JBoss Tools SVN: r16893 - trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test.
by jbosstools-commits@lists.jboss.org
Author: dazarov
Date: 2009-07-30 08:09:04 -0400 (Thu, 30 Jul 2009)
New Revision: 16893
Modified:
trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4495
Modified: trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java
===================================================================
--- trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java 2009-07-30 11:19:41 UTC (rev 16892)
+++ trunk/seam/tests/org.jboss.tools.seam.core.test/src/org/jboss/tools/seam/core/test/SeamValidatorsTest.java 2009-07-30 12:09:04 UTC (rev 16893)
@@ -209,7 +209,6 @@
public void testComponentWithoutSetter_Validator() throws CoreException {
IFile statefulComponentFile = project.getFile("src/action/org/domain/SeamWebWarTestProject/session/StatefulComponent.java");
IFile componentsFile = project.getFile("WebContent/WEB-INF/components.xml");
- IFile bbcComponentFile = project.getFile("src/action/org/domain/SeamWebWarTestProject/session/BbcComponent.java");
// Component class does not contain setter for property
@@ -233,24 +232,10 @@
refreshProject(project);
- int number = getMarkersNumber(componentsFile);
- assertFalse("Problem marker 'Component class does not contain setter for property' not found' not found' not found", number == 0);
-
- String[] messages = getMarkersMessage(componentsFile, SEAM_MARKER_FILTER);
- assertEquals("Problem marker 'Component class does not have a setter or a field for the property' not found", "Class \"StatefulComponent\" of component \"statefulComponent\" does not have a setter or a field for the property \"abc\"", messages[0]);
-
- Integer[] lineNumbers = getMarkersNumbersOfLine(componentsFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker has wrong line number", 16, lineNumbers[0].intValue());
-
- // resolve error in BbcComponent.java
- IFile bbcComponentFile3 = project.getFile("src/action/org/domain/SeamWebWarTestProject/session/BbcComponent.3");
- try{
- bbcComponentFile.setContents(bbcComponentFile3.getContents(), true, false, null);
- }catch(Exception ex){
- JUnitUtils.fail("Error in changing 'BbcComponent.java' content to " +
- "'BbcComponent.3'", ex);
- }
+ assertMarkerIsCreated(
+ componentsFile,
+ MARKER_TYPE,
+ "Class \"StatefulComponent\" of component \"statefulComponent\" does not have a setter or a field for the property \"abc\"", 16);
}
public void testEntityHasWrongScope_Validator() throws CoreException {
@@ -299,8 +284,6 @@
}
public void testDuplicateUnwrapMethod_Validator() throws CoreException {
- IFile componentsFile = project.getFile("WebContent/WEB-INF/components.xml");
-
// Duplicate @Unwrap method
final String NEW_CONTENT_FILE_NAME8 = "src/action/org/domain/SeamWebWarTestProject/session/StatefulComponent.8";
@@ -308,15 +291,6 @@
TARGET_FILE_NAME,NEW_CONTENT_FILE_NAME8, ".*(a)Unwrap.*\"unwrapMethod\".*", 40);
assertMarkerIsCreated(
TARGET_FILE_NAME, ".*(a)Unwrap.*\"unwrapMethod2\".*", 45);
-
- IFile componentsFileWithoutSTComponent = project.getFile("WebContent/WEB-INF/components.5");
- try {
- componentsFile.setContents(componentsFileWithoutSTComponent.getContents(), true, false, null);
- } catch(Exception ex) {
- JUnitUtils.fail("Error in changing 'components.xml' content to " +
- "'components.5'", ex);
- }
- refreshProject(project);
}
public void testOnlyJavaBeansAndStatefulSessionBeansSupportDestroyMethod_Validator() throws CoreException {
@@ -362,20 +336,10 @@
final String NEW_CONTENT_FILE_NAME1 = "src/action/org/domain/SeamWebWarTestProject/session/StatefulComponent.1";
- //assertTrue("Wrong number of problem markers", lineNumbers.length == messages.length && messages.length == 2);
-
assertMarkerIsCreated(
TARGET_FILE_NAME,NEW_CONTENT_FILE_NAME1, "Duplicate @Remove method \"removeMethod1\"", 18);
assertMarkerIsCreated(
TARGET_FILE_NAME,"Duplicate @Remove method \"removeMethod2\"", 22);
-
- //IFile componentsFileWithSTComponent = project.getFile("WebContent/WEB-INF/components.2");
- try {
- componentsFile.setContents(componentsFileWithoutSTComponent.getContents(), true, false, null);
- }catch(Exception ex){
- JUnitUtils.fail("Error in changing 'components.xml' content to " +
- "'components.6'", ex);
- }
}
/**
@@ -531,25 +495,15 @@
refreshProject(project);
- int number = getMarkersNumber(selectionTestFile);
- assertFalse("Problem marker 'Unknown @DataModel/@Out name' not found' not found' not found' not found", number == 0);
-
- String[] messages = getMarkersMessage(selectionTestFile, SEAM_MARKER_FILTER);
- assertTrue("Problem marker 'Unknown @DataModel/@Out name", messages[0].startsWith("Unknown @DataModel/@Out name: \"messageList2\""));
-
- Integer[] lineNumbers = getMarkersNumbersOfLine(selectionTestFile, SEAM_MARKER_FILTER);
+ assertMarkerIsCreated(
+ selectionTestFile,
+ MARKER_TYPE,
+ "Unknown @DataModel/@Out name: \"messageList2\"", 27);
- assertEquals("Problem marker has wrong line number", 27, lineNumbers[0].intValue());
-
- number = getMarkersNumber(selectionIndexTestFile);
- assertFalse("Problem marker 'Unknown @DataModel/@Out name' not found' not found' not found' not found", number == 0);
-
- messages = getMarkersMessage(selectionIndexTestFile, SEAM_MARKER_FILTER);
- assertTrue("Problem marker 'Unknown @DataModel/@Out name", messages[0].startsWith("Unknown @DataModel/@Out name: \"messageList2\""));
-
- lineNumbers = getMarkersNumbersOfLine(selectionIndexTestFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker has wrong line number", 27, lineNumbers[0].intValue());
+ assertMarkerIsCreated(
+ selectionIndexTestFile,
+ MARKER_TYPE,
+ "Unknown @DataModel/@Out name: \"messageList2\"", 27);
}
public void testDuplicateVariableName_Validator() throws CoreException {
@@ -593,116 +547,64 @@
public void testUnknownVariableName_Validator() throws CoreException {
IFile contextVariableTestFile = project.getFile("src/action/org/domain/SeamWebWarTestProject/session/ContextVariableTest.java");
- // Unknown variable name
+ String markerText = "Unknown context variable name: \"messageList5\"";
- IFile contextVariableTestFile3 = project.getFile("src/action/org/domain/SeamWebWarTestProject/session/ContextVariableTest.3");
- try{
- contextVariableTestFile.setContents(contextVariableTestFile3.getContents(), true, false, null);
- }catch(Exception ex){
- JUnitUtils.fail("Error in changing 'ContextVariableTest.java' content to " +
- "'ContextVariableTest.3'", ex);
- }
+ assertMarkerIsNotCreated(contextVariableTestFile, MARKER_TYPE, markerText);
- refreshProject(project);
+ // Unknown variable name
- int number = getMarkersNumber(contextVariableTestFile);
- assertFalse("Problem marker 'Unknown variable name' not found' not found' not found' not found", number == 0);
-
- String[] messages = getMarkersMessage(contextVariableTestFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker 'Unknown variable name' not found", "Unknown context variable name: \"messageList5\"", messages[0]);
-
- Integer[] lineNumbers = getMarkersNumbersOfLine(contextVariableTestFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker has wrong line number", 22, lineNumbers[0].intValue());
+ assertMarkerIsCreated(
+ "src/action/org/domain/SeamWebWarTestProject/session/ContextVariableTest.java",
+ "src/action/org/domain/SeamWebWarTestProject/session/ContextVariableTest.3",
+ markerText, 22);
}
public void testContextVariableCannotBeResolved_Validator() throws CoreException {
modifyPreferences();
IFile abcComponentXHTMLFile = project.getFile("WebContent/abcComponent.xhtml");
- IFile abcComponentFile = project.getFile("src/action/org/domain/SeamWebWarTestProject/session/AbcComponent.java");
refreshProject(project);
-
- int number = getMarkersNumber(abcComponentXHTMLFile);
- assertEquals("Problem marker was found in abcComponent.xhtml", 0, number);
- number = getMarkersNumber(abcComponentFile);
- assertEquals("Problem marker was found in AbcComponent.java", 0, number);
-
+ assertMarkerIsNotCreated(abcComponentXHTMLFile, MARKER_TYPE, "\"bcComponent\" cannot be resolved");
+
// Context variable cannot be resolved
-
- IFile abcComponentXHTMLFile2 = project.getFile("WebContent/abcComponent.2");
- try{
- abcComponentXHTMLFile.setContents(abcComponentXHTMLFile2.getContents(), true, false, null);
- }catch(Exception ex){
- JUnitUtils.fail("Error in changing 'abcComponent.xhtml' content to " +
- "'abcComponent.2'", ex);
- }
- refreshProject(project);
-
- number = getMarkersNumber(abcComponentXHTMLFile);
- assertFalse("Problem marker 'Context variable cannot be resolved' not found' not found' not found' not found", number == 0);
-
- String[] messages = getMarkersMessage(abcComponentXHTMLFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker 'Context variable cannot be resolved' not found", "\"bcComponent\" cannot be resolved", messages[0]);
-
- Integer[] lineNumbers = getMarkersNumbersOfLine(abcComponentXHTMLFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker has wrong line number", 22, lineNumbers[0].intValue());
+ assertMarkerIsCreated(
+ "WebContent/abcComponent.xhtml",
+ "WebContent/abcComponent.2",
+ "\"bcComponent\" cannot be resolved", 22);
}
public void testPropertyCannotBeResolved_Validator() throws CoreException {
IFile abcComponentXHTMLFile = project.getFile("WebContent/abcComponent.xhtml");
- // Property cannot be resolved
-
- IFile abcComponentXHTMLFile3 = project.getFile("WebContent/abcComponent.3");
- try{
- abcComponentXHTMLFile.setContents(abcComponentXHTMLFile3.getContents(), true, false, null);
- }catch(Exception ex){
- JUnitUtils.fail("Error in changing 'abcComponent.xhtml' content to " +
- "'abcComponent.3'", ex);
- }
+ String markerText = "\"actionType2\" cannot be resolved";
- refreshProject(project);
+ assertMarkerIsNotCreated(abcComponentXHTMLFile, MARKER_TYPE, markerText);
- int number = getMarkersNumber(abcComponentXHTMLFile);
- assertFalse("Problem marker 'Property cannot be resolved' was not found", number == 0);
+ // Property cannot be resolved
- String[] messages = getMarkersMessage(abcComponentXHTMLFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker 'Property cannot be resolved' was not found", "\"actionType2\" cannot be resolved", messages[0]);
-
- Integer[] lineNumbers = getMarkersNumbersOfLine(abcComponentXHTMLFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker has wrong line number", 22, lineNumbers[0].intValue());
+ assertMarkerIsCreated(
+ "WebContent/abcComponent.xhtml",
+ "WebContent/abcComponent.3",
+ markerText, 22);
}
- public void testUnpairedGetterOrSetter_Validator() throws CoreException {
+ public void testPropertyHasOnlySetter_Validator() throws CoreException {
IFile abcComponentXHTMLFile = project.getFile("WebContent/abcComponent.xhtml");
IFile abcComponentFile = project.getFile("src/action/org/domain/SeamWebWarTestProject/session/AbcComponent.java");
+ String markerText = "Property \"actionType\" has only Setter. Getter is missing.";
+
+ assertMarkerIsNotCreated(abcComponentXHTMLFile, MARKER_TYPE, markerText);
+
+ assertMarkerIsNotCreated(abcComponentFile, MARKER_TYPE, markerText);
+
// Unpaired Getter/Setter
enableUnpairGetterOrSetterValidation(true);
-
- IFile abcComponentXHTMLFile4 = project.getFile("WebContent/abcComponent.4");
- try{
- abcComponentXHTMLFile.setContents(abcComponentXHTMLFile4.getContents(), true, false, null);
- }catch(Exception ex){
- JUnitUtils.fail("Error in changing 'abcComponent.xhtml' content to " +
- "'abcComponent.4'", ex);
- }
- refreshProject(project);
-
- int number = getMarkersNumber(abcComponentXHTMLFile);
- assertEquals("Problem marker was found in abcComponent.xhtml", 0, number);
-
IFile abcComponentFile2 = project.getFile("src/action/org/domain/SeamWebWarTestProject/session/AbcComponent.2");
try{
abcComponentFile.setContents(abcComponentFile2.getContents(), true, false, null);
@@ -711,19 +613,24 @@
"'abcComponent.2'", ex);
}
- refreshProject(project);
+ assertMarkerIsCreated(
+ "WebContent/abcComponent.xhtml",
+ "WebContent/abcComponent.4",
+ markerText, 22);
- number = getMarkersNumber(abcComponentXHTMLFile);
- assertFalse("Problem marker 'Unpaired Getter/Setter' was not found", number == 0);
-
- String[] messages = getMarkersMessage(abcComponentXHTMLFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker 'Unpaired Getter/Setter' was not found", "Property \"actionType\" has only Setter. Getter is missing.", messages[0]);
+ enableUnpairGetterOrSetterValidation(false);
+ }
+
+ public void testPropertyHasOnlyGetter_Validator() throws CoreException {
+ IFile abcComponentXHTMLFile = project.getFile("WebContent/abcComponent.xhtml");
+ IFile abcComponentFile = project.getFile("src/action/org/domain/SeamWebWarTestProject/session/AbcComponent.java");
- Integer[] lineNumbers = getMarkersNumbersOfLine(abcComponentXHTMLFile, SEAM_MARKER_FILTER);
+ String markerText = "Property \"actionType\" has only Getter. Setter is missing.";
- assertEquals("Problem marker has wrong line number", 22, lineNumbers[0].intValue());
-
+ assertMarkerIsNotCreated(abcComponentXHTMLFile, MARKER_TYPE, markerText);
+
+ enableUnpairGetterOrSetterValidation(true);
+
IFile abcComponentFile3 = project.getFile("src/action/org/domain/SeamWebWarTestProject/session/AbcComponent.3");
try{
abcComponentFile.setContents(abcComponentFile3.getContents(), true, false, null);
@@ -733,18 +640,12 @@
}
refreshProject(project);
+
+ assertMarkerIsCreated(
+ abcComponentXHTMLFile,
+ MARKER_TYPE,
+ markerText, 22);
- number = getMarkersNumber(abcComponentXHTMLFile);
- assertFalse("Problem marker 'Unpaired Getter/Setter' was not found", number == 0);
-
- messages = getMarkersMessage(abcComponentXHTMLFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker 'Unpaired Getter/Setter' was not found", "Property \"actionType\" has only Getter. Setter is missing.", messages[0]);
-
- lineNumbers = getMarkersNumbersOfLine(abcComponentXHTMLFile, SEAM_MARKER_FILTER);
-
- assertEquals("Problem marker has wrong line number", 22, lineNumbers[0].intValue());
-
enableUnpairGetterOrSetterValidation(false);
}
14 years, 8 months
JBoss Tools SVN: r16892 - in trunk/hibernatetools/plugins: org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2009-07-30 07:19:41 -0400 (Thu, 30 Jul 2009)
New Revision: 16892
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/DiscriminatorFormula.java
Removed:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/DiscriminatorFormula.java
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernateEntity.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormula.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4665
Class moved to right package
Copied: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/DiscriminatorFormula.java (from rev 16874, trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/DiscriminatorFormula.java)
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/DiscriminatorFormula.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/DiscriminatorFormula.java 2009-07-30 11:19:41 UTC (rev 16892)
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.hibernate.jpt.core.internal.context;
+
+import org.eclipse.jpt.core.context.JpaContextNode;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public interface DiscriminatorFormula extends JpaContextNode {
+
+ String getValue();
+ void setValue(String value);
+ String VALUE_PROPERTY = "value"; //$NON-NLS-1$
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernateEntity.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernateEntity.java 2009-07-30 08:35:56 UTC (rev 16891)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/HibernateEntity.java 2009-07-30 11:19:41 UTC (rev 16892)
@@ -11,7 +11,6 @@
package org.jboss.tools.hibernate.jpt.core.internal.context;
import org.eclipse.jpt.core.context.Entity;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.DiscriminatorFormula;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.GenericGeneratorHolder;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateQueryContainer;
Deleted: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/DiscriminatorFormula.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/DiscriminatorFormula.java 2009-07-30 08:35:56 UTC (rev 16891)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/DiscriminatorFormula.java 2009-07-30 11:19:41 UTC (rev 16892)
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is 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
- *
- * Contributor:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-
-import org.eclipse.jpt.core.context.JpaContextNode;
-
-/**
- * @author Dmitry Geraskov
- *
- */
-public interface DiscriminatorFormula extends JpaContextNode {
-
- String getValue();
- void setValue(String value);
- String VALUE_PROPERTY = "value"; //$NON-NLS-1$
-
-}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormula.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormula.java 2009-07-30 08:35:56 UTC (rev 16891)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaDiscriminatorFormula.java 2009-07-30 11:19:41 UTC (rev 16892)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
+import org.jboss.tools.hibernate.jpt.core.internal.context.DiscriminatorFormula;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.DiscriminatorFormulaAnnotation;
/**
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java 2009-07-30 08:35:56 UTC (rev 16891)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/java/details/HibernateDiscriminatorColumnComposite.java 2009-07-30 11:19:41 UTC (rev 16892)
@@ -38,8 +38,8 @@
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Spinner;
+import org.jboss.tools.hibernate.jpt.core.internal.context.DiscriminatorFormula;
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateEntity;
-import org.jboss.tools.hibernate.jpt.core.internal.context.java.DiscriminatorFormula;
import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateUIMappingMessages;
/**
14 years, 8 months
JBoss Tools SVN: r16891 - in trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks: configuration/editors/edi and 9 other directories.
by jbosstools-commits@lists.jboss.org
Author: DartPeng
Date: 2009-07-30 04:35:56 -0400 (Thu, 30 Jul 2009)
New Revision: 16891
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/JavaBeanChildNodeEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/JavaBeanContainerEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksGraphUtil.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceGraphModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/InputDataRootModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanGraphModel.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataParser.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XMLStructuredDataContentProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editor/EDIMapFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/common/RootModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksEditFactory.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/InputDataContainerEditPart.java
Log:
JBIDE-4648
create input message figure and Bean figure
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksMasterDetailBlock.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -133,6 +133,9 @@
}
protected void refreshSmooksTreeViewer() {
+ if (smooksTreeViewer.getControl().isDisposed()) {
+ return;
+ }
smooksTreeViewer.refresh();
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataParser.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataParser.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/edi/EDIDataParser.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -171,6 +171,7 @@
SmooksResourceConfiguration readerConfig = new SmooksResourceConfiguration("org.xml.sax.driver",
SmooksEDIReader.class.getName());
+ if(mappingModel == null) return null;
File f = new File(mappingModel);
String modelPath = mappingModel;
if (f.exists()) {
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -2309,15 +2309,16 @@
continue;
parentList.remove(parentList.size() - 1);
((TreeNodeEditPart) rootEditPart).expandNode();
+ TreeNodeEditPart tempEditPart = rootEditPart;
for (int i = parentList.size() - 1; i >= 0; i--) {
boolean expanded = false;
TreeNodeModel parentNode = parentList.get(i);
- List<?> editParts = rootEditPart.getChildren();
+ List<?> editParts = tempEditPart.getChildren();
for (Iterator<?> iterator2 = editParts.iterator(); iterator2.hasNext();) {
EditPart editPart = (EditPart) iterator2.next();
if (editPart instanceof TreeNodeEditPart && editPart.getModel() == parentNode) {
((TreeNodeEditPart) editPart).expandNode();
- rootEditPart = (TreeNodeEditPart) editPart;
+ tempEditPart = (TreeNodeEditPart) editPart;
expanded = true;
break;
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XMLStructuredDataContentProvider.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XMLStructuredDataContentProvider.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xml/XMLStructuredDataContentProvider.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -15,6 +15,7 @@
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
+import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
/**
* @author Dart Peng
@@ -36,9 +37,12 @@
List pros = ((TagObject)obj).getProperties();
c.addAll(pros);
c.addAll(((TagObject)obj).getXMLNodeChildren());
-
return c.toArray();
}
+
+ if(obj instanceof IXMLStructuredObject){
+ return ((IXMLStructuredObject)obj).getChildren().toArray();
+ }
return new Object[] {};
}
@@ -48,8 +52,8 @@
* @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object )
*/
public Object getParent(Object arg0) {
- if(arg0 instanceof AbstractXMLObject){
- return ((AbstractXMLObject)arg0).getParent();
+ if(arg0 instanceof IXMLStructuredObject){
+ return ((IXMLStructuredObject)arg0).getParent();
}
return null;
}
@@ -67,8 +71,8 @@
return true;
}
if(obj instanceof TagObject){
- List pros = ((TagObject)obj).getProperties();
- List c = (((TagObject)obj).getXMLNodeChildren());
+ List<?> pros = ((TagObject)obj).getProperties();
+ List<?> c = (((TagObject)obj).getXMLNodeChildren());
return !pros.isEmpty() || !c.isEmpty();
}
return false;
@@ -84,6 +88,9 @@
if(arg0 instanceof TagList){
return ((TagList)arg0).getRootTagList().toArray();
}
+ if(arg0 instanceof IXMLStructuredObject){
+ return ((IXMLStructuredObject)arg0).getChildren().toArray();
+ }
return new Object[] {};
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/SmooksModelValidator.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -77,7 +77,7 @@
private boolean waiting = false;
private Object lock = new Object();
private AdapterFactoryEditingDomain innerEditingDomain;
-
+
private SmooksMarkerHelper markerHelper = new SmooksMarkerHelper();
private long watingTime = 300;
@@ -222,18 +222,21 @@
for (Iterator<?> iterator = listeners.iterator(); iterator.hasNext();) {
final ISmooksModelValidateListener l = (ISmooksModelValidateListener) iterator.next();
- Display.getDefault().syncExec(new Runnable() {
+ Display dis = Display.getDefault();
+ if (dis != null && !dis.isDisposed()) {
+ dis.syncExec(new Runnable() {
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Runnable#run()
- */
- public void run() {
- l.validateEnd(d);
- }
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Runnable#run()
+ */
+ public void run() {
+ l.validateEnd(d);
+ }
- });
+ });
+ }
}
} finally {
waiting = false;
@@ -247,7 +250,7 @@
private AdapterFactoryEditingDomain newEditingDomain() {
BasicCommandStack commandStack = new BasicCommandStack();
- if(innerEditingDomain == null){
+ if (innerEditingDomain == null) {
innerEditingDomain = new AdapterFactoryEditingDomain(getAdapterFactory(), commandStack,
new HashMap<Resource, Boolean>());
}
@@ -255,9 +258,8 @@
}
public ComposedAdapterFactory getAdapterFactory() {
- if(adapterFactory == null){
- adapterFactory = new ComposedAdapterFactory(
- ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+ if (adapterFactory == null) {
+ adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
adapterFactory.addAdapterFactory(new XslItemProviderAdapterFactory());
@@ -301,19 +303,19 @@
}
List<Object> list = new ArrayList<Object>();
list.add(smooksModel);
-
+
final List<Diagnostic> d = this.validate(list, editingDomain, monitor);
- try{
- markerHelper.deleteMarkers(smooksResource);
- for (Iterator<?> iterator = d.iterator(); iterator.hasNext();) {
- Diagnostic diagnostic = (Diagnostic) iterator.next();
- if (resource != null && diagnostic.getSeverity() != Diagnostic.OK) {
- for (Diagnostic childDiagnostic : diagnostic.getChildren()) {
- markerHelper.createMarkers(smooksResource, childDiagnostic);
+ try {
+ markerHelper.deleteMarkers(smooksResource);
+ for (Iterator<?> iterator = d.iterator(); iterator.hasNext();) {
+ Diagnostic diagnostic = (Diagnostic) iterator.next();
+ if (resource != null && diagnostic.getSeverity() != Diagnostic.OK) {
+ for (Diagnostic childDiagnostic : diagnostic.getChildren()) {
+ markerHelper.createMarkers(smooksResource, childDiagnostic);
+ }
}
}
- }
- }catch(Exception e){
+ } catch (Exception e) {
e.printStackTrace();
}
return null;
@@ -328,6 +330,6 @@
public void initValidator(Collection<?> selectedObjects, EditingDomain editingDomain) {
// TODO Auto-generated method stub
-
+
}
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editor/EDIMapFormPage.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editor/EDIMapFormPage.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/edimap/editor/EDIMapFormPage.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -300,9 +300,9 @@
if (graph == null)
return;
- List<TreeNodeModel> list = graphicalRootModel.getChildren();
+ List<AbstractSmooksGraphicalModel> list = graphicalRootModel.getChildren();
for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
- TreeNodeModel treeNodeModel = (TreeNodeModel) iterator.next();
+ AbstractSmooksGraphicalModel treeNodeModel = (AbstractSmooksGraphicalModel) iterator.next();
if (treeNodeModel instanceof IMoveableModel) {
Object data = treeNodeModel.getData();
String id = EDISegementsEditPart.generateFigureId(data);
@@ -416,10 +416,10 @@
}
private void removeEDIGraphModel() {
- List<TreeNodeModel> children = this.graphicalRootModel.getChildren();
- List<TreeNodeModel> temp = new ArrayList<TreeNodeModel>(children);
+ List<AbstractSmooksGraphicalModel> children = this.graphicalRootModel.getChildren();
+ List<AbstractSmooksGraphicalModel> temp = new ArrayList<AbstractSmooksGraphicalModel>(children);
for (Iterator<?> iterator = temp.iterator(); iterator.hasNext();) {
- TreeNodeModel treeNodeModel = (TreeNodeModel) iterator.next();
+ AbstractSmooksGraphicalModel treeNodeModel = (AbstractSmooksGraphicalModel) iterator.next();
if (treeNodeModel.getData() instanceof TagObject) {
graphicalRootModel.removeTreeNode(treeNodeModel);
}
@@ -1050,7 +1050,7 @@
Segment segment = (Segment) obj;
TreeNodeModel segmentGraphicalModel = findEDIGraphicalModel(segment);
String code = segment.getSegcode();
- TreeNodeModel model = findEDIDataGraphicalModel(code);
+ AbstractSmooksGraphicalModel model = findEDIDataGraphicalModel(code);
if (segmentGraphicalModel != null && model != null) {
if (!isLinked(segmentGraphicalModel, model)) {
new TreeNodeConnection(segmentGraphicalModel, model).connect();
@@ -1065,7 +1065,7 @@
return sourceLinkedModel;
}
- private boolean isLinked(TreeNodeModel source, TreeNodeModel target) {
+ private boolean isLinked(AbstractSmooksGraphicalModel source, AbstractSmooksGraphicalModel target) {
List<TreeNodeConnection> connections = source.getSourceConnections();
for (Iterator<?> iterator = connections.iterator(); iterator.hasNext();) {
TreeNodeConnection treeNodeConnection = (TreeNodeConnection) iterator.next();
@@ -1110,7 +1110,7 @@
*/
private TreeNodeModel findEDIGraphicalModel(Object model) {
if (graphicalRootModel != null) {
- List<TreeNodeModel> treeNodeList = graphicalRootModel.getChildren();
+ List<AbstractSmooksGraphicalModel> treeNodeList = graphicalRootModel.getChildren();
return (TreeNodeModel)findEDIGraphicalModel(model, treeNodeList);
}
return null;
@@ -1131,13 +1131,13 @@
return null;
}
- private TreeNodeModel findEDIDataGraphicalModel(String code) {
+ private AbstractSmooksGraphicalModel findEDIDataGraphicalModel(String code) {
if (code == null)
return null;
if (graphicalRootModel != null) {
- List<TreeNodeModel> treeNodeList = graphicalRootModel.getChildren();
+ List<AbstractSmooksGraphicalModel> treeNodeList = graphicalRootModel.getChildren();
for (Iterator<?> iterator = treeNodeList.iterator(); iterator.hasNext();) {
- TreeNodeModel treeNodeModel = (TreeNodeModel) iterator.next();
+ AbstractSmooksGraphicalModel treeNodeModel = (AbstractSmooksGraphicalModel) iterator.next();
Object model = treeNodeModel.getData();
if (model instanceof TagObject) {
String name = ((TagObject) model).getName();
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/common/RootModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/common/RootModel.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/common/RootModel.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -5,6 +5,7 @@
import java.util.ArrayList;
import java.util.List;
+import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
public class RootModel {
@@ -15,11 +16,11 @@
private PropertyChangeSupport support = new PropertyChangeSupport(this);
- private List<TreeNodeModel> children;
+ private List<AbstractSmooksGraphicalModel> children;
- public List<TreeNodeModel> getChildren() {
+ public List<AbstractSmooksGraphicalModel> getChildren() {
if (children == null) {
- children = new ArrayList<TreeNodeModel>();
+ children = new ArrayList<AbstractSmooksGraphicalModel>();
}
return children;
}
@@ -29,7 +30,7 @@
support.firePropertyChange(REMOVE_CHILDREN, new Object(), null);
}
- public void removeTreeNode(TreeNodeModel node) {
+ public void removeTreeNode(AbstractSmooksGraphicalModel node) {
this.getChildren().remove(node);
support.firePropertyChange(REMOVE_CHILDREN, node, null);
}
@@ -42,7 +43,7 @@
support.removePropertyChangeListener(listener);
}
- public void addTreeNode(TreeNodeModel node) {
+ public void addTreeNode(AbstractSmooksGraphicalModel node) {
this.getChildren().add(node);
support.firePropertyChange(ADD_CHILDREN, null, node);
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/gef/tree/editparts/TreeNodeConnectionEditPart.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -64,6 +64,7 @@
public PointList getPoints() {
PointList list = super.getPoints();
+ if(list.size() == 0) return list;
Point start = getStart();
Point start2 = new Point(start.x + 20, start.y);
Point end = getEnd();
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksEditFactory.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksEditFactory.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksEditFactory.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -23,8 +23,12 @@
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
import org.jboss.tools.smooks.graphical.editors.editparts.InputDataContainerEditPart;
import org.jboss.tools.smooks.graphical.editors.editparts.InputDataTreeNodeEditPart;
+import org.jboss.tools.smooks.graphical.editors.editparts.JavaBeanChildNodeEditPart;
+import org.jboss.tools.smooks.graphical.editors.editparts.JavaBeanContainerEditPart;
import org.jboss.tools.smooks.graphical.editors.model.InputDataContianerModel;
import org.jboss.tools.smooks.graphical.editors.model.InputDataTreeNodeModel;
+import org.jboss.tools.smooks.graphical.editors.model.JavaBeanChildGraphModel;
+import org.jboss.tools.smooks.graphical.editors.model.JavaBeanGraphModel;
/**
* @author Dart
@@ -52,6 +56,13 @@
}if(model.getClass() == InputDataContianerModel.class){
editPart = new InputDataContainerEditPart();
}
+
+ // for javabean
+ if(model.getClass() == JavaBeanChildGraphModel.class){
+ editPart = new JavaBeanChildNodeEditPart();
+ }if(model.getClass() == JavaBeanGraphModel.class){
+ editPart = new JavaBeanContainerEditPart();
+ }
if(model.getClass() == TreeNodeConnection.class){
editPart = new TreeNodeConnectionEditPart();
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksGraphicalEditorPart.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -10,32 +10,58 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors;
+import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
import org.eclipse.gef.DefaultEditDomain;
+import org.eclipse.gef.EditDomain;
+import org.eclipse.gef.EditPart;
import org.eclipse.gef.commands.CommandStackEvent;
import org.eclipse.gef.commands.CommandStackEventListener;
import org.eclipse.gef.editparts.FreeformGraphicalRootEditPart;
import org.eclipse.gef.ui.parts.GraphicalEditor;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorSite;
+import org.eclipse.ui.PartInitException;
+import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
import org.jboss.tools.smooks.configuration.editors.SelectoreSelectionDialog;
-import org.jboss.tools.smooks.configuration.editors.SmooksMultiFormEditor;
-import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanList;
import org.jboss.tools.smooks.configuration.editors.javabean.JavaBeanModel;
import org.jboss.tools.smooks.configuration.editors.javabean.JavabeanContentProvider;
import org.jboss.tools.smooks.configuration.editors.javabean.JavabeanlabelProvider;
-import org.jboss.tools.smooks.configuration.editors.xml.TagList;
-import org.jboss.tools.smooks.configuration.editors.xml.TagObject;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
import org.jboss.tools.smooks.configuration.editors.xml.XMLStructuredDataContentProvider;
import org.jboss.tools.smooks.configuration.editors.xml.XMLStructuredDataLabelProvider;
import org.jboss.tools.smooks.editor.ISmooksModelProvider;
import org.jboss.tools.smooks.gef.common.RootModel;
+import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
+import org.jboss.tools.smooks.gef.tree.figures.IMoveableModel;
import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeConnection;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+import org.jboss.tools.smooks.graphical.editors.editparts.InputDataContainerEditPart;
+import org.jboss.tools.smooks.graphical.editors.editparts.SmooksGraphUtil;
import org.jboss.tools.smooks.graphical.editors.model.InputDataContianerModel;
+import org.jboss.tools.smooks.graphical.editors.model.InputDataRootModel;
+import org.jboss.tools.smooks.graphical.editors.model.JavaBeanChildGraphModel;
+import org.jboss.tools.smooks.graphical.editors.model.JavaBeanGraphModel;
+import org.jboss.tools.smooks.model.common.AbstractAnyType;
+import org.jboss.tools.smooks.model.graphics.ext.FigureType;
+import org.jboss.tools.smooks.model.graphics.ext.GraphType;
+import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
+import org.jboss.tools.smooks.model.javabean.BindingsType;
import org.jboss.tools.smooks.model.smooks.DocumentRoot;
+import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
+import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
/**
* @author Dart
@@ -45,18 +71,24 @@
private DefaultEditDomain editDomain = null;
- private SmooksMultiFormEditor formEditor = null;
+ private ISmooksModelProvider smooksModelProvider = null;
- public SmooksGraphicalEditorPart(SmooksMultiFormEditor formEditor) {
+ private RootModel root;
+
+ private SmooksResourceListType smooksResourceList;
+
+ private List<Object> inputDataList = null;
+
+ public SmooksGraphicalEditorPart(ISmooksModelProvider provider) {
super();
this.editDomain = new DefaultEditDomain(this);
this.editDomain.getCommandStack().addCommandStackEventListener(new CommandStackEventListener() {
-
+
public void stackChanged(CommandStackEvent event) {
firePropertyChange(PROP_DIRTY);
}
});
- this.formEditor = formEditor;
+ this.smooksModelProvider = provider;
this.setEditDomain(editDomain);
}
@@ -73,50 +105,255 @@
getGraphicalViewer().setRootEditPart(new FreeformGraphicalRootEditPart());
}
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.gef.ui.parts.GraphicalEditor#initializeGraphicalViewer()
- */
- @Override
- protected void initializeGraphicalViewer() {
- Object obj = formEditor.getSmooksModel();
- if (obj instanceof DocumentRoot) {
- List<Object> inputDatas = SelectoreSelectionDialog.generateInputData(formEditor.getSmooksGraphicsExt(),
- ((DocumentRoot) obj).getSmooksResourceList());
- RootModel root = new RootModel();
- for (Iterator<?> iterator = inputDatas.iterator(); iterator.hasNext();) {
+ protected void initGraphicalModel() {
+ if (root == null) {
+ root = new RootModel();
+ } else {
+ root.removeAllTreeNode();
+ }
+ Object obj = smooksModelProvider.getSmooksModel();
+ AdapterFactoryEditingDomain editingDomain = (AdapterFactoryEditingDomain) smooksModelProvider
+ .getEditingDomain();
+ if (inputDataList != null && obj != null && obj instanceof DocumentRoot && editingDomain != null) {
+ for (Iterator<?> iterator = inputDataList.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
ITreeContentProvider contentProvider = new XMLStructuredDataContentProvider();
ILabelProvider labelProvider = new XMLStructuredDataLabelProvider();
- Object containerModel = null;
+ InputDataRootModel containerModel = new InputDataRootModel();
if (object instanceof JavaBeanModel) {
contentProvider = new JavabeanContentProvider();
labelProvider = new JavabeanlabelProvider();
- containerModel = new JavaBeanList();
- ((JavaBeanList) containerModel).addJavaBean((JavaBeanModel) object);
+
}
- if (object instanceof TagObject) {
- containerModel = new TagList();
- ((TagList) containerModel).addRootTag((TagObject) object);
- }
+ // if(object instanceof TagObject){
+ // TagList tl = new TagList();
+ // tl.addRootTag((TagObject)object);
+ // TreeContainerModel container = new
+ // InputDataContianerModel(tl, contentProvider,
+ // labelProvider);
+ // root.addTreeNode(container);
+ // }
+ containerModel.getChildren().add((IXMLStructuredObject) object);
if (containerModel != null) {
TreeContainerModel container = new InputDataContianerModel(containerModel, contentProvider,
labelProvider);
root.addTreeNode(container);
}
}
+ // to find Bean v1.2
+ SmooksResourceListType listType = ((DocumentRoot) obj).getSmooksResourceList();
+ List<?> arcList = listType.getAbstractResourceConfig();
+ ITreeContentProvider contentProvider = new AdapterFactoryContentProvider(editingDomain.getAdapterFactory());
+ ILabelProvider labelProvider = new AdapterFactoryLabelProvider(editingDomain.getAdapterFactory()) {
+ @Override
+ public String getText(Object object) {
+ Object obj = AdapterFactoryEditingDomain.unwrap(object);
+ if (obj instanceof AbstractAnyType) {
+ return super.getText(obj);
+ }
+ return super.getText(object);
+ }
+
+ };
+ for (Iterator<?> iterator = arcList.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ if (object instanceof BindingsType) {
+ JavaBeanGraphModel graphModel = new JavaBeanGraphModel(object, contentProvider, labelProvider);
+ graphModel.setHeaderVisable(true);
+ root.addTreeNode(graphModel);
+ }
+ }
+
getGraphicalViewer().setContents(root);
}
+
+ // create connection
+ List<TreeNodeConnection> connections = createConnectionModel();
+
+ // init position
+
+ initModelGraphicsInformation(smooksModelProvider.getSmooksGraphicsExt());
+
+ // expand connected models
+ expandConnectedModels(connections);
}
-
-
+ protected List<TreeNodeConnection> createConnectionModel() {
+ List<TreeNodeConnection> connections = new ArrayList<TreeNodeConnection>();
+ if (root != null) {
+ createConnection(root.getChildren(), connections);
+ }
+ return connections;
+ }
+
+ private List<TreeNodeConnection> createConnection(AbstractSmooksGraphicalModel model) {
+ List<TreeNodeConnection> cs = new ArrayList<TreeNodeConnection>();
+ if (hasSelectorConnection(model)) {
+ List<TreeNodeConnection> cList = createSelectorConnection(model);
+ if (cList != null) {
+ cs.addAll(cList);
+ }
+ }
+ if (hasBeanIDReferenceConnection(model)) {
+ TreeNodeConnection c = createBeanIDReferenceConnection(model);
+ if (c != null) {
+ cs.add(c);
+ }
+ }
+ if (cs.isEmpty())
+ return null;
+ return cs;
+ }
+
+ private TreeNodeConnection createBeanIDReferenceConnection(AbstractSmooksGraphicalModel model) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ private List<TreeNodeConnection> createSelectorConnection(AbstractSmooksGraphicalModel model) {
+ Object data = model.getData();
+ data = AdapterFactoryEditingDomain.unwrap(data);
+ List<TreeNodeConnection> connections = new ArrayList<TreeNodeConnection>();
+ if (data != null && data instanceof EObject) {
+ EStructuralFeature feature = SmooksGraphUtil.getSelectorFeature((EObject) data);
+ Object sd = ((EObject) data).eGet(feature);
+ if (sd != null) {
+ String selector = sd.toString();
+ if (inputDataList != null) {
+ for (Iterator<?> iterator = inputDataList.iterator(); iterator.hasNext();) {
+ Object obj = (Object) iterator.next();
+ if (obj instanceof IXMLStructuredObject) {
+ AbstractSmooksGraphicalModel sourceGraphModel = SmooksGraphUtil.findInputGraphModel(
+ selector, (IXMLStructuredObject) obj, root);
+ if (sourceGraphModel != null) {
+ TreeNodeConnection connection = new TreeNodeConnection(sourceGraphModel, model);
+ connection.connect();
+ connections.add(connection);
+ }
+ }
+ }
+ }
+ }
+ }
+ return connections;
+ }
+
+ private boolean hasSelectorConnection(AbstractSmooksGraphicalModel model) {
+ Object data = model.getData();
+ data = AdapterFactoryEditingDomain.unwrap(data);
+ if (data instanceof EObject) {
+ return (SmooksGraphUtil.getSelectorFeature((EObject) data) != null);
+ }
+ return false;
+ }
+
+ private boolean hasBeanIDReferenceConnection(AbstractSmooksGraphicalModel model) {
+ return false;
+ }
+
+ private void createConnection(List<AbstractSmooksGraphicalModel> children, List<TreeNodeConnection> connections) {
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
+ AbstractSmooksGraphicalModel abstractSmooksGraphicalModel = (AbstractSmooksGraphicalModel) iterator.next();
+ if (!(abstractSmooksGraphicalModel instanceof InputDataContianerModel)) {
+ if (canCreateConnection(abstractSmooksGraphicalModel)) {
+ List<TreeNodeConnection> c = createConnection(abstractSmooksGraphicalModel);
+ if (c != null) {
+ connections.addAll(c);
+ }
+ }
+ List<AbstractSmooksGraphicalModel> cchildren = abstractSmooksGraphicalModel.getChildren();
+ createConnection(cchildren, connections);
+ }
+ }
+ }
+
+ private boolean canCreateConnection(AbstractSmooksGraphicalModel model) {
+ if (model instanceof JavaBeanGraphModel) {
+ return true;
+ }
+ if (model instanceof JavaBeanChildGraphModel) {
+ return true;
+ }
+ return false;
+ }
+
+ protected void initSmooksData() {
+ if (smooksModelProvider != null) {
+ Object obj = smooksModelProvider.getSmooksModel();
+ smooksResourceList = null;
+ if (obj instanceof DocumentRoot) {
+ smooksResourceList = ((DocumentRoot) obj).getSmooksResourceList();
+ inputDataList = SelectoreSelectionDialog.generateInputData(smooksModelProvider.getSmooksGraphicsExt(),
+ smooksResourceList);
+ }
+ }
+ }
+
@Override
+ public void init(IEditorSite site, IEditorInput input) throws PartInitException {
+ super.init(site, input);
+ initSmooksData();
+ }
+
+ protected void expandConnectedModels(List<TreeNodeConnection> connections) {
+ List<TreeNodeModel> expanedTreeNodeList = new ArrayList<TreeNodeModel>();
+ for (Iterator<?> iterator = connections.iterator(); iterator.hasNext();) {
+ TreeNodeConnection treeNodeConnection = (TreeNodeConnection) iterator.next();
+ AbstractSmooksGraphicalModel source = treeNodeConnection.getSourceNode();
+ Object data = source.getData();
+ if (source instanceof TreeNodeModel && data instanceof IXMLStructuredObject) {
+ expanedTreeNodeList.add((TreeNodeModel) source);
+ }
+ }
+ EditPart rootEditPart = getGraphicalViewer().getContents();
+ List<?> childrenEditPart = rootEditPart.getChildren();
+ for (Iterator<?> iterator = childrenEditPart.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ if (object instanceof InputDataContainerEditPart) {
+ SmooksUIUtils.expandGraphTree(expanedTreeNodeList, (InputDataContainerEditPart) object);
+ }
+ }
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.gef.ui.parts.GraphicalEditor#initializeGraphicalViewer()
+ */
+ @Override
+ protected void initializeGraphicalViewer() {
+ initGraphicalModel();
+ }
+
+ protected void initModelGraphicsInformation(SmooksGraphicsExtType ext) {
+ GraphType graph = ext.getGraph();
+ if (graph == null)
+ return;
+ List<AbstractSmooksGraphicalModel> list = root.getChildren();
+ for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
+ AbstractSmooksGraphicalModel treeNodeModel = (AbstractSmooksGraphicalModel) iterator.next();
+ if (treeNodeModel instanceof IMoveableModel) {
+ String id = SmooksGraphUtil.generateFigureID(treeNodeModel);
+ if (id != null) {
+ FigureType ft = SmooksModelUtils.findFigureType(graph, id);
+ try {
+ int x = Integer.parseInt(ft.getX());
+ int y = Integer.parseInt(ft.getY());
+ ((IMoveableModel) treeNodeModel).setLocation(new Point(x, y));
+ } catch (Throwable t) {
+ continue;
+ }
+ }
+ }
+ }
+ }
+
+ @Override
public Object getAdapter(Class type) {
- if(type == ISmooksModelProvider.class){
- return this.formEditor;
+ if (type == ISmooksModelProvider.class) {
+ return this.smooksModelProvider;
}
return super.getAdapter(type);
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/InputDataContainerEditPart.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/InputDataContainerEditPart.java 2009-07-30 07:55:55 UTC (rev 16890)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/InputDataContainerEditPart.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -12,7 +12,6 @@
import java.beans.PropertyChangeEvent;
-import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
import org.jboss.tools.smooks.gef.tree.editparts.TreeContainerEditPart;
import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
@@ -29,12 +28,7 @@
@Override
protected String generateFigureID() {
- TreeNodeModel model = (TreeNodeModel)this.getModel();
- Object data = model.getData();
- if(data instanceof IXMLStructuredObject){
- return ((IXMLStructuredObject)data).getID().toString();
- }
- return null;
+ return SmooksGraphUtil.generateFigureID((TreeNodeModel)getModel());
}
}
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/JavaBeanChildNodeEditPart.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/JavaBeanChildNodeEditPart.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/JavaBeanChildNodeEditPart.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors.editparts;
+
+import org.jboss.tools.smooks.gef.tree.editparts.TreeNodeEditPart;
+
+/**
+ * @author Dart
+ *
+ */
+public class JavaBeanChildNodeEditPart extends TreeNodeEditPart {
+
+ @Override
+ protected boolean isDragLink() {
+ return false;
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/JavaBeanChildNodeEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/JavaBeanContainerEditPart.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/JavaBeanContainerEditPart.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/JavaBeanContainerEditPart.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors.editparts;
+
+import org.jboss.tools.smooks.gef.tree.editparts.TreeContainerEditPart;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+/**
+ * @author Dart
+ *
+ */
+public class JavaBeanContainerEditPart extends TreeContainerEditPart {
+
+ @Override
+ protected String generateFigureID() {
+ return SmooksGraphUtil.generateFigureID((TreeNodeModel) getModel());
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/JavaBeanContainerEditPart.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksGraphUtil.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksGraphUtil.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksGraphUtil.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors.editparts;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
+import org.jboss.tools.smooks.configuration.editors.uitls.SmooksUIUtils;
+import org.jboss.tools.smooks.gef.common.RootModel;
+import org.jboss.tools.smooks.gef.model.AbstractSmooksGraphicalModel;
+import org.jboss.tools.smooks.graphical.editors.model.InputDataContianerModel;
+import org.jboss.tools.smooks.model.javabean.BindingsType;
+import org.jboss.tools.smooks.model.javabean.JavabeanPackage;
+import org.jboss.tools.smooks.model.javabean.ValueType;
+import org.jboss.tools.smooks.model.javabean.WiringType;
+
+/**
+ * @author Dart
+ *
+ */
+public class SmooksGraphUtil {
+
+ public static String generateFigureID(AbstractSmooksGraphicalModel model) {
+ Object data = model.getData();
+ if (data instanceof BindingsType) {
+ String beanId = ((BindingsType) data).getBeanId();
+ if (beanId == null) {
+ return null;
+ }
+ beanId = beanId.trim();
+ return "BindingsType_" + beanId;
+ }
+ if (data instanceof IXMLStructuredObject) {
+ List<?> children = ((IXMLStructuredObject) data).getChildren();
+ if (children == null || children.isEmpty()) {
+
+ } else {
+ Object child = children.get(0);
+ if (child != null && child instanceof IXMLStructuredObject) {
+ return ((IXMLStructuredObject) child).getID().toString();
+ }
+ }
+ return ((IXMLStructuredObject) data).getID().toString();
+ }
+ return null;
+ }
+
+ public static EStructuralFeature getSelectorFeature(EObject obj) {
+ if (obj == null)
+ return null;
+ if (obj instanceof BindingsType) {
+ return JavabeanPackage.Literals.BINDINGS_TYPE__CREATE_ON_ELEMENT;
+ }
+ if(obj instanceof ValueType){
+ return JavabeanPackage.Literals.VALUE_TYPE__DATA;
+ }
+ if(obj instanceof WiringType){
+ return JavabeanPackage.Literals.WIRING_TYPE__WIRE_ON_ELEMENT;
+ }
+ return null;
+ }
+
+ public static AbstractSmooksGraphicalModel findInputGraphModel(String selector, IXMLStructuredObject root,
+ RootModel graphRoot) {
+ IXMLStructuredObject model = null;
+ model = SmooksUIUtils.localXMLNodeWithPath(selector, root, "/", false);
+ if (model == null) {
+ SmooksUIUtils.localXMLNodeWithPath(selector, root, " ", false);
+ }
+ if(model == null) return null;
+ IXMLStructuredObject p = model;
+ List<IXMLStructuredObject> parentList = new ArrayList<IXMLStructuredObject>();
+ IXMLStructuredObject rootParent = SmooksUIUtils.getRootParent(model);
+ while (p != null) {
+ parentList.add(p);
+ if(p == rootParent){
+ break;
+ }
+ p = p.getParent();
+ if (p == null) {
+ break;
+ }
+ }
+ List<AbstractSmooksGraphicalModel> children = graphRoot.getChildren();
+ if (model != null) {
+ AbstractSmooksGraphicalModel parentGraph = null;
+ for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
+ AbstractSmooksGraphicalModel abstractSmooksGraphicalModel = (AbstractSmooksGraphicalModel) iterator
+ .next();
+ if (abstractSmooksGraphicalModel instanceof InputDataContianerModel) {
+ List<AbstractSmooksGraphicalModel> cs = ((InputDataContianerModel) abstractSmooksGraphicalModel)
+ .getChildren();
+ if (cs.isEmpty()) {
+ continue;
+ }
+ AbstractSmooksGraphicalModel childGraph = cs.get(0);
+ if (childGraph.getData() == parentList.get(parentList.size() - 1)) {
+ parentGraph = childGraph;
+ break;
+ }
+ }
+ }
+ int index = parentList.size() - 2;
+ if (index < 0) {
+ return parentGraph;
+ }
+ if (parentGraph != null) {
+ AbstractSmooksGraphicalModel tempParent = parentGraph;
+ for (int i = index; i >= 0; i--) {
+ IXMLStructuredObject m = parentList.get(i);
+ List<AbstractSmooksGraphicalModel> nc = tempParent.getChildren();
+ boolean find = false;
+ for (Iterator<?> iterator = nc.iterator(); iterator.hasNext();) {
+ AbstractSmooksGraphicalModel abstractSmooksGraphicalModel = (AbstractSmooksGraphicalModel) iterator
+ .next();
+ if (abstractSmooksGraphicalModel.getData() == m) {
+ tempParent = abstractSmooksGraphicalModel;
+ find = true;
+ break;
+ }
+ }
+ if (!find) {
+ return null;
+ }
+ }
+ return tempParent;
+ }
+ }
+ return null;
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/editparts/SmooksGraphUtil.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceGraphModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceGraphModel.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceGraphModel.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors.model;
+
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+/**
+ * @author Dart
+ *
+ */
+public class AbstractResourceGraphModel extends TreeNodeModel {
+
+ public AbstractResourceGraphModel(Object data, ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
+ super(data, contentProvider, labelProvider);
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/AbstractResourceGraphModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/InputDataRootModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/InputDataRootModel.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/InputDataRootModel.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject;
+
+/**
+ * @author Dart
+ *
+ */
+public class InputDataRootModel implements IXMLStructuredObject {
+
+ private String type = null;
+
+ private List<IXMLStructuredObject> children;
+
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject#getChildren()
+ */
+ public List<IXMLStructuredObject> getChildren() {
+ if(children == null){
+ children = new ArrayList<IXMLStructuredObject>();
+ }
+ return children;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject#getID()
+ */
+ public Object getID() {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject#getNodeName()
+ */
+ public String getNodeName() {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject#getParent()
+ */
+ public IXMLStructuredObject getParent() {
+ return null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject#isAttribute()
+ */
+ public boolean isAttribute() {
+ return false;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.smooks.configuration.editors.IXMLStructuredObject#isRootNode()
+ */
+ public boolean isRootNode() {
+ return false;
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/InputDataRootModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors.model;
+
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+/**
+ * @author Dart
+ *
+ */
+public class JavaBeanChildGraphModel extends TreeNodeModel {
+
+ public JavaBeanChildGraphModel(Object data, ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
+ super(data, contentProvider, labelProvider);
+ }
+
+ @Override
+ public boolean hasChildren() {
+ return false;
+ }
+
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanChildGraphModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanGraphModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanGraphModel.java (rev 0)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanGraphModel.java 2009-07-30 08:35:56 UTC (rev 16891)
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.smooks.graphical.editors.model;
+
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.jboss.tools.smooks.gef.tree.model.TreeContainerModel;
+import org.jboss.tools.smooks.gef.tree.model.TreeNodeModel;
+
+/**
+ * @author Dart
+ *
+ */
+public class JavaBeanGraphModel extends TreeContainerModel {
+
+ public JavaBeanGraphModel(Object data, ITreeContentProvider contentProvider, ILabelProvider labelProvider) {
+ super(data, contentProvider, labelProvider);
+ }
+
+ @Override
+ protected TreeNodeModel createChildModel(Object model, ITreeContentProvider contentProvider,
+ ILabelProvider labelProvider) {
+ return new JavaBeanChildGraphModel(model, contentProvider, labelProvider);
+ }
+
+}
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/model/JavaBeanGraphModel.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
14 years, 8 months
JBoss Tools SVN: r16890 - trunk/bpel/plugins/org.eclipse.bpel.runtimes/src/org/eclipse/bpel/runtimes/module.
by jbosstools-commits@lists.jboss.org
Author: dennyxu
Date: 2009-07-30 03:55:55 -0400 (Thu, 30 Jul 2009)
New Revision: 16890
Modified:
trunk/bpel/plugins/org.eclipse.bpel.runtimes/src/org/eclipse/bpel/runtimes/module/BPELModuleDelegate.java
Log:
remove the filter of exclude any files which bpel is not interested in
Modified: trunk/bpel/plugins/org.eclipse.bpel.runtimes/src/org/eclipse/bpel/runtimes/module/BPELModuleDelegate.java
===================================================================
--- trunk/bpel/plugins/org.eclipse.bpel.runtimes/src/org/eclipse/bpel/runtimes/module/BPELModuleDelegate.java 2009-07-30 07:53:04 UTC (rev 16889)
+++ trunk/bpel/plugins/org.eclipse.bpel.runtimes/src/org/eclipse/bpel/runtimes/module/BPELModuleDelegate.java 2009-07-30 07:55:55 UTC (rev 16890)
@@ -148,9 +148,9 @@
IPath path = resource.getProjectRelativePath();
path = path.removeLastSegments(1);
if (resource.getType() == IResource.FILE) {
- if(!isFileOfInterest((IFile)resource)){
- return true;
- }
+// if(!isFileOfInterest((IFile)resource)){
+// return true;
+// }
IModuleFile mf = new ModuleFile((IFile)resource, resource.getName(), path);
files.add(mf);
}
14 years, 8 months
JBoss Tools SVN: r16889 - trunk/bpel/features/org.jboss.tools.bpel.feature.
by jbosstools-commits@lists.jboss.org
Author: dennyxu
Date: 2009-07-30 03:53:04 -0400 (Thu, 30 Jul 2009)
New Revision: 16889
Modified:
trunk/bpel/features/org.jboss.tools.bpel.feature/feature.xml
Log:
change the plugin name to org.jboss.tools.bpel.as integration
Modified: trunk/bpel/features/org.jboss.tools.bpel.feature/feature.xml
===================================================================
--- trunk/bpel/features/org.jboss.tools.bpel.feature/feature.xml 2009-07-30 07:52:33 UTC (rev 16888)
+++ trunk/bpel/features/org.jboss.tools.bpel.feature/feature.xml 2009-07-30 07:53:04 UTC (rev 16889)
@@ -91,7 +91,7 @@
version="0.0.0"/>
<plugin
- id="org.jboss.bpel.as.integration"
+ id="org.jboss.tools.bpel.as.integration"
download-size="0"
install-size="0"
version="0.0.0"
14 years, 8 months