JBoss Tools SVN: r33965 - trunk/as/features.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-08-16 05:32:06 -0400 (Tue, 16 Aug 2011)
New Revision: 33965
Modified:
trunk/as/features/pom.xml
Log:
[JBIDE-9511] added egit integration feature to pom
Modified: trunk/as/features/pom.xml
===================================================================
--- trunk/as/features/pom.xml 2011-08-16 09:28:43 UTC (rev 33964)
+++ trunk/as/features/pom.xml 2011-08-16 09:32:06 UTC (rev 33965)
@@ -17,6 +17,7 @@
<module>org.jboss.ide.eclipse.as.server.rse.integration.feature</module>
<module>org.jboss.ide.eclipse.as.feature</module>
<module>org.jboss.ide.eclipse.as.test.feature</module>
+ <module>org.jboss.ide.eclipse.as.server.egit.integration.feature</module>
</modules>
</project>
14 years, 8 months
JBoss Tools SVN: r33964 - trunk/as/plugins.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-08-16 05:28:43 -0400 (Tue, 16 Aug 2011)
New Revision: 33964
Modified:
trunk/as/plugins/pom.xml
Log:
[JBIDE-9511] added egit plugins to pom
Modified: trunk/as/plugins/pom.xml
===================================================================
--- trunk/as/plugins/pom.xml 2011-08-16 08:39:59 UTC (rev 33963)
+++ trunk/as/plugins/pom.xml 2011-08-16 09:28:43 UTC (rev 33964)
@@ -24,6 +24,8 @@
<module>org.jboss.ide.eclipse.as.rse.ui</module>
<module>org.jboss.ide.eclipse.as.jmx.integration</module>
<module>org.jboss.ide.eclipse.as.management.as7</module>
+ <module>org.jboss.ide.eclipse.as.egit.core</module>
+ <module>org.jboss.ide.eclipse.as.egit.ui</module>
</modules>
</project>
14 years, 8 months
JBoss Tools SVN: r33963 - in trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui: META-INF and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-08-16 04:39:59 -0400 (Tue, 16 Aug 2011)
New Revision: 33963
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/ResourcePropertyTester.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml
Log:
[JBIDE-9511] implemented menu item visibility
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF 2011-08-16 08:34:46 UTC (rev 33962)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF 2011-08-16 08:39:59 UTC (rev 33963)
@@ -4,8 +4,12 @@
Bundle-SymbolicName: org.jboss.ide.eclipse.as.egit.ui;singleton:=true
Bundle-Version: 0.0.1.qualifier
Bundle-Activator: org.jboss.ide.eclipse.as.egit.internal.ui.EGitUIActivator
-Require-Bundle: org.eclipse.ui,
+Require-Bundle: org.eclipse.egit.core;bundle-version="1.1.0",
+ org.eclipse.jgit;bundle-version="1.1.0",
+ org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.core.expressions;bundle-version="3.4.300"
+ org.eclipse.core.expressions;bundle-version="[3.4.300,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.7.100,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.7.0,4.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml 2011-08-16 08:34:46 UTC (rev 33962)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml 2011-08-16 08:39:59 UTC (rev 33963)
@@ -5,7 +5,7 @@
point="org.eclipse.ui.commands">
<command
description="psuhes and commits"
- id="org.jboss.ide.eclipse.as.egit.ui.commands.PushAndCommit"
+ id="org.jboss.ide.eclipse.as.egit.ui.commands.CommitAndPushCommand"
name="pushAndCommit">
</command>
</extension>
@@ -13,8 +13,8 @@
point="org.eclipse.ui.handlers">
<handler
class="org.jboss.ide.eclipse.as.egit.internal.ui.commands.CommitAndPushHandler"
- commandId="org.jboss.ide.eclipse.as.egit.ui.commands.PushAndCommit">
-<!-- <activeWhen>
+ commandId="org.jboss.ide.eclipse.as.egit.ui.commands.CommitAndPushCommand">
+ <activeWhen>
<and>
<count
value="+">
@@ -33,7 +33,7 @@
</or>
</iterate>
</and>
- </activeWhen> -->
+ </activeWhen>
</handler>
</extension>
<extension
@@ -42,12 +42,39 @@
allPopups="true"
locationURI="popup:team.main?after=group1">
<command
- commandId="org.jboss.ide.eclipse.as.egit.ui.commands.PushAndCommit"
+ commandId="org.jboss.ide.eclipse.as.egit.ui.commands.CommitAndPushCommand"
label="Commit and Push"
style="push"
tooltip="Commit And Push">
+ <visibleWhen
+ checkEnabled="false">
+ <and>
+ <count
+ value="1">
+ </count>
+ <iterate>
+ <and>
+ <adapt
+ type="org.eclipse.core.resources.IProject">
+ <test
+ property="GitResource.isShared">
+ </test>
+ </adapt>
+ </and>
+ </iterate>
+ </and>
+ </visibleWhen>
</command>
</menuContribution>
</extension>
-
+ <extension
+ point="org.eclipse.core.expressions.propertyTesters">
+ <propertyTester
+ class="org.jboss.ide.eclipse.as.egit.internal.ui.commands.ResourcePropertyTester"
+ id="org.eclipse.egit.ui.ResourceTester"
+ namespace="GitResource"
+ properties="isShared,isSafe,isContainer"
+ type="org.eclipse.core.resources.IResource">
+ </propertyTester>
+ </extension>
</plugin>
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/ResourcePropertyTester.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/ResourcePropertyTester.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/ResourcePropertyTester.java 2011-08-16 08:39:59 UTC (rev 33963)
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2011 SAP AG.
+ * 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:
+ * Mathias Kinzler (SAP AG) - initial implementation
+ * Dariusz Luksza <dariusz(a)luksza.org> - add 'isSafe' implementation
+ *******************************************************************************/
+package org.jboss.ide.eclipse.as.egit.internal.ui.commands;
+
+import static org.eclipse.jgit.lib.RepositoryState.SAFE;
+
+import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.egit.core.project.RepositoryMapping;
+
+/**
+ * Resource-based property tester
+ */
+public class ResourcePropertyTester extends PropertyTester {
+
+ public boolean test(Object receiver, String property, Object[] args,
+ Object expectedValue) {
+ if (!(receiver instanceof IResource))
+ return false;
+ IResource res = (IResource) receiver;
+ if ("isShared".equals(property)) { //$NON-NLS-1$
+ RepositoryMapping mapping = RepositoryMapping.getMapping(res
+ .getProject());
+ return mapping != null && mapping.getRepository() != null;
+ } else if ("isSafe".equals(property)) { //$NON-NLS-1$
+ RepositoryMapping mapping = RepositoryMapping.getMapping(res
+ .getProject());
+ return mapping != null
+ && SAFE == mapping.getRepository().getRepositoryState();
+ } else if ("isContainer".equals(property)) { //$NON-NLS-1$
+ int type = res.getType();
+ return type == IResource.FOLDER || type == IResource.PROJECT;
+ }
+ return false;
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/ResourcePropertyTester.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
14 years, 8 months
JBoss Tools SVN: r33962 - in trunk/hibernatetools/plugins: org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context and 4 other directories.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2011-08-16 04:34:46 -0400 (Tue, 16 Aug 2011)
New Revision: 33962
Added:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/ParametrizedElement.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/TypeDefPropertyComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/TypeDefsComposite.java
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/GenericGenerator.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaParameter.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGenerator.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaParameter.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/java/HibernateJavaEntityComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/GenericGeneratorComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateUIMappingMessages.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/ParametersComposite.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/messages.properties
Log:
https://issues.jboss.org/browse/JBIDE-9486
UI for TypeDef annotation
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/HibernateAbstractJpaFactory.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -87,6 +87,7 @@
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedNativeQueryAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.HibernateNamedQueryAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.IndexAnnotation;
+import org.jboss.tools.hibernate.jpt.core.internal.resource.java.ParameterAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeDefAnnotation;
@@ -137,8 +138,8 @@
return new HibernateNamedNativeQueryImpl(parent, namedNativeQueryAnnotation);
}
- public JavaParameter buildJavaParameter(JpaContextNode parent) {
- return new HibernateJavaParameter(parent);
+ public JavaParameter buildJavaParameter(JpaContextNode parent, ParameterAnnotation resourceParameter) {
+ return new HibernateJavaParameter(parent, resourceParameter);
}
public JavaDiscriminatorFormula buildJavaDiscriminatorFormula(
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/GenericGenerator.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/GenericGenerator.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/GenericGenerator.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -10,15 +10,13 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context;
-import java.util.ListIterator;
-
import org.eclipse.jpt.jpa.core.context.Generator;
/**
* @author Dmitry Geraskov
*
*/
-public interface GenericGenerator extends Generator {
+public interface GenericGenerator extends Generator, ParametrizedElement {
Integer DEFAULT_INITIAL_VALUE = Integer.valueOf(1);
@@ -26,40 +24,6 @@
void setStrategy(String value);
String GENERIC_STRATEGY_PROPERTY = "genericStrategyProperty"; //$NON-NLS-1$
-
-
- //************************ parameters ***********************
+
- String PARAMETERS_LIST = "parameters"; //$NON-NLS-1$
-
- /**
- * Return a list iterator of the parameters. This will not be null.
- */
- <T extends Parameter> ListIterator<T> parameters();
-
- /**
- * Return the number of parameters.
- */
- int parametersSize();
-
- /**
- * Add a parameter to the generator and return the object representing it.
- */
- Parameter addParameter(int index);
-
- /**
- * Remove the parameter from the generator.
- */
- void removeParameter(int index);
-
- /**
- * Remove the parameter at the index from the query.
- */
- void removeParameter(Parameter queryParameter);
-
- /**
- * Move the parameter from the source index to the target index.
- */
- void moveParameter(int targetIndex, int sourceIndex);
-
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/Messages.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -36,7 +36,7 @@
public static final String TYPE_CANT_BE_EMPTY = "TYPE_CANT_BE_EMPTY"; //$NON-NLS-1$
- public static final String USER_TYPE_INTERFACE = "USER_TYPE_INTERFACE"; //$NON-NLS-1$
+ public static final String IMPLEMENT_USER_TYPE_INTERFACE = "USER_TYPE_INTERFACE"; //$NON-NLS-1$
public static final String TYPE_CLASS_NOT_FOUND = "TYPE_CLASS_NOT_FOUND"; //$NON-NLS-1$
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/ParametrizedElement.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/ParametrizedElement.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/ParametrizedElement.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -0,0 +1,56 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.common.utility.internal.iterables.ListIterable;
+import org.eclipse.jpt.common.utility.model.Model;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public interface ParametrizedElement extends Model {
+
+ //************************ parameters ***********************
+
+ String PARAMETERS_LIST = "parameters"; //$NON-NLS-1$
+
+ /**
+ * Return a list iterator of the parameters. This will not be null.
+ */
+ <T extends Parameter> ListIterable<T> getParameters();
+
+ /**
+ * Return the number of parameters.
+ */
+ int getParametersSize();
+
+ /**
+ * Add a parameter to the generator and return the object representing it.
+ */
+ Parameter addParameter(int index);
+
+ /**
+ * Remove the parameter from the generator.
+ */
+ void removeParameter(int index);
+
+ /**
+ * Remove the parameter at the index from the query.
+ */
+ void removeParameter(Parameter queryParameter);
+
+ /**
+ * Move the parameter from the source index to the target index.
+ */
+ void moveParameter(int targetIndex, int sourceIndex);
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaParameter.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaParameter.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/HibernateJavaParameter.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009 Red Hat, Inc.
+ * Copyright (c) 2009-2011 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,
@@ -14,7 +14,6 @@
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.JpaContextNode;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaJpaContextNode;
-import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.ParameterAnnotation;
/**
@@ -29,47 +28,63 @@
protected ParameterAnnotation resourceParameter;
- public HibernateJavaParameter(JpaContextNode parent) {
+ public HibernateJavaParameter(JpaContextNode parent, ParameterAnnotation resourceParameter) {
super(parent);
+ this.resourceParameter = resourceParameter;
+ this.name = resourceParameter.getName();
+ this.value = resourceParameter.getValue();
}
-
+
+ // ********** synchronize/update **********
+ @Override
+ public void synchronizeWithResourceModel() {
+ super.synchronizeWithResourceModel();
+ this.setName_(this.resourceParameter.getName());
+ this.setValue_(this.resourceParameter.getValue());
+ }
+
+ // ********** name **********
public String getName() {
return this.name;
}
- public void setName(String newName) {
- String oldName = this.name;
- this.name = newName;
- this.resourceParameter.setName(newName);
- firePropertyChanged(Parameter.NAME_PROPERTY, oldName, newName);
+ public void setName(String name) {
+ this.resourceParameter.setName(name);
+ this.setName_(name);
}
+ protected void setName_(String name) {
+ String old = this.name;
+ this.name = name;
+ this.firePropertyChanged(NAME_PROPERTY, old, name);
+ }
+
+ // ********** value **********
public String getValue() {
return this.value;
}
- public void setValue(String newValue) {
- String oldValue = this.value;
- this.value = newValue;
- this.resourceParameter.setValue(newValue);
- firePropertyChanged(Parameter.VALUE_PROPERTY, oldValue, newValue);
+ public void setValue(String value) {
+ this.resourceParameter.setValue(value);
+ this.setValue_(value);
}
- public void initialize(ParameterAnnotation resourceParameter) {
- this.resourceParameter = resourceParameter;
- this.name = resourceParameter.getName();
- this.value = resourceParameter.getValue();
+ protected void setValue_(String value) {
+ String old = this.value;
+ this.value = value;
+ this.firePropertyChanged(VALUE_PROPERTY, old, value);
}
-
- public void update(ParameterAnnotation resourceParameter) {
- this.resourceParameter = resourceParameter;
- this.setName(resourceParameter.getName());
- this.setValue(resourceParameter.getValue());
- }
-
+
+ // ********** validation **********
public TextRange getValidationTextRange(CompilationUnit astRoot) {
return this.resourceParameter.getTextRange(astRoot);
}
+
+ // ********** misc **********
+ @Override
+ public ParameterAnnotation getParameterAnnotation() {
+ return resourceParameter;
+ }
@Override
public void toString(StringBuilder sb) {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGenerator.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGenerator.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGenerator.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -10,10 +10,9 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.ListIterator;
-
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.utility.TextRange;
+import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.jpa.core.context.java.JavaGenerator;
import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.GenericGeneratorAnnotation;
@@ -26,7 +25,7 @@
@Override
@SuppressWarnings("unchecked")
- ListIterator<JavaParameter> parameters();
+ ListIterable<JavaParameter> getParameters();
@Override
JavaParameter addParameter(int index);
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaGenericGeneratorImpl.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -13,7 +13,6 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import java.util.ListIterator;
import java.util.Vector;
import org.eclipse.jdt.core.IType;
@@ -26,9 +25,8 @@
import org.eclipse.jpt.common.utility.internal.iterables.FilteringIterable;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
-import org.eclipse.jpt.common.utility.internal.iterators.CloneListIterator;
-import org.eclipse.jpt.jpa.core.context.Generator;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.jpa.core.internal.context.ContextContainerTools;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaGenerator;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
@@ -50,6 +48,7 @@
private String strategy;
protected final Vector<JavaParameter> parameters = new Vector<JavaParameter>();
+ protected final ParameterContainerAdapter parameterContainerAdapter = new ParameterContainerAdapter();
public static List<String> generatorClasses = new ArrayList<String>();
@@ -76,6 +75,7 @@
*/
public JavaGenericGeneratorImpl(JavaJpaContextNode parent, GenericGeneratorAnnotation generatorAnnotation) {
super(parent, generatorAnnotation);
+ this.strategy = generatorAnnotation.getStrategy();
this.initializeParameters();
}
@@ -83,7 +83,7 @@
public void synchronizeWithResourceModel() {
super.synchronizeWithResourceModel();
this.setStrategy_(this.generatorAnnotation.getStrategy());
- this.updateParameters();
+ this.syncParameters();
}
@Override
@@ -92,19 +92,7 @@
this.updateNodes(this.getParameters());
}
- @Override
- public void setName(String name) {
- String old = this.name;
- this.name = name;
- this.generatorAnnotation.setName(name);
- this.firePropertyChanged(Generator.NAME_PROPERTY, old, name);
- }
-
- @Override
- public TextRange getNameTextRange(CompilationUnit astRoot) {
- return this.generatorAnnotation.getNameTextRange(astRoot);
- }
-
+ // ********** strategy **********
public String getStrategy() {
return this.strategy;
}
@@ -187,89 +175,99 @@
}
//************************ parameters ***********************
+ public ListIterable<JavaParameter> getParameters() {
+ return new LiveCloneListIterable<JavaParameter>(this.parameters);
+ }
- public JavaParameter addParameter(int index) {
- JavaParameter parameter = getJpaFactory().buildJavaParameter(this);
- this.parameters.add(index, parameter);
- ParameterAnnotation parameterAnnotation = this.getGeneratorAnnotation().addParameter(index);
- parameter.initialize(parameterAnnotation);
- this.fireItemAdded(GenericGenerator.PARAMETERS_LIST, index, parameter);
- return parameter;
+ public int getParametersSize() {
+ return this.parameters.size();
}
- protected void addParameter(int index, JavaParameter parameter) {
- addItemToList(index, parameter, this.parameters, GenericGenerator.PARAMETERS_LIST);
+ public JavaParameter addParameter() {
+ return this.addParameter(this.parameters.size());
}
- protected void addParameter(JavaParameter parameter) {
- addParameter(this.parameters.size(), parameter);
+ public JavaParameter addParameter(int index) {
+ ParameterAnnotation annotation = this.generatorAnnotation.addParameter(index);
+ return this.addParameter_(index, annotation);
}
public void removeParameter(Parameter parameter) {
- removeParameter(this.parameters.indexOf(parameter));
+ this.removeParameter(this.parameters.indexOf(parameter));
}
public void removeParameter(int index) {
- JavaParameter removedParameter = this.parameters.remove(index);
- this.getGeneratorAnnotation().removeParameter(index);
- fireItemRemoved(GenericGenerator.PARAMETERS_LIST, index, removedParameter);
+ this.generatorAnnotation.removeParameter(index);
+ this.removeParameter_(index);
}
- protected void removeParameter_(JavaParameter parameter) {
- removeItemFromList(parameter, this.parameters, GenericGenerator.PARAMETERS_LIST);
+ protected void removeParameter_(int index) {
+ this.removeItemFromList(index, this.parameters, PARAMETERS_LIST);
}
public void moveParameter(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.parameters, targetIndex, sourceIndex);
- this.getGeneratorAnnotation().moveParameter(targetIndex, sourceIndex);
- fireItemMoved(GenericGenerator.PARAMETERS_LIST, targetIndex, sourceIndex);
+ this.generatorAnnotation.moveParameter(targetIndex, sourceIndex);
+ this.moveItemInList(targetIndex, sourceIndex, this.parameters, PARAMETERS_LIST);
}
-
- public ListIterable<JavaParameter> getParameters() {
- return new LiveCloneListIterable<JavaParameter>(this.parameters);
+
+ protected void initializeParameters() {
+ for (Iterator<ParameterAnnotation> stream = this.generatorAnnotation.parameters(); stream.hasNext(); ) {
+ this.parameters.add(this.buildParameter(stream.next()));
+ }
}
- public ListIterator<JavaParameter> parameters() {
- return new CloneListIterator<JavaParameter>(this.parameters);
+ protected JavaParameter buildParameter(ParameterAnnotation parameterAnnotation) {
+ return this.getJpaFactory().buildJavaParameter(this, parameterAnnotation);
}
- public int parametersSize() {
- return this.parameters.size();
+ protected void syncParameters() {
+ ContextContainerTools.synchronizeWithResourceModel(this.parameterContainerAdapter);
}
- protected void initializeParameters() {
- ListIterator<ParameterAnnotation> resourceParameters = this.generatorAnnotation.parameters();
-
- while(resourceParameters.hasNext()) {
- this.parameters.add(createParameter(resourceParameters.next()));
- }
+ protected Iterable<ParameterAnnotation> getParameterAnnotations() {
+ return CollectionTools.iterable(this.generatorAnnotation.parameters());
}
- protected void updateParameters() {
- ListIterator<JavaParameter> contextParameters = parameters();
- ListIterator<ParameterAnnotation> resourceParameters = this.generatorAnnotation.parameters();
-
- while (contextParameters.hasNext()) {
- JavaParameter parameter = contextParameters.next();
- if (resourceParameters.hasNext()) {
- parameter.update(resourceParameters.next());
- }
- else {
- removeParameter_(parameter);
- }
- }
-
- while (resourceParameters.hasNext()) {
- addParameter(createParameter(resourceParameters.next()));
- }
+ protected void moveParameter_(int index, JavaParameter parameter) {
+ this.moveItemInList(index, parameter, this.parameters, PARAMETERS_LIST);
}
- protected JavaParameter createParameter(ParameterAnnotation resourceParameter) {
- JavaParameter parameter = getJpaFactory().buildJavaParameter(this);
- parameter.initialize(resourceParameter);
+ protected JavaParameter addParameter_(int index, ParameterAnnotation parameterAnnotation) {
+ JavaParameter parameter = this.buildParameter(parameterAnnotation);
+ this.addItemToList(index, parameter, this.parameters, PARAMETERS_LIST);
return parameter;
}
+ protected void removeParameter_(JavaParameter parameter) {
+ this.removeParameter_(this.parameters.indexOf(parameter));
+ }
+
+ /**
+ * parameter container adapter
+ */
+ protected class ParameterContainerAdapter
+ implements ContextContainerTools.Adapter<JavaParameter, ParameterAnnotation>
+ {
+ public Iterable<JavaParameter> getContextElements() {
+ return JavaGenericGeneratorImpl.this.getParameters();
+ }
+ public Iterable<ParameterAnnotation> getResourceElements() {
+ return JavaGenericGeneratorImpl.this.getParameterAnnotations();
+ }
+ public ParameterAnnotation getResourceElement(JavaParameter contextElement) {
+ return contextElement.getParameterAnnotation();
+ }
+ public void moveContextElement(int index, JavaParameter element) {
+ JavaGenericGeneratorImpl.this.moveParameter_(index, element);
+ }
+ public void addContextElement(int index, ParameterAnnotation resourceElement) {
+ JavaGenericGeneratorImpl.this.addParameter_(index, resourceElement);
+ }
+ public void removeContextElement(JavaParameter element) {
+ JavaGenericGeneratorImpl.this.removeParameter_(element);
+ }
+ }
+
@Override
public int buildDefaultInitialValue() {
return GenericGenerator.DEFAULT_INITIAL_VALUE;
@@ -299,5 +297,5 @@
private Iterable<String> getCandidateNames(Filter<String> filter) {
return new FilteringIterable<String>(generatorClasses, filter);
}
-
+
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaParameter.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaParameter.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaParameter.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -20,12 +20,6 @@
*/
public interface JavaParameter extends Parameter, JavaJpaContextNode {
- void initialize(ParameterAnnotation parameterResource);
+ ParameterAnnotation getParameterAnnotation();
- /**
- * Update the JavaParameter context model object to match the ParameterAnnotation
- * resource model object. see {@link org.eclipse.jpt.jpa.core.JpaProject#update()}
- */
- void update(ParameterAnnotation parameterResource);
-
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDef.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -10,24 +10,23 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
-import java.util.ListIterator;
-
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
-import org.eclipse.jpt.jpa.core.resource.java.NamedNativeQueryAnnotation;
-import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
+import org.jboss.tools.hibernate.jpt.core.internal.context.ParametrizedElement;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeDefAnnotation;
/**
* @author Dmitry Geraskov
*
*/
-public interface JavaTypeDef extends JavaJpaContextNode {
+public interface JavaTypeDef extends JavaJpaContextNode, ParametrizedElement {
+ String USER_TYPE_INTERFACE = "org.hibernate.usertype.UserType";
+
String getName();
void setName(String name);
- String TYPE_DEF_NAME = "name"; //$NON-NLS-1$
+ String NAME_PROPERTY = "name"; //$NON-NLS-1$
// **************** defaultForType class **************************************
@@ -43,40 +42,9 @@
void setTypeClass(String value);
String TYPE_CLASS_PROPERTY = "specifiedTypeClass"; //$NON-NLS-1$
- //************************ parameters ***********************
-
- String PARAMETERS_LIST = "parameters"; //$NON-NLS-1$
-
- /**
- * Return a list iterator of the parameters. This will not be null.
- */
- <T extends Parameter> ListIterator<T> parameters();
-
- /**
- * Return the number of parameters.
- */
- int parametersSize();
-
- /**
- * Add a parameter to the generator and return the object representing it.
- */
- Parameter addParameter(int index);
-
- /**
- * Remove the parameter from the generator.
- */
- void removeParameter(int index);
-
- /**
- * Remove the parameter at the index from the query.
- */
- void removeParameter(Parameter queryParameter);
-
- /**
- * Move the parameter from the source index to the target index.
- */
- void moveParameter(int targetIndex, int sourceIndex);
-
+ char getTypeClassEnclosingTypeSeparator();
+
+
// **************** validation *********************************************
TextRange getNameTextRange(CompilationUnit astRoot);
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/JavaTypeDefImpl.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.hibernate.jpt.core.internal.context.java;
+import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Vector;
@@ -24,6 +25,7 @@
import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
import org.eclipse.jpt.common.utility.internal.iterators.CloneListIterator;
import org.eclipse.jpt.jpa.core.context.java.JavaJpaContextNode;
+import org.eclipse.jpt.jpa.core.internal.context.ContextContainerTools;
import org.eclipse.jpt.jpa.core.internal.context.java.AbstractJavaJpaContextNode;
import org.eclipse.wst.validation.internal.provisional.core.IMessage;
import org.eclipse.wst.validation.internal.provisional.core.IReporter;
@@ -31,6 +33,7 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
import org.jboss.tools.hibernate.jpt.core.internal.context.Messages;
import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaTypeDefImpl.ParameterContainerAdapter;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.ParameterAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.resource.java.TypeDefAnnotation;
import org.jboss.tools.hibernate.jpt.core.internal.validation.HibernateJpaValidationMessage;
@@ -50,6 +53,7 @@
protected String defaultForTypeClass;
protected final Vector<JavaParameter> parameters = new Vector<JavaParameter>();
+ protected final ParameterContainerAdapter parameterContainerAdapter = new ParameterContainerAdapter();
public JavaTypeDefImpl(JavaJpaContextNode parent, TypeDefAnnotation typeDefAnnotation) {
super(parent);
@@ -76,7 +80,7 @@
this.setName_(this.typeDefAnnotation.getName());
this.setTypeClass_(typeDefAnnotation.getTypeClass());
this.setDefaultForTypeClass_(typeDefAnnotation.getDefaultForType());
- this.updateParameters();
+ this.syncParameters();
}
@Override
@@ -106,7 +110,7 @@
protected void setName_(String name) {
String old = this.name;
this.name = name;
- this.firePropertyChanged(TYPE_DEF_NAME, old, name);
+ this.firePropertyChanged(NAME_PROPERTY, old, name);
}
// ********** type class **********
@@ -155,87 +159,99 @@
}
//************************ parameters ***********************
-
+ //************************ parameters ***********************
public ListIterable<JavaParameter> getParameters() {
return new LiveCloneListIterable<JavaParameter>(this.parameters);
}
- public JavaParameter addParameter(int index) {
- JavaParameter parameter = getJpaFactory().buildJavaParameter(this);
- this.parameters.add(index, parameter);
- this.typeDefAnnotation.addParameter(index);
- this.fireItemAdded(JavaTypeDef.PARAMETERS_LIST, index, parameter);
- return parameter;
+ public int getParametersSize() {
+ return this.parameters.size();
}
-
- protected void addParameter(int index, JavaParameter parameter) {
- addItemToList(index, parameter, this.parameters, JavaTypeDef.PARAMETERS_LIST);
+
+ public JavaParameter addParameter() {
+ return this.addParameter(this.parameters.size());
}
-
- protected void addParameter(JavaParameter parameter) {
- addParameter(this.parameters.size(), parameter);
+
+ public JavaParameter addParameter(int index) {
+ ParameterAnnotation annotation = this.typeDefAnnotation.addParameter(index);
+ return this.addParameter_(index, annotation);
}
-
+
public void removeParameter(Parameter parameter) {
- removeParameter(this.parameters.indexOf(parameter));
+ this.removeParameter(this.parameters.indexOf(parameter));
}
-
+
public void removeParameter(int index) {
- JavaParameter removedParameter = this.parameters.remove(index);
this.typeDefAnnotation.removeParameter(index);
- fireItemRemoved(JavaTypeDef.PARAMETERS_LIST, index, removedParameter);
+ this.removeParameter_(index);
}
-
- protected void removeParameter_(JavaParameter parameter) {
- removeItemFromList(parameter, this.parameters, JavaTypeDef.PARAMETERS_LIST);
- }
+ protected void removeParameter_(int index) {
+ this.removeItemFromList(index, this.parameters, PARAMETERS_LIST);
+ }
+
public void moveParameter(int targetIndex, int sourceIndex) {
- CollectionTools.move(this.parameters, targetIndex, sourceIndex);
this.typeDefAnnotation.moveParameter(targetIndex, sourceIndex);
- fireItemMoved(JavaTypeDef.PARAMETERS_LIST, targetIndex, sourceIndex);
+ this.moveItemInList(targetIndex, sourceIndex, this.parameters, PARAMETERS_LIST);
}
- public ListIterator<JavaParameter> parameters() {
- return new CloneListIterator<JavaParameter>(this.parameters);
- }
-
- public int parametersSize() {
- return parameters.size();
- }
-
protected void initializeParameters() {
- ListIterator<ParameterAnnotation> resourceParameters = this.typeDefAnnotation.parameters();
-
- while(resourceParameters.hasNext()) {
- this.parameters.add(createParameter(resourceParameters.next()));
+ for (Iterator<ParameterAnnotation> stream = this.typeDefAnnotation.parameters(); stream.hasNext(); ) {
+ this.parameters.add(this.buildParameter(stream.next()));
}
}
-
- protected void updateParameters() {
- ListIterator<JavaParameter> contextParameters = parameters();
- ListIterator<ParameterAnnotation> resourceParameters = this.typeDefAnnotation.parameters();
-
- while (contextParameters.hasNext()) {
- JavaParameter parameter = contextParameters.next();
- if (resourceParameters.hasNext()) {
- parameter.update(resourceParameters.next());
- }
- else {
- removeParameter_(parameter);
- }
- }
-
- while (resourceParameters.hasNext()) {
- addParameter(createParameter(resourceParameters.next()));
- }
+
+ protected JavaParameter buildParameter(ParameterAnnotation parameterAnnotation) {
+ return this.getJpaFactory().buildJavaParameter(this, parameterAnnotation);
}
- protected JavaParameter createParameter(ParameterAnnotation resourceParameter) {
- JavaParameter parameter = getJpaFactory().buildJavaParameter(this);
- parameter.initialize(resourceParameter);
+ protected void syncParameters() {
+ ContextContainerTools.synchronizeWithResourceModel(this.parameterContainerAdapter);
+ }
+
+ protected Iterable<ParameterAnnotation> getParameterAnnotations() {
+ return CollectionTools.iterable(this.typeDefAnnotation.parameters());
+ }
+
+ protected void moveParameter_(int index, JavaParameter parameter) {
+ this.moveItemInList(index, parameter, this.parameters, PARAMETERS_LIST);
+ }
+
+ protected JavaParameter addParameter_(int index, ParameterAnnotation parameterAnnotation) {
+ JavaParameter parameter = this.buildParameter(parameterAnnotation);
+ this.addItemToList(index, parameter, this.parameters, PARAMETERS_LIST);
return parameter;
}
+
+ protected void removeParameter_(JavaParameter parameter) {
+ this.removeParameter_(this.parameters.indexOf(parameter));
+ }
+
+ /**
+ * parameter container adapter
+ */
+ protected class ParameterContainerAdapter
+ implements ContextContainerTools.Adapter<JavaParameter, ParameterAnnotation>
+ {
+ public Iterable<JavaParameter> getContextElements() {
+ return JavaTypeDefImpl.this.getParameters();
+ }
+ public Iterable<ParameterAnnotation> getResourceElements() {
+ return JavaTypeDefImpl.this.getParameterAnnotations();
+ }
+ public ParameterAnnotation getResourceElement(JavaParameter contextElement) {
+ return contextElement.getParameterAnnotation();
+ }
+ public void moveContextElement(int index, JavaParameter element) {
+ JavaTypeDefImpl.this.moveParameter_(index, element);
+ }
+ public void addContextElement(int index, ParameterAnnotation resourceElement) {
+ JavaTypeDefImpl.this.addParameter_(index, resourceElement);
+ }
+ public void removeContextElement(JavaParameter element) {
+ JavaTypeDefImpl.this.removeParameter_(element);
+ }
+ }
// ********** text ranges **********
@@ -271,22 +287,25 @@
);
}
- IType lwType = null;
- try {
- lwType = getJpaProject().getJavaProject().findType(typeClass);
- if (lwType == null || !lwType.isClass()){
- messages.add(HibernateJpaValidationMessage.buildMessage(
- IMessage.HIGH_SEVERITY,TYPE_CLASS_NOT_FOUND, new String[]{typeClass}, this, this.getTypeClassTextRange(astRoot)));
- } else {
- if (!JpaUtil.isTypeImplementsInterface(getJpaProject().getJavaProject(), lwType, "org.hibernate.usertype.UserType")){//$NON-NLS-1$
+ if (!StringTools.stringIsEmpty(this.typeClass)){
+ IType lwType = null;
+ try {
+ lwType = getJpaProject().getJavaProject().findType(typeClass);
+ if (lwType == null || !lwType.isClass()){
messages.add(HibernateJpaValidationMessage.buildMessage(
- IMessage.HIGH_SEVERITY,USER_TYPE_INTERFACE, new String[]{typeClass}, this, this.getTypeClassTextRange(astRoot)));
- }
+ IMessage.HIGH_SEVERITY,TYPE_CLASS_NOT_FOUND, new String[]{typeClass}, this, this.getTypeClassTextRange(astRoot)));
+ } else {
+ if (!JpaUtil.isTypeImplementsInterface(getJpaProject().getJavaProject(), lwType, USER_TYPE_INTERFACE)){
+ messages.add(HibernateJpaValidationMessage.buildMessage(
+ IMessage.HIGH_SEVERITY,IMPLEMENT_USER_TYPE_INTERFACE, new String[]{typeClass}, this, this.getTypeClassTextRange(astRoot)));
+ }
+ }
+ } catch (JavaModelException e) {
+ // just ignore it!
}
- } catch (JavaModelException e) {
- // just ignore it!
}
+
for (ListIterator<JavaTypeDef> stream = this.getPersistenceUnit().typeDefs(); stream.hasNext(); ) {
JavaTypeDef typeDef = stream.next();
if (this != typeDef){
@@ -298,7 +317,6 @@
new String[]{this.name},
this,
this.getNameTextRange(astRoot))
-
);
break;
}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/context/java/TypeImpl.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -109,7 +109,6 @@
if (result != null) {
return result;
}
- System.out.println(getPersistenceUnit().uniqueTypeDefNames());
TextRange typeRange = getTypeTextRange(astRoot);
if (typeRange != null && typeRange.touches(pos)) {
return getJavaCandidateNames(filter).iterator();
@@ -149,9 +148,9 @@
messages.add(HibernateJpaValidationMessage.buildMessage(
IMessage.HIGH_SEVERITY,TYPE_CLASS_NOT_FOUND, new String[]{type}, this, range));
} else {
- if (!JpaUtil.isTypeImplementsInterface(getJpaProject().getJavaProject(), lwType, "org.hibernate.usertype.UserType")){//$NON-NLS-1$
+ if (!JpaUtil.isTypeImplementsInterface(getJpaProject().getJavaProject(), lwType, JavaTypeDef.USER_TYPE_INTERFACE)){
messages.add(HibernateJpaValidationMessage.buildMessage(
- IMessage.HIGH_SEVERITY,USER_TYPE_INTERFACE, new String[]{type}, this, range));
+ IMessage.HIGH_SEVERITY,IMPLEMENT_USER_TYPE_INTERFACE, new String[]{type}, this, range));
}
}
} catch (JavaModelException e) {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/resource/java/TypeDefAnnotationImpl.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -17,14 +17,13 @@
import org.eclipse.jdt.core.IAnnotation;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jpt.common.core.internal.utility.jdt.ASTTools;
-import org.eclipse.jpt.common.core.internal.utility.jdt.AnnotatedElementAnnotationElementAdapter;
import org.eclipse.jpt.common.core.internal.utility.jdt.ConversionDeclarationAnnotationElementAdapter;
import org.eclipse.jpt.common.core.internal.utility.jdt.ElementAnnotationAdapter;
import org.eclipse.jpt.common.core.internal.utility.jdt.ElementIndexedAnnotationAdapter;
import org.eclipse.jpt.common.core.internal.utility.jdt.NestedIndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.internal.utility.jdt.ShortCircuitAnnotationElementAdapter;
import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleDeclarationAnnotationAdapter;
import org.eclipse.jpt.common.core.internal.utility.jdt.SimpleTypeStringExpressionConverter;
+import org.eclipse.jpt.common.core.internal.utility.jdt.TypeStringExpressionConverter;
import org.eclipse.jpt.common.core.utility.TextRange;
import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
import org.eclipse.jpt.common.core.utility.jdt.AnnotationAdapter;
@@ -34,7 +33,6 @@
import org.eclipse.jpt.common.core.utility.jdt.ExpressionConverter;
import org.eclipse.jpt.common.core.utility.jdt.IndexedAnnotationAdapter;
import org.eclipse.jpt.common.core.utility.jdt.IndexedDeclarationAnnotationAdapter;
-import org.eclipse.jpt.common.core.utility.jdt.AnnotatedElement;
import org.eclipse.jpt.common.utility.internal.CollectionTools;
import org.eclipse.jpt.common.utility.internal.StringTools;
import org.eclipse.jpt.common.utility.internal.iterators.CloneListIterator;
@@ -418,7 +416,7 @@
private DeclarationAnnotationElementAdapter<String> buildTypeClassDeclarationAdapter() {
return new ConversionDeclarationAnnotationElementAdapter<String>(daa,
Hibernate.TYPE_DEF__TYPE_CLASS,
- SimpleTypeStringExpressionConverter.instance());
+ SimpleTypeStringExpressionConverter.instance());//primitives are not allowed!
}
private AnnotationElementAdapter<String> buildTypeClassAdapter() {
@@ -428,16 +426,13 @@
private DeclarationAnnotationElementAdapter<String> buildDefForTypeDeclarationAdapter() {
return new ConversionDeclarationAnnotationElementAdapter<String>(daa,
Hibernate.TYPE_DEF__DEF_FOR_TYPE,
- SimpleTypeStringExpressionConverter.instance());
+ TypeStringExpressionConverter.instance());//primitives are allowed!
}
private AnnotationElementAdapter<String> buildDefForTypeAdapter() {
return this.buildStringElementAdapter(this.defForTypeDeclarationAdapter);
}
- private static DeclarationAnnotationElementAdapter<String> buildTypeClassAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName) {
- return buildAnnotationElementAdapter(annotationAdapter, elementName, SimpleTypeStringExpressionConverter.instance());
- }
private static DeclarationAnnotationElementAdapter<String> buildAnnotationElementAdapter(DeclarationAnnotationAdapter annotationAdapter, String elementName, ExpressionConverter<String> converter) {
return new ConversionDeclarationAnnotationElementAdapter<String>(annotationAdapter, elementName, converter);
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/java/HibernateJavaEntityComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/java/HibernateJavaEntityComposite.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/details/java/HibernateJavaEntityComposite.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -23,9 +23,11 @@
import org.jboss.tools.hibernate.jpt.core.internal.context.HibernateGeneratorContainer;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaEntity;
import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaQueryContainer;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTypeDefContainer;
import org.jboss.tools.hibernate.jpt.ui.internal.details.HibernateTableComposite;
import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateGenerationComposite;
import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.HibernateQueriesComposite;
+import org.jboss.tools.hibernate.jpt.ui.internal.mapping.details.TypeDefsComposite;
/**
* @author Dmitry Geraskov
@@ -43,7 +45,34 @@
super(subjectHolder, parent, widgetFactory);
}
+ @Override
+ protected void initializeLayout(Composite container) {
+ super.initializeLayout(container);
+ this.initializeTypeDefCollapsibleSection(container);
+ }
+ protected void initializeTypeDefCollapsibleSection(Composite container) {
+ container = addCollapsibleSection(
+ container,
+ "Type Definitions");
+ this.initializeTypeDefsSection(container, buildTypeDefContainerHolder());
+ }
+
+ protected void initializeTypeDefsSection(
+ Composite container,
+ PropertyValueModel<HibernateJavaTypeDefContainer> typeDefContainerHolder) {
+ new TypeDefsComposite(this, typeDefContainerHolder, container);
+ }
+
+ private PropertyValueModel<HibernateJavaTypeDefContainer> buildTypeDefContainerHolder() {
+ return new PropertyAspectAdapter<HibernateJavaEntity, HibernateJavaTypeDefContainer>(getSubjectHolder()) {
+ @Override
+ protected HibernateJavaTypeDefContainer buildValue_() {
+ return this.subject.getTypeDefContainer();
+ }
+ };
+ }
+
@SuppressWarnings("unchecked")
@Override
protected void initializeQueriesSection(Composite container, PropertyValueModel<QueryContainer> queryContainerHolder) {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/GenericGeneratorComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/GenericGeneratorComposite.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/GenericGeneratorComposite.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -58,7 +58,7 @@
StringConverter.Default.<String>instance(),
null);//TODO add help
- new ParametersComposite(this, container, getSubjectHolder());
+ new ParametersComposite(this, container, getSubjectHolder());
}
protected WritablePropertyValueModel<String> buildStrategyHolder() {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateUIMappingMessages.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateUIMappingMessages.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/HibernateUIMappingMessages.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -50,7 +50,29 @@
public static String ParametersComposite_nameColumn;
public static String ParametersComposite_valueColumn;
public static String TypeComposite_type;
+ public static String TypeDefPropertyComposite_DefaultForType;
+
+ public static String TypeDefPropertyComposite_Name;
+
+
+ public static String TypeDefPropertyComposite_TypeClass;
+
+
+ public static String TypeDefsComposite_Description;
+
+
+ public static String TypeDefsComposite_DescriptionTitle;
+
+
+ public static String TypeDefsComposite_dialogTitle;
+
+
+ public static String TypeDefsComposite_displayString;
+
+
+ public static String TypeDefsComposite_Name;
+
private HibernateUIMappingMessages() {}
static {
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/ParametersComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/ParametersComposite.java 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/ParametersComposite.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -37,17 +37,15 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
-import org.jboss.tools.hibernate.jpt.core.internal.context.GenericGenerator;
import org.jboss.tools.hibernate.jpt.core.internal.context.Parameter;
+import org.jboss.tools.hibernate.jpt.core.internal.context.ParametrizedElement;
/**
* @author Dmitry Geraskov
*
*/
-public class ParametersComposite extends Pane<GenericGenerator> {
+public class ParametersComposite extends Pane<ParametrizedElement> {
- //private WritablePropertyValueModel<GenericGenerator> generatorHolder;
-
private WritablePropertyValueModel<Parameter> parameterHolder;
/**
@@ -57,17 +55,17 @@
* @param parent The parent container
*/
public ParametersComposite(Pane<?> parentPane,
- Composite container, PropertyValueModel<GenericGenerator> generatorHolder) {
+ Composite container, PropertyValueModel<? extends ParametrizedElement> generatorHolder) {
super(parentPane, generatorHolder, container, false);
}
private PropertyValueModel<Boolean> buildPaneEnableHolder() {
- return new TransformationPropertyValueModel<GenericGenerator, Boolean>(getSubjectHolder()) {
+ return new TransformationPropertyValueModel<ParametrizedElement, Boolean>(getSubjectHolder()) {
@Override
- protected Boolean transform(GenericGenerator generator) {
- return (generator != null);
+ protected Boolean transform(ParametrizedElement element) {
+ return (element != null);
}
};
}
@@ -76,7 +74,7 @@
return new AddRemoveTablePane.AbstractAdapter() {
@Override
public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- Parameter parameter = getSubject().addParameter(getSubject().parametersSize());
+ Parameter parameter = getSubject().addParameter(getSubject().getParametersSize());
ParametersComposite.this.parameterHolder.setValue(parameter);
}
@@ -98,21 +96,21 @@
}
private ListValueModel<Parameter> buildParameterListHolder() {
- return new ListAspectAdapter<GenericGenerator, Parameter>(
+ return new ListAspectAdapter<ParametrizedElement, Parameter>(
getSubjectHolder(),
- GenericGenerator.PARAMETERS_LIST) {
+ ParametrizedElement.PARAMETERS_LIST) {
@Override
protected ListIterator<Parameter> listIterator_() {
if (this.subject == null ){
return EmptyListIterator.instance();
} else {
- return this.subject.parameters();
+ return this.subject.getParameters().iterator();
}
}
@Override
protected int size_() {
- return this.subject == null ? 0 : this.subject.parametersSize();
+ return this.subject == null ? 0 : this.subject.getParametersSize();
}
};
}
@@ -234,7 +232,7 @@
}
}
- private class TablePane extends AddRemoveTablePane<GenericGenerator> {
+ private class TablePane extends AddRemoveTablePane<ParametrizedElement> {
private TablePane(Composite parent) {
super(ParametersComposite.this,
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/TypeDefPropertyComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/TypeDefPropertyComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/TypeDefPropertyComposite.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -0,0 +1,179 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.Collections;
+import java.util.List;
+
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jpt.common.ui.internal.widgets.ClassChooserPane;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.swt.widgets.Composite;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaTypeDef;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class TypeDefPropertyComposite<T extends JavaTypeDef> extends Pane<T> {
+
+ public TypeDefPropertyComposite(Pane<?> parentPane,
+ PropertyValueModel<T> subjectHolder,
+ Composite parent) {
+ super(parentPane, subjectHolder, parent);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void initializeLayout(Composite container) {
+
+ // Name widgets
+ addLabeledText(
+ container,
+ HibernateUIMappingMessages.TypeDefPropertyComposite_Name,
+ buildNameTextHolder());
+
+ addTypeClassChooser(container);
+ addDefForTypeClassChooser2(container);
+
+ new ParametersComposite(this, container, getSubjectHolder());
+ }
+
+ protected WritablePropertyValueModel<String> buildNameTextHolder() {
+ return new PropertyAspectAdapter<JavaTypeDef, String>(
+ getSubjectHolder(), JavaTypeDef.NAME_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getName();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value.length() == 0) {
+ value = null;
+ }
+ this.subject.setName(value);
+ }
+ };
+ }
+
+ private ClassChooserPane<JavaTypeDef> addTypeClassChooser(Composite container) {
+
+ return new ClassChooserPane<JavaTypeDef>(this, container) {
+
+ private List<String> superInterfaces = Collections.singletonList(JavaTypeDef.USER_TYPE_INTERFACE);
+
+ @Override
+ protected WritablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<JavaTypeDef, String>(getSubjectHolder(), JavaTypeDef.TYPE_CLASS_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getTypeClass();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (StringTools.stringIsEmpty(value)){
+ value = null;
+ }
+ this.subject.setTypeClass(value);
+ }
+ };
+ }
+
+ @Override
+ protected String getClassName() {
+ return getSubject().getTypeClass();
+ }
+
+ @Override
+ protected List<String> getSuperInterfaceNames() {
+ return superInterfaces;
+ }
+
+ @Override
+ protected String getLabelText() {
+ return HibernateUIMappingMessages.TypeDefPropertyComposite_TypeClass;
+ }
+
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubject().getJpaProject().getJavaProject();
+ }
+
+ @Override
+ protected void setClassName(String className) {
+ getSubject().setTypeClass(className);
+ }
+
+ @Override
+ protected char getEnclosingTypeSeparator() {
+ return getSubject().getTypeClassEnclosingTypeSeparator();
+ }
+ };
+ }
+
+ private ClassChooserPane<JavaTypeDef> addDefForTypeClassChooser2(Composite container) {
+
+ return new ClassChooserPane<JavaTypeDef>(this, container) {
+
+ @Override
+ protected WritablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<JavaTypeDef, String>(getSubjectHolder(), JavaTypeDef.DEF_FOR_TYPE_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return this.subject.getDefaultForTypeClass();
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (StringTools.stringIsEmpty(value)){
+ value = null;
+ }
+ this.subject.setDefaultForTypeClass(value);
+ }
+ };
+ }
+
+ @Override
+ protected String getClassName() {
+ return getSubject().getDefaultForTypeClass();
+ }
+
+ @Override
+ protected String getLabelText() {
+ return HibernateUIMappingMessages.TypeDefPropertyComposite_DefaultForType;
+ }
+
+ @Override
+ protected IJavaProject getJavaProject() {
+ return getSubject().getJpaProject().getJavaProject();
+ }
+
+ @Override
+ protected void setClassName(String className) {
+ getSubject().setDefaultForTypeClass(className);
+ }
+
+ @Override
+ protected char getEnclosingTypeSeparator() {
+ return getSubject().getTypeClassEnclosingTypeSeparator();
+ }
+ };
+ }
+
+}
Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/TypeDefsComposite.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/TypeDefsComposite.java (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/TypeDefsComposite.java 2011-08-16 08:34:46 UTC (rev 33962)
@@ -0,0 +1,222 @@
+/*******************************************************************************
+ * Copyright (c) 2011 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.ListIterator;
+
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jpt.common.ui.internal.util.ControlSwitcher;
+import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane;
+import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter;
+import org.eclipse.jpt.common.ui.internal.widgets.NewNameDialog;
+import org.eclipse.jpt.common.ui.internal.widgets.NewNameDialogBuilder;
+import org.eclipse.jpt.common.ui.internal.widgets.Pane;
+import org.eclipse.jpt.common.utility.internal.CollectionTools;
+import org.eclipse.jpt.common.utility.internal.Transformer;
+import org.eclipse.jpt.common.utility.internal.iterators.ArrayIterator;
+import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter;
+import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel;
+import org.eclipse.jpt.common.utility.internal.model.value.swing.ObjectListSelectionModel;
+import org.eclipse.jpt.common.utility.model.value.ListValueModel;
+import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
+import org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.part.PageBook;
+import org.jboss.tools.hibernate.jpt.core.internal.context.HibernatePersistenceUnit;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.HibernateJavaTypeDefContainer;
+import org.jboss.tools.hibernate.jpt.core.internal.context.java.JavaTypeDef;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class TypeDefsComposite extends Pane<HibernateJavaTypeDefContainer> {
+
+ private AddRemoveListPane<HibernateJavaTypeDefContainer> listPane;
+ Pane<? extends JavaTypeDef> typeDefPane;
+ private WritablePropertyValueModel<JavaTypeDef> typeDefHolder;
+ private NewNameDialogBuilder dialogBuilder = null;
+
+ public TypeDefsComposite(
+ Pane<?> parentPane,
+ PropertyValueModel<? extends HibernateJavaTypeDefContainer> subjectHolder,
+ Composite parent) {
+ super(parentPane, subjectHolder, parent, false);
+ dialogBuilder = new NewNameDialogBuilder(getShell());
+ dialogBuilder.setDialogTitle(HibernateUIMappingMessages.TypeDefsComposite_dialogTitle);
+ dialogBuilder.setDescriptionTitle(HibernateUIMappingMessages.TypeDefsComposite_DescriptionTitle);
+ dialogBuilder.setDescription(HibernateUIMappingMessages.TypeDefsComposite_Description);
+ dialogBuilder.setLabelText(HibernateUIMappingMessages.TypeDefsComposite_Name);
+ }
+
+ void addTypeDef() {
+ addTypeDefFromDialog(buildAddTypeDefDialog());
+ }
+
+ protected HibernatePersistenceUnit getPersistenceUnit(){
+ return (HibernatePersistenceUnit)this.getSubject().getPersistenceUnit();
+ }
+
+ protected NewNameDialog buildAddTypeDefDialog() {
+ dialogBuilder.setExistingNames(new ArrayIterator<String>(getPersistenceUnit().uniqueTypeDefNames()));
+ return dialogBuilder.buildDialog();
+ }
+
+ protected void addTypeDefFromDialog(NewNameDialog dialog) {
+ if (dialog.open() != Window.OK) {
+ return;
+ }
+ JavaTypeDef typeDef = this.getSubject().addTypeDef();
+ typeDef.setName(dialog.getName());
+ this.getTypeDefHolder().setValue(typeDef);//so that it gets selected in the List for the user to edit
+ }
+
+ private ListValueModel<JavaTypeDef> buildDisplayableTypeDefsListHolder() {
+ return new ItemPropertyListValueModelAdapter<JavaTypeDef>(
+ buildTypeDefsListHolder(),
+ JavaTypeDef.NAME_PROPERTY
+ );
+ }
+
+ private AddRemoveListPane<HibernateJavaTypeDefContainer> addListPane(Composite container) {
+
+ return new AddRemoveListPane<HibernateJavaTypeDefContainer>(
+ this,
+ container,
+ buildTypeDefsAdapter(),
+ buildDisplayableTypeDefsListHolder(),
+ this.getTypeDefHolder(),
+ buildTypeDefsListLabelProvider()
+ );
+ }
+
+ private ListValueModel<JavaTypeDef> buildTypeDefsListHolder() {
+ return new ListAspectAdapter<HibernateJavaTypeDefContainer, JavaTypeDef>(
+ getSubjectHolder(),
+ HibernateJavaTypeDefContainer.TYPE_DEFS_LIST)
+ {
+ @Override
+ protected ListIterator<JavaTypeDef> listIterator_() {
+ return this.subject.typeDefs();
+ }
+
+ @Override
+ protected int size_() {
+ return this.subject.typeDefsSize();
+ }
+ };
+ }
+
+ private Transformer<JavaTypeDef, Control> buildPaneTransformer() {
+ return new Transformer<JavaTypeDef, Control>() {
+ public Control transform(JavaTypeDef typeDef) {
+
+ if (typeDef == null) {
+ return null;
+ }
+
+ return TypeDefsComposite.this.typeDefPane.getControl();
+ }
+ };
+ }
+
+ private Adapter buildTypeDefsAdapter() {
+
+ return new AddRemoveListPane.AbstractAdapter() {
+
+ public void addNewItem(ObjectListSelectionModel listSelectionModel) {
+ addTypeDef();
+ }
+
+ public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
+ for (Object item : listSelectionModel.selectedValues()) {
+ if (item instanceof JavaTypeDef) {
+ getSubject().removeTypeDef((JavaTypeDef) item);
+ }
+ }
+ }
+ };
+ }
+
+
+ private ILabelProvider buildTypeDefsListLabelProvider() {
+ return new LabelProvider() {
+ @Override
+ public String getText(Object element) {
+ JavaTypeDef typeDef = (JavaTypeDef) element;
+ String name = typeDef.getName();
+
+ if (name == null) {
+ int index = CollectionTools.indexOf(getSubject().typeDefs(), typeDef);
+ name = NLS.bind(HibernateUIMappingMessages.TypeDefsComposite_displayString, Integer.valueOf(index));
+ }
+
+ return name;
+ }
+ };
+ }
+
+ private WritablePropertyValueModel<JavaTypeDef> buildTypeDefHolder() {
+ return new SimplePropertyValueModel<JavaTypeDef>();
+ }
+
+ @Override
+ public void enableWidgets(boolean enabled) {
+ super.enableWidgets(enabled);
+ this.listPane.enableWidgets(enabled);
+ }
+
+ @Override
+ protected void initialize() {
+ super.initialize();
+ this.typeDefHolder = buildTypeDefHolder();
+ }
+
+ @Override
+ protected void initializeLayout(Composite container) {
+
+ // List pane
+ this.listPane = this.addListPane(container);
+
+ // Property pane
+ PageBook pageBook = new PageBook(container, SWT.NULL);
+ pageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ // Named JavaTypeDef property pane
+ this.typeDefPane = this.buildTypeDefPropertyComposite(pageBook);
+
+ installPaneSwitcher(pageBook);
+ }
+
+ protected Pane<? extends JavaTypeDef> buildTypeDefPropertyComposite(PageBook pageBook) {
+ return new TypeDefPropertyComposite<JavaTypeDef>(
+ this,
+ this.getTypeDefHolder(),
+ pageBook
+ );
+ }
+
+ private void installPaneSwitcher(PageBook pageBook) {
+ new ControlSwitcher(this.getTypeDefHolder(), this.buildPaneTransformer(), pageBook);
+ }
+
+ protected WritablePropertyValueModel<JavaTypeDef> getTypeDefHolder() {
+ return typeDefHolder;
+ }
+
+}
Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/messages.properties
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/messages.properties 2011-08-16 08:06:34 UTC (rev 33961)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.ui/src/org/jboss/tools/hibernate/jpt/ui/internal/mapping/details/messages.properties 2011-08-16 08:34:46 UTC (rev 33962)
@@ -27,4 +27,12 @@
Index_section_index=Index
ParametersComposite_nameColumn=Name
ParametersComposite_valueColumn=Value
-TypeComposite_type=Type
\ No newline at end of file
+TypeComposite_type=Type
+TypeDefPropertyComposite_DefaultForType=Default For Type:
+TypeDefPropertyComposite_Name=Name:
+TypeDefPropertyComposite_TypeClass=Type Class:
+TypeDefsComposite_Description=Create a new Type Definition setting 'name'
+TypeDefsComposite_DescriptionTitle=Cerate New Type Definition
+TypeDefsComposite_dialogTitle=Add Type Definition
+TypeDefsComposite_displayString=<Name not set> {0}
+TypeDefsComposite_Name=Name:
14 years, 8 months
JBoss Tools SVN: r33961 - trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-08-16 04:06:34 -0400 (Tue, 16 Aug 2011)
New Revision: 33961
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal/Activator.java
Log:
[JBIDE-9511] renamed Activator to EGitCoreActivator
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal/Activator.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal/Activator.java 2011-08-16 08:05:18 UTC (rev 33960)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal/Activator.java 2011-08-16 08:06:34 UTC (rev 33961)
@@ -1,32 +0,0 @@
-package org.jboss.ide.eclipse.as.egit.core.internal;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- public static final String PLUGIN_ID = "org.jboss.ide.eclipse.as.egit.core";
-
- private static BundleContext context;
-
- static BundleContext getContext() {
- return context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- }
-
-}
14 years, 8 months
JBoss Tools SVN: r33960 - in trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui: META-INF and 5 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-08-16 04:05:18 -0400 (Tue, 16 Aug 2011)
New Revision: 33960
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/EGitUIActivator.java
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/CommitAndPushHandler.java
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/util/
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/util/CommandUtils.java
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/Activator.java
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/ui/
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/.project
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/build.properties
Log:
[JBIDE-9511] implemented commit and push handler
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/.project
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/.project 2011-08-16 06:12:13 UTC (rev 33959)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/.project 2011-08-16 08:05:18 UTC (rev 33960)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>org.jboss.ide.eclipse.as.egit.ui</name>
+ <name>org.jboss.ide.eclipse.as.egit.internal.ui</name>
<comment></comment>
<projects>
</projects>
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF 2011-08-16 06:12:13 UTC (rev 33959)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/META-INF/MANIFEST.MF 2011-08-16 08:05:18 UTC (rev 33960)
@@ -3,8 +3,9 @@
Bundle-Name: EGit integration UI
Bundle-SymbolicName: org.jboss.ide.eclipse.as.egit.ui;singleton:=true
Bundle-Version: 0.0.1.qualifier
-Bundle-Activator: org.jboss.ide.eclipse.as.egit.ui.Activator
+Bundle-Activator: org.jboss.ide.eclipse.as.egit.internal.ui.EGitUIActivator
Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
+ org.eclipse.core.runtime,
+ org.eclipse.core.expressions;bundle-version="3.4.300"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/build.properties
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/build.properties 2011-08-16 06:12:13 UTC (rev 33959)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/build.properties 2011-08-16 08:05:18 UTC (rev 33960)
@@ -1,4 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
- .
+ .,\
+ plugin.xml
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml 2011-08-16 08:05:18 UTC (rev 33960)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="psuhes and commits"
+ id="org.jboss.ide.eclipse.as.egit.ui.commands.PushAndCommit"
+ name="pushAndCommit">
+ </command>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.jboss.ide.eclipse.as.egit.internal.ui.commands.CommitAndPushHandler"
+ commandId="org.jboss.ide.eclipse.as.egit.ui.commands.PushAndCommit">
+<!-- <activeWhen>
+ <and>
+ <count
+ value="+">
+ </count>
+ <iterate>
+ <or>
+ <adapt
+ type="org.eclipse.core.resources.IResource">
+ </adapt>
+ <adapt
+ type="org.eclipse.core.resources.mapping.ResourceMapping">
+ </adapt>
+ <adapt
+ type="org.eclipse.ui.IContributorResourceAdapter">
+ </adapt>
+ </or>
+ </iterate>
+ </and>
+ </activeWhen> -->
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.menus">
+ <menuContribution
+ allPopups="true"
+ locationURI="popup:team.main?after=group1">
+ <command
+ commandId="org.jboss.ide.eclipse.as.egit.ui.commands.PushAndCommit"
+ label="Commit and Push"
+ style="push"
+ tooltip="Commit And Push">
+ </command>
+ </menuContribution>
+ </extension>
+
+</plugin>
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/plugin.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/Activator.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/ui/Activator.java 2011-08-15 11:48:40 UTC (rev 33921)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/Activator.java 2011-08-16 08:05:18 UTC (rev 33960)
@@ -1,50 +0,0 @@
-package org.jboss.ide.eclipse.as.egit.ui;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.jboss.ide.eclipse.as.egit.ui"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- /**
- * The constructor
- */
- public Activator() {
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
-}
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/EGitUIActivator.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/EGitUIActivator.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/EGitUIActivator.java 2011-08-16 08:05:18 UTC (rev 33960)
@@ -0,0 +1,50 @@
+package org.jboss.ide.eclipse.as.egit.internal.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class EGitUIActivator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.jboss.ide.eclipse.as.egit.internal.ui"; //$NON-NLS-1$
+
+ // The shared instance
+ private static EGitUIActivator plugin;
+
+ /**
+ * The constructor
+ */
+ public EGitUIActivator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static EGitUIActivator getDefault() {
+ return plugin;
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/EGitUIActivator.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/CommitAndPushHandler.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/CommitAndPushHandler.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/CommitAndPushHandler.java 2011-08-16 08:05:18 UTC (rev 33960)
@@ -0,0 +1,47 @@
+package org.jboss.ide.eclipse.as.egit.internal.ui.commands;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.NotEnabledException;
+import org.eclipse.core.commands.NotHandledException;
+import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.jboss.ide.eclipse.as.egit.internal.ui.util.CommandUtils;
+
+public class CommitAndPushHandler extends AbstractHandler {
+
+ private static final String EGIT_COMMIT_COMMAND_ID = "org.eclipse.egit.ui.team.Commit";
+ private static final String EGIT_PUSH_COMMAND_ID = "org.eclipse.egit.ui.team.Push";
+
+ @Override
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ ISelection selection = HandlerUtil.getCurrentSelection(event);
+ executeCommand(EGIT_COMMIT_COMMAND_ID, selection );
+ executeCommand(EGIT_PUSH_COMMAND_ID, selection);
+ return null;
+ }
+
+ private static void executeCommand(String commandId, ISelection selection) throws ExecutionException {
+ if (!(selection instanceof IStructuredSelection)) {
+ throw new ExecutionException(NLS.bind("Could not execute command \"{0}\" since there's no valid selection",
+ commandId));
+ }
+ IStructuredSelection structuredSelection = (IStructuredSelection) selection;
+ try {
+ CommandUtils.executeCommand(commandId, structuredSelection);
+ } catch (NotDefinedException e) {
+ throw new ExecutionException(NLS.bind("Could not execute command \"{0}\" since it is not defined",
+ commandId), e);
+ } catch (NotEnabledException e) {
+ throw new ExecutionException(NLS.bind("Could not execute command \"{0}\" since it was not enabled",
+ commandId), e);
+ } catch (NotHandledException e) {
+ throw new ExecutionException(NLS.bind(
+ "Could not execute command \"{0}\" since there's no actve handler for it", commandId), e);
+ }
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/commands/CommitAndPushHandler.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/util/CommandUtils.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/util/CommandUtils.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/util/CommandUtils.java 2011-08-16 08:05:18 UTC (rev 33960)
@@ -0,0 +1,59 @@
+package org.jboss.ide.eclipse.as.egit.internal.ui.util;
+
+import org.eclipse.core.commands.Command;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.NotEnabledException;
+import org.eclipse.core.commands.NotHandledException;
+import org.eclipse.core.commands.ParameterizedCommand;
+import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.core.expressions.EvaluationContext;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.ISources;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.commands.ICommandService;
+import org.eclipse.ui.handlers.IHandlerService;
+
+public class CommandUtils {
+
+ public static boolean executeCommand(String commandId, IStructuredSelection selection) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
+ Command command = getCommand(commandId);
+ if (!command.isDefined()) {
+ return false;
+ }
+
+ IHandlerService handlerService = (IHandlerService)
+ PlatformUI.getWorkbench().getService(IHandlerService.class);
+ EvaluationContext context = createEvaluationContext(selection, handlerService);
+ return doExecuteCommand(commandId, command, handlerService, context);
+ }
+
+ private static EvaluationContext createEvaluationContext(IStructuredSelection selection,
+ IHandlerService handlerService) {
+ EvaluationContext context = null;
+ if (selection != null) {
+ context = new EvaluationContext(
+ handlerService.createContextSnapshot(false),
+ selection.toList());
+ context.addVariable(ISources.ACTIVE_CURRENT_SELECTION_NAME, selection);
+ context.removeVariable(ISources.ACTIVE_MENU_SELECTION_NAME);
+ }
+ return context;
+ }
+
+ private static boolean doExecuteCommand(String commandId, Command command, IHandlerService handlerService,
+ EvaluationContext context) throws ExecutionException, NotDefinedException, NotEnabledException, NotHandledException {
+ if (context != null) {
+ handlerService.executeCommandInContext(
+ new ParameterizedCommand(command, null), null, context);
+ } else {
+ handlerService.executeCommand(commandId, null);
+ }
+ return true;
+ }
+
+ public static Command getCommand(String commandId) {
+ ICommandService commandService =
+ (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class);
+ return commandService.getCommand(commandId);
+ }
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.ui/src/org/jboss/ide/eclipse/as/egit/internal/ui/util/CommandUtils.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
14 years, 8 months
JBoss Tools SVN: r33959 - in trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core: src/org/jboss/ide/eclipse/as/egit/core/internal and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-08-16 02:12:13 -0400 (Tue, 16 Aug 2011)
New Revision: 33959
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal/EGitCoreActivator.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/META-INF/MANIFEST.MF
Log:
[JBIDE-9511] renamed Activator to EGitCoreActivator
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/META-INF/MANIFEST.MF 2011-08-16 05:50:18 UTC (rev 33958)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/META-INF/MANIFEST.MF 2011-08-16 06:12:13 UTC (rev 33959)
@@ -3,7 +3,7 @@
Bundle-Name: EGit Integration Core
Bundle-SymbolicName: org.jboss.ide.eclipse.as.egit.core;singleton:=true
Bundle-Version: 0.0.1.qualifier
-Bundle-Activator: org.jboss.ide.eclipse.as.egit.core.Activator
+Bundle-Activator: org.jboss.ide.eclipse.as.egit.core.internal.EGitCoreActivator
Require-Bundle: org.jboss.ide.eclipse.as.core;bundle-version="2.3.0",
org.eclipse.jgit;bundle-version="[1.1.0,2.0.0)",
org.eclipse.egit;bundle-version="[1.1.0,2.0.0)",
Copied: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal/EGitCoreActivator.java (from rev 33955, trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal/Activator.java)
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal/EGitCoreActivator.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal/EGitCoreActivator.java 2011-08-16 06:12:13 UTC (rev 33959)
@@ -0,0 +1,32 @@
+package org.jboss.ide.eclipse.as.egit.core.internal;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class EGitCoreActivator implements BundleActivator {
+
+ public static final String PLUGIN_ID = "org.jboss.ide.eclipse.as.egit.core";
+
+ private static BundleContext context;
+
+ static BundleContext getContext() {
+ return context;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext bundleContext) throws Exception {
+ EGitCoreActivator.context = bundleContext;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext bundleContext) throws Exception {
+ EGitCoreActivator.context = null;
+ }
+
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/internal/EGitCoreActivator.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
14 years, 8 months
JBoss Tools SVN: r33958 - branches/jbosstools-3.2.x/build/aggregate/site.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2011-08-16 01:50:18 -0400 (Tue, 16 Aug 2011)
New Revision: 33958
Modified:
branches/jbosstools-3.2.x/build/aggregate/site/pom.xml
Log:
add instructions for building site locally
Modified: branches/jbosstools-3.2.x/build/aggregate/site/pom.xml
===================================================================
--- branches/jbosstools-3.2.x/build/aggregate/site/pom.xml 2011-08-16 05:12:25 UTC (rev 33957)
+++ branches/jbosstools-3.2.x/build/aggregate/site/pom.xml 2011-08-16 05:50:18 UTC (rev 33958)
@@ -12,7 +12,9 @@
<name>JBoss Tools Aggregate Site</name>
<version>0.0.1-SNAPSHOT</version>
<packaging>eclipse-update-site</packaging>
-
+ <!-- to build locally, use:
+ mvn clean install -P jbosstools-nightly-trunk
+ -->
<properties>
<!-- add more inputRepos into the composite metadata at the URL below. Therefore need not edit this file and add dozens of URLs
which need to be called by Ant script later -->
14 years, 8 months
JBoss Tools SVN: r33957 - in trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core: META-INF and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: adietish
Date: 2011-08-16 01:12:25 -0400 (Tue, 16 Aug 2011)
New Revision: 33957
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/Activator.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/META-INF/MANIFEST.MF
trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/plugin.xml
Log:
[JBIDE-9511] added stub publishers, started egit utils (that the publisher shall use)
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/META-INF/MANIFEST.MF 2011-08-16 05:12:06 UTC (rev 33956)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/META-INF/MANIFEST.MF 2011-08-16 05:12:25 UTC (rev 33957)
@@ -4,13 +4,15 @@
Bundle-SymbolicName: org.jboss.ide.eclipse.as.egit.core;singleton:=true
Bundle-Version: 0.0.1.qualifier
Bundle-Activator: org.jboss.ide.eclipse.as.egit.core.Activator
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.wst.server.core;bundle-version="1.1.302",
- org.eclipse.core.resources;bundle-version="3.7.100",
- org.eclipse.egit;bundle-version="1.1.0",
- org.eclipse.egit.core;bundle-version="1.1.0",
- org.eclipse.egit.ui;bundle-version="1.1.0",
- org.eclipse.team.core;bundle-version="3.6.0"
+Require-Bundle: org.jboss.ide.eclipse.as.core;bundle-version="2.3.0",
+ org.eclipse.jgit;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.egit;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.egit.core;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.egit.ui;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.team.core;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.wst.server.core;bundle-version="[1.1.302,2.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.7.100,4.0.0)",
+ org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-Vendor: JBoss by Red Hat
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/plugin.xml 2011-08-16 05:12:06 UTC (rev 33956)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/plugin.xml 2011-08-16 05:12:25 UTC (rev 33957)
@@ -4,7 +4,7 @@
<extension
point="org.eclipse.wst.server.core.moduleFactories">
<moduleFactory
- class="org.jboss.ide.eclipse.as.egit.core.module.GitProjectModuleFactoryDelegate"
+ class="org.jboss.ide.eclipse.as.egit.core.internal.module.GitProjectModuleFactoryDelegate"
id="org.jboss.ide.eclipse.as.egit.core.module.gitProjectModuleFactory"
projects="true">
<moduleType
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/Activator.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/Activator.java 2011-08-16 05:12:06 UTC (rev 33956)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.egit.core/src/org/jboss/ide/eclipse/as/egit/core/Activator.java 2011-08-16 05:12:25 UTC (rev 33957)
@@ -1,32 +0,0 @@
-package org.jboss.ide.eclipse.as.egit.core;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
- public static final String PLUGIN_ID = "org.jboss.ide.eclipse.as.egit.core";
-
- private static BundleContext context;
-
- static BundleContext getContext() {
- return context;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- }
-
- /*
- * (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- }
-
-}
14 years, 8 months