[jbosstools-commits] JBoss Tools SVN: r30772 - in trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core: META-INF and 2 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri Apr 22 09:03:21 EDT 2011


Author: dgeraskov
Date: 2011-04-22 09:03:21 -0400 (Fri, 22 Apr 2011)
New Revision: 30772

Added:
   trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/libval/
   trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/libval/HibernateUserLibraryValidator.java
Modified:
   trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/META-INF/MANIFEST.MF
   trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml
Log:
https://issues.jboss.org/browse/JBIDE-8677
Use Library validator instead of custom Library Provider

Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/META-INF/MANIFEST.MF	2011-04-22 01:49:27 UTC (rev 30771)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/META-INF/MANIFEST.MF	2011-04-22 13:03:21 UTC (rev 30772)
@@ -18,7 +18,8 @@
  org.eclipse.jpt.common.core,
  org.eclipse.jpt.jpa.db,
  org.eclipse.jpt.jpa.core,
- org.eclipse.text;bundle-version="3.5.100"
+ org.eclipse.text;bundle-version="3.5.100",
+ org.eclipse.jst.j2ee;bundle-version="1.1.500"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-Vendor: %Bundle-Vendor.0
 Export-Package: org.jboss.tools.hibernate.jpt.core.internal,

Modified: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml	2011-04-22 01:49:27 UTC (rev 30771)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/plugin.xml	2011-04-22 13:03:21 UTC (rev 30772)
@@ -3,10 +3,16 @@
 <plugin>
 	<extension id="org.jboss.tools.hibernate.jpt.core"
 		point="org.eclipse.jpt.jpa.core.jpaPlatforms">
+		
+		<jpaPlatformGroup
+        id="hibernate.group"
+        label="Hibernate"/>
+		
 		<jpaPlatform
 	        default="false"
 	        factoryClass="org.jboss.tools.hibernate.jpt.core.internal.HibernateJpaPlatformFactory"
 	        id="hibernate"
+	        group="hibernate.group"
 	        jpaFacetVersion="1.0"
 	        label="Hibernate (JPA 1.x)">
 		</jpaPlatform>
@@ -14,9 +20,11 @@
 	        default="false"
 	        factoryClass="org.jboss.tools.hibernate.jpt.core.internal.jpa2.HibernateJpa2_0PlatformFactory"
 	        id="hibernate2_0"
+	        group="hibernate.group"
 	        jpaFacetVersion="2.0"
 	        label="Hibernate (JPA 2.x)">
-		</jpaPlatform>		
+		</jpaPlatform>
+
 	</extension>
  <extension
        point="org.eclipse.wst.common.project.facet.core.listeners">
@@ -25,6 +33,26 @@
           eventTypes="POST_INSTALL">
     </listener>
  </extension>
+ 
+	<extension
+		point="org.eclipse.jpt.common.core.libraryValidators">
+		
+		<libraryValidator
+			id="hibernateLibraryValidator"
+			class="org.jboss.tools.hibernate.jpt.core.internal.libval.HibernateUserLibraryValidator">
+			<enablement>
+				<and>
+					<with variable="libraryProvider">
+						<test property="org.eclipse.jpt.common.core.extendsId" value="jpa-user-library-provider"/>
+					</with>
+					<with variable="config">
+						<test property="org.eclipse.jpt.jpa.core.jpaPlatformGroup" value="hibernate.group"/>
+					</with>
+				</and>
+			</enablement>
+		</libraryValidator>
+		
+	</extension>
 
  <!--extension 
 		point="org.eclipse.jst.common.project.facet.core.libraryProviders">

Added: trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/libval/HibernateUserLibraryValidator.java
===================================================================
--- trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/libval/HibernateUserLibraryValidator.java	                        (rev 0)
+++ trunk/hibernatetools/plugins/org.jboss.tools.hibernate.jpt.core/src/org/jboss/tools/hibernate/jpt/core/internal/libval/HibernateUserLibraryValidator.java	2011-04-22 13:03:21 UTC (rev 30772)
@@ -0,0 +1,49 @@
+/*******************************************************************************
+ * 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.libval;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jdt.core.IClasspathEntry;
+import org.eclipse.jpt.common.core.internal.libval.LibValUtil;
+import org.eclipse.jpt.common.core.libprov.JptLibraryProviderInstallOperationConfig;
+import org.eclipse.jpt.common.core.libval.LibraryValidator;
+import org.eclipse.jpt.common.utility.internal.iterables.TransformationIterable;
+import org.eclipse.jpt.jpa.core.internal.libprov.JpaUserLibraryProviderInstallOperationConfig;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class HibernateUserLibraryValidator implements LibraryValidator {
+
+	@Override
+	public IStatus validate(JptLibraryProviderInstallOperationConfig config) {
+		JpaUserLibraryProviderInstallOperationConfig jpaConfig = (JpaUserLibraryProviderInstallOperationConfig) config;
+		Set<String> classNames = new HashSet<String>();
+		//classNames.add("javax.persistence.Entity"); //$NON-NLS-1$
+		classNames.add("org.hibernate.SessionFactory");//$NON-NLS-1$
+
+		Iterable<IPath> libraryPaths = new TransformationIterable<IClasspathEntry, IPath>(
+				jpaConfig.resolve()) {
+			@Override
+			protected IPath transform(IClasspathEntry o) {
+				return o.getPath();
+			}
+		};
+
+		return LibValUtil.validate(libraryPaths, classNames);
+	}
+
+}



More information about the jbosstools-commits mailing list