Skip to main content
summaryrefslogtreecommitdiffstats
blob: 1e302eb54146e8d5fd3aafb9cf702c627d1c2b21 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/*******************************************************************************
 *  Copyright (c) 2010, 2011  Oracle. All rights reserved.
 *  This program and the accompanying materials are made available under the
 *  terms of the Eclipse Public License v1.0, which accompanies this distribution
 *  and is available at http://www.eclipse.org/legal/epl-v10.html
 *  
 *  Contributors: 
 *  	Oracle - initial API and implementation
 *******************************************************************************/
package org.eclipse.jpt.jpa.eclipselink.core.internal.libval;

import java.util.HashMap;
import java.util.Map;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jpt.common.core.libprov.JptLibraryProviderInstallOperationConfig;
import org.eclipse.jpt.jpa.core.internal.libprov.JpaOsgiBundlesLibraryProviderInstallOperationConfig;
import org.eclipse.jpt.jpa.core.internal.libval.AbstractOsgiBundlesLibraryValidator;
import org.eclipse.jpt.jpa.core.platform.JpaPlatformDescription;
import org.eclipse.jpt.jpa.eclipselink.core.platform.EclipseLinkPlatform;
import org.eclipse.osgi.service.resolver.VersionRange;

public class EclipseLinkEclipseLinkBundlesLibraryValidator
	extends AbstractOsgiBundlesLibraryValidator {
	
	public IStatus validate(JptLibraryProviderInstallOperationConfig config) {
		JpaOsgiBundlesLibraryProviderInstallOperationConfig jpaConfig 
				= (JpaOsgiBundlesLibraryProviderInstallOperationConfig) config;
		Map<String, VersionRange[]> bundleVersionRanges = new HashMap<String, VersionRange[]>();
		JpaPlatformDescription platform = jpaConfig.getJpaPlatform();
		if (EclipseLinkPlatform.VERSION_1_0.equals(platform)) {
			bundleVersionRanges.put(
					"org.eclipse.persistence.core", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.0, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.jpa", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.0, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.asm", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.0, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.antlr", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.0, 3.0)")}); //$NON-NLS-1$
		}
		else if (EclipseLinkPlatform.VERSION_1_1.equals(platform)) {
			bundleVersionRanges.put(
					"org.eclipse.persistence.core", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.1, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.jpa", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.1, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.asm", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.1, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.antlr", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.1, 3.0)")}); //$NON-NLS-1$
		}
		else if (EclipseLinkPlatform.VERSION_1_2.equals(platform)) {
			bundleVersionRanges.put(
					"org.eclipse.persistence.core", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.2, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.jpa", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.2, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.asm", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.2, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.antlr", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[1.2, 3.0)")}); //$NON-NLS-1$
		}
		else if (EclipseLinkPlatform.VERSION_2_0.equals(platform)) {
			bundleVersionRanges.put(
					"org.eclipse.persistence.core", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[2.0, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.jpa", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[2.0, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.asm", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[2.0, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.antlr", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[2.0, 3.0)")}); //$NON-NLS-1$
		}
		else if (EclipseLinkPlatform.VERSION_2_1.equals(platform)) {
			bundleVersionRanges.put(
					"org.eclipse.persistence.core", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[2.1, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.jpa", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[2.1, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.asm", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[2.1, 3.0)")}); //$NON-NLS-1$
			bundleVersionRanges.put(
					"org.eclipse.persistence.antlr", //$NON-NLS-1$
					new VersionRange[] {new VersionRange("[2.1, 3.0)")}); //$NON-NLS-1$
		}
		return validate(jpaConfig, bundleVersionRanges);
	}
}

Back to the top