|
Lines 31-36
Link Here
|
| 31 |
import org.eclipse.core.runtime.IStatus; |
31 |
import org.eclipse.core.runtime.IStatus; |
| 32 |
import org.eclipse.core.runtime.Status; |
32 |
import org.eclipse.core.runtime.Status; |
| 33 |
|
33 |
|
|
|
34 |
import javax.naming.NameAlreadyBoundException; |
| 35 |
|
| 34 |
import java.io.IOException; |
36 |
import java.io.IOException; |
| 35 |
import java.io.ObjectInput; |
37 |
import java.io.ObjectInput; |
| 36 |
import java.util.Collections; |
38 |
import java.util.Collections; |
|
Lines 49-67
Link Here
|
| 49 |
private ECPProjectManagerImpl() { |
51 |
private ECPProjectManagerImpl() { |
| 50 |
} |
52 |
} |
| 51 |
|
53 |
|
| 52 |
public ECPProject createProject(ECPProvider provider, String name) { |
54 |
public ECPProject createProject(ECPProvider provider, String name) throws NameAlreadyBoundException { |
| 53 |
return this.createProject(provider, name, ECPUtil.createProperties()); |
55 |
return this.createProject(provider, name, ECPUtil.createProperties()); |
| 54 |
} |
56 |
} |
| 55 |
|
57 |
|
| 56 |
public ECPProject createProject(ECPProvider provider, String name, ECPProperties properties) { |
58 |
public ECPProject createProject(ECPProvider provider, String name, ECPProperties properties) |
|
|
59 |
throws NameAlreadyBoundException { |
| 60 |
if (projectExists(name)) { |
| 61 |
throw new NameAlreadyBoundException("A project with name " + name + " already exists"); |
| 62 |
} |
| 57 |
InternalProject project = new ECPProjectImpl((InternalProvider) provider, name, properties); |
63 |
InternalProject project = new ECPProjectImpl((InternalProvider) provider, name, properties); |
| 58 |
return createProject(project); |
64 |
return createProject(project); |
| 59 |
} |
65 |
} |
| 60 |
|
66 |
|
| 61 |
public ECPProject createProject(ECPRepository repository, String name, ECPProperties properties) { |
67 |
public ECPProject createProject(ECPRepository repository, String name, ECPProperties properties) |
|
|
68 |
throws NameAlreadyBoundException { |
| 69 |
if (projectExists(name)) { |
| 70 |
throw new NameAlreadyBoundException("A project with name " + name + " already exists"); |
| 71 |
} |
| 62 |
InternalProject project = new ECPProjectImpl(repository, name, properties); |
72 |
InternalProject project = new ECPProjectImpl(repository, name, properties); |
| 63 |
return createProject(project); |
73 |
return createProject(project); |
|
|
74 |
} |
| 64 |
|
75 |
|
|
|
76 |
private boolean projectExists(String name) { |
| 77 |
return getProject(name) != null; |
| 65 |
} |
78 |
} |
| 66 |
|
79 |
|
| 67 |
/** |
80 |
/** |
|
Lines 71-76
Link Here
|
| 71 |
private ECPProject createProject(InternalProject project) { |
84 |
private ECPProject createProject(InternalProject project) { |
| 72 |
project.getProvider().handleLifecycle(project, LifecycleEvent.CREATE); |
85 |
project.getProvider().handleLifecycle(project, LifecycleEvent.CREATE); |
| 73 |
changeElements(null, Collections.singleton(project)); |
86 |
changeElements(null, Collections.singleton(project)); |
|
|
87 |
|
| 74 |
return project; |
88 |
return project; |
| 75 |
} |
89 |
} |
| 76 |
|
90 |
|