1 package org
.jetbrains
.idea
.maven
.dom
.converters
;
3 import com
.intellij
.openapi
.util
.text
.StringUtil
;
4 import com
.intellij
.util
.containers
.hash
.HashSet
;
5 import com
.intellij
.util
.xml
.ConvertContext
;
6 import com
.intellij
.util
.xml
.impl
.ConvertContextImpl
;
7 import org
.jetbrains
.idea
.maven
.dom
.model
.MavenDomShortArtifactCoordinates
;
8 import org
.jetbrains
.idea
.maven
.indices
.MavenProjectIndicesManager
;
9 import org
.jetbrains
.idea
.maven
.project
.MavenId
;
11 import java
.util
.Collection
;
12 import java
.util
.Collections
;
15 public class MavenArtifactCoordinatesGroupIdConverter
extends MavenArtifactCoordinatesConverter
{
17 protected boolean doIsValid(MavenId id
, MavenProjectIndicesManager manager
, ConvertContext context
) {
18 if (StringUtil
.isEmpty(id
.getGroupId())) return false;
19 return manager
.hasGroupId(id
.getGroupId());
23 protected Set
<String
> doGetVariants(MavenId id
, MavenProjectIndicesManager manager
) {
24 return manager
.getGroupIds();
27 public Collection
<String
> getSmartVariants(ConvertContext convertContext
) {
28 Set
<String
> groupIds
= new HashSet
<String
>();
29 String artifactId
= MavenArtifactCoordinatesHelper
.getId(convertContext
).getArtifactId();
30 if (!StringUtil
.isEmptyOrSpaces(artifactId
)) {
31 MavenProjectIndicesManager manager
= MavenProjectIndicesManager
.getInstance(convertContext
.getFile().getProject());
32 for (String grouipId
: manager
.getGroupIds()) {
33 if (manager
.getArtifactIds(grouipId
).contains(artifactId
)) {
34 groupIds
.add(grouipId
);