sdks filtering

This commit is contained in:
Dmitry Avdeev
2012-10-30 12:55:38 +04:00
parent d976e14fba
commit 628c59bf12
20 changed files with 88 additions and 76 deletions
@@ -288,7 +288,7 @@ public class AddModuleWizard extends AbstractWizard<ModuleWizardStep> {
@Nullable final ProjectBuilder projectBuilder = context.getProjectBuilder();
return ProjectJdkTable.getInstance().findMostRecentSdk(new Condition<Sdk>() {
public boolean value(Sdk sdk) {
return projectBuilder == null || projectBuilder.isSuitableSdk(sdk);
return projectBuilder == null || projectBuilder.isSuitableSdkType(sdk.getSdkType());
}
});
}
@@ -18,7 +18,7 @@ package com.intellij.ide.util.projectWizard;
import com.intellij.ide.IdeBundle;
import com.intellij.ide.util.BrowseFilesListener;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.ui.ComponentWithBrowseButton;
import com.intellij.openapi.ui.TextComponentAccessor;
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
@@ -46,7 +46,7 @@ public class JavaSettingsStep extends SdkSettingsStep {
private TextFieldWithBrowseButton mySourcePath;
private JPanel myPanel;
public JavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkType> sdkFilter) {
public JavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkTypeId> sdkFilter) {
super(settingsStep, sdkFilter);
myModuleBuilder = moduleBuilder;
@@ -20,6 +20,7 @@ import com.intellij.ide.util.newProjectWizard.*;
import com.intellij.ide.util.newProjectWizard.ProjectNameStep;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainer;
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesContainerFactory;
@@ -139,7 +140,7 @@ public class ProjectWizardStepFactoryImpl extends ProjectWizardStepFactory {
}
@Override
public ModuleWizardStep createJavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkType> sdkFilter) {
public ModuleWizardStep createJavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkTypeId> sdkFilter) {
return new JavaSettingsStep(settingsStep, moduleBuilder, sdkFilter);
}
}
@@ -18,7 +18,7 @@ package com.intellij.ide.util.projectWizard;
import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.ui.configuration.JdkComboBox;
import com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectSdksModel;
import com.intellij.openapi.util.Condition;
@@ -35,7 +35,7 @@ public class SdkSettingsStep extends ModuleWizardStep {
protected final WizardContext myWizardContext;
protected final ProjectSdksModel myModel;
public SdkSettingsStep(SettingsStep settingsStep, Condition<SdkType> sdkFilter) {
public SdkSettingsStep(SettingsStep settingsStep, Condition<SdkTypeId> sdkFilter) {
myWizardContext = settingsStep.getContext();
myModel = new ProjectSdksModel();
@@ -36,7 +36,7 @@ import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.module.*;
import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryTable;
@@ -363,12 +363,12 @@ public class ProjectFromSourcesBuilderImpl extends ProjectBuilder implements Pro
}
@Override
public boolean isSuitableSdk(final Sdk sdk) {
public boolean isSuitableSdkType(final SdkTypeId sdkTypeId) {
for (ProjectDescriptor projectDescriptor : getSelectedDescriptors()) {
for (ModuleDescriptor moduleDescriptor : projectDescriptor.getModules()) {
try {
final ModuleType moduleType = getModuleType(moduleDescriptor);
if (moduleType != null && !moduleType.createModuleBuilder().isSuitableSdk(sdk)) return false;
if (moduleType != null && !moduleType.createModuleBuilder().isSuitableSdkType(sdkTypeId)) return false;
}
catch (Exception ignore) {
}
@@ -51,22 +51,22 @@ import java.util.List;
public class JdkComboBox extends ComboBoxWithWidePopup {
@Nullable
private final Condition<SdkType> myFilter;
private final Condition<SdkTypeId> myFilter;
@Nullable
private final Condition<SdkType> myCreationFilter;
private final Condition<SdkTypeId> myCreationFilter;
public JdkComboBox(@NotNull final ProjectSdksModel jdkModel) {
this(jdkModel, null, null);
}
public JdkComboBox(@NotNull final ProjectSdksModel jdkModel,
Condition<SdkType> filter) {
Condition<SdkTypeId> filter) {
this(jdkModel, filter, filter);
}
public JdkComboBox(@NotNull final ProjectSdksModel jdkModel,
@Nullable Condition<SdkType> filter,
@Nullable Condition<SdkType> creationFilter) {
@Nullable Condition<SdkTypeId> filter,
@Nullable Condition<SdkTypeId> creationFilter) {
super(new JdkComboBoxModel(jdkModel, getSdkFilter(filter)));
myFilter = filter;
myCreationFilter = creationFilter;
@@ -299,12 +299,11 @@ public class JdkComboBox extends ComboBoxWithWidePopup {
}
}
private static Condition<Sdk> getSdkFilter(@Nullable final Condition<SdkType> filter) {
private static Condition<Sdk> getSdkFilter(@Nullable final Condition<SdkTypeId> filter) {
return filter == null ? Conditions.<Sdk>alwaysTrue() : new Condition<Sdk>() {
@Override
public boolean value(Sdk sdk) {
SdkTypeId type = sdk.getSdkType();
return type instanceof SdkType && filter.value((SdkType)type);
return filter.value(sdk.getSdkType());
}
};
}
@@ -23,6 +23,7 @@ import com.intellij.platform.ProjectTemplate;
import com.intellij.platform.ProjectTemplatesFactory;
import com.intellij.util.ArrayUtil;
import com.intellij.util.Function;
import com.intellij.util.NullableFunction;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -51,11 +52,7 @@ public class PlainModuleTemplatesFactory implements ProjectTemplatesFactory {
@NotNull
@Override
public ProjectTemplate[] createTemplates(String group, WizardContext context) {
ModuleBuilder[] builders = context.getAllBuilders();
for (ModuleBuilder builder : builders) {
if (builder.getGroupName().equals(group)) return new ProjectTemplate[] {new PlainModuleTemplate(builder)};
}
public ProjectTemplate[] createTemplates(final String group, WizardContext context) {
if (OTHER_GROUP.equals(group)) {
return new ProjectTemplate[] { new PlainModuleTemplate(new EmptyModuleBuilder() {
@Override
@@ -69,7 +66,14 @@ public class PlainModuleTemplatesFactory implements ProjectTemplatesFactory {
}
})};
}
return new ProjectTemplate[0];
ModuleBuilder[] builders = context.getAllBuilders();
return ContainerUtil.mapNotNull(builders, new NullableFunction<ModuleBuilder, ProjectTemplate>() {
@Nullable
@Override
public ProjectTemplate fun(ModuleBuilder builder) {
return builder.getGroupName().equals(group) ? new PlainModuleTemplate(builder) : null;
}
}, ProjectTemplate.EMPTY_ARRAY);
}
private static class PlainModuleTemplate implements ProjectTemplate {
@@ -18,10 +18,7 @@ package com.intellij.openapi.module;
import com.intellij.icons.AllIcons;
import com.intellij.ide.util.projectWizard.*;
import com.intellij.openapi.project.ProjectBundle;
import com.intellij.openapi.projectRoots.JavaSdk;
import com.intellij.openapi.projectRoots.JavaSdkType;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.projectRoots.*;
import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.util.Computable;
@@ -104,9 +101,9 @@ public class JavaModuleType extends ModuleType<JavaModuleBuilder> {
@Nullable
@Override
public ModuleWizardStep modifySettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder) {
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, moduleBuilder, new Condition<SdkType>() {
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, moduleBuilder, new Condition<SdkTypeId>() {
@Override
public boolean value(SdkType sdk) {
public boolean value(SdkTypeId sdk) {
return sdk instanceof JavaSdkType;
}
});
@@ -21,14 +21,14 @@ import com.intellij.openapi.module.StdModuleTypes;
import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.projectRoots.JavaSdk;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.CompilerModuleExtension;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.roots.libraries.LibraryTable;
import com.intellij.openapi.util.Conditions;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
@@ -83,7 +83,12 @@ public class JavaModuleBuilder extends ModuleBuilder implements SourcePathsBuild
@Nullable
@Override
public ModuleWizardStep modifySettingsStep(SettingsStep settingsStep) {
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, this, Conditions.<SdkType>alwaysTrue());
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, this, new Condition<SdkTypeId>() {
@Override
public boolean value(SdkTypeId sdkType) {
return isSuitableSdkType(sdkType);
}
});
}
public void setupRootModel(ModifiableRootModel rootModel) throws ConfigurationException {
@@ -164,7 +169,7 @@ public class JavaModuleBuilder extends ModuleBuilder implements SourcePathsBuild
}
@Override
public boolean isSuitableSdk(final Sdk sdk) {
return sdk.getSdkType() == JavaSdk.getInstance();
public boolean isSuitableSdkType(SdkTypeId sdkType) {
return sdkType == JavaSdk.getInstance();
}
}
@@ -18,6 +18,7 @@ package com.intellij.ide.util.projectWizard;
import com.intellij.openapi.components.ServiceManager;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.util.Condition;
@@ -72,5 +73,5 @@ public abstract class ProjectWizardStepFactory {
@Nullable
public abstract ModuleWizardStep createSupportForFrameworksStep(WizardContext context, ModuleBuilder builder, ModulesProvider modulesProvider);
public abstract ModuleWizardStep createJavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkType> sdkFilter);
public abstract ModuleWizardStep createJavaSettingsStep(SettingsStep settingsStep, ModuleBuilder moduleBuilder, Condition<SdkTypeId> sdkFilter);
}
@@ -25,6 +25,7 @@ import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import org.jetbrains.annotations.Nullable;
@@ -48,6 +49,8 @@ public abstract class ProjectBuilder {
}
/**
* Deprecated. Use {@link #isSuitableSdkType(com.intellij.openapi.projectRoots.SdkTypeId)} instead.
*
* Used for automatically assigning an SDK to the project when it gets created.
* If no SDK is specified in the template project and there is no specific SDK chooser step,
* the SDK which is set for the project is the highest version SDK for which
@@ -56,10 +59,16 @@ public abstract class ProjectBuilder {
* @param sdk the candidate SDK
* @return true if the SDK can be used for this project type, false otherwise
*/
@Deprecated
public boolean isSuitableSdk(Sdk sdk) {
return true;
}
public boolean isSuitableSdkType(SdkTypeId sdkType) {
return true;
}
@Nullable
public Project createProject(String name, String path) {
return ProjectManager.getInstance().createProject(name, path);
@@ -33,7 +33,7 @@ import com.intellij.openapi.ui.MasterDetailsComponent;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.Condition;
import com.intellij.util.ArrayUtil;
import com.intellij.util.ArrayUtilRt;
import com.intellij.util.Consumer;
import com.intellij.util.EventDispatcher;
import org.jetbrains.annotations.Nullable;
@@ -56,6 +56,7 @@ public class ProjectSdksModel implements SdkModel {
private Sdk myProjectSdk;
private boolean myInitialized = false;
private Condition<SdkTypeId> myFilter;
@Override
public Listener getMulticaster() {
@@ -86,13 +87,14 @@ public class ProjectSdksModel implements SdkModel {
mySdkEventsDispatcher.removeListener(listener);
}
public void reset(@Nullable Project project, @Nullable Condition<SdkType> filter) {
public void reset(@Nullable Project project, @Nullable Condition<SdkTypeId> filter) {
myProjectSdks.clear();
myFilter = filter;
final Sdk[] projectSdks = ProjectJdkTable.getInstance().getAllJdks();
for (Sdk sdk : projectSdks) {
try {
SdkTypeId type = sdk.getSdkType();
if (filter == null || (type instanceof SdkType && filter.value((SdkType)type))) {
if (acceptSdkType(type)) {
myProjectSdks.put(sdk, (Sdk)sdk.clone());
}
}
@@ -107,6 +109,10 @@ public class ProjectSdksModel implements SdkModel {
myInitialized = true;
}
private boolean acceptSdkType(SdkTypeId type) {
return myFilter == null || myFilter.value(type);
}
public void reset(@Nullable Project project) {
reset(project, null);
}
@@ -144,7 +150,7 @@ public class ProjectSdksModel implements SdkModel {
if (myProjectSdks.containsKey(tableItem)) {
itemsInTable.add(tableItem);
}
else {
else if (acceptSdkType(tableItem.getSdkType())){
jdkTable.removeJdk(tableItem);
}
}
@@ -164,7 +170,7 @@ public class ProjectSdksModel implements SdkModel {
final Sdk[] allJdks = jdkTable.getAllJdks();
for (final Sdk projectJdk : myProjectSdks.keySet()) {
LOG.assertTrue(projectJdk != null);
if (ArrayUtil.find(allJdks, projectJdk) == -1) {
if (ArrayUtilRt.find(allJdks, projectJdk) == -1) {
jdkTable.addJdk(projectJdk);
}
}
@@ -235,7 +241,7 @@ public class ProjectSdksModel implements SdkModel {
public void createAddActions(DefaultActionGroup group,
final JComponent parent,
final Consumer<Sdk> updateTree,
@Nullable Condition<SdkType> filter) {
@Nullable Condition<SdkTypeId> filter) {
final SdkType[] types = SdkType.getAllTypes();
for (final SdkType type : types) {
if (filter != null && !filter.value(type)) continue;
@@ -26,6 +26,8 @@ import org.jetbrains.annotations.Nullable;
*/
public interface ProjectTemplate {
ProjectTemplate[] EMPTY_ARRAY = new ProjectTemplate[0];
@NotNull
String getName();
@@ -65,7 +65,6 @@ import com.intellij.psi.codeStyle.CodeStyleSchemes;
import com.intellij.psi.codeStyle.CodeStyleSettings;
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
import com.intellij.psi.impl.DocumentCommitThread;
import com.intellij.psi.impl.PsiDocumentManagerImpl;
import com.intellij.psi.impl.PsiManagerEx;
import com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl;
import com.intellij.util.PatchedWeakReference;
@@ -569,6 +568,7 @@ public abstract class PlatformTestCase extends UsefulTestCase implements DataPro
}
}
@Nullable
protected Sdk getTestProjectJdk() {
return null;
}
@@ -42,14 +42,13 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.JavaSdk;
import com.intellij.openapi.projectRoots.ProjectJdkTable;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkType;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.*;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.util.Conditions;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.VirtualFile;
@@ -744,12 +743,6 @@ public class AndroidModuleBuilder extends JavaModuleBuilder {
return getClass().getName();
}
@Nullable
@Override
public ModuleWizardStep modifySettingsStep(SettingsStep settingsStep) {
return ProjectWizardStepFactory.getInstance().createJavaSettingsStep(settingsStep, this, Conditions.<SdkType>is(AndroidSdkType.getInstance()));
}
private static boolean hasAppropriateJdk() {
for (Sdk sdk : ProjectJdkTable.getInstance().getAllJdks()) {
if (AndroidSdkUtils.isApplicableJdk(sdk)) {
@@ -775,4 +768,9 @@ public class AndroidModuleBuilder extends JavaModuleBuilder {
}
return Pair.create(result, success);
}
@Override
public boolean isSuitableSdkType(SdkTypeId sdkType) {
return AndroidSdkType.getInstance() == sdkType;
}
}
+1
View File
@@ -27,6 +27,7 @@
<orderEntry type="module" module-name="xml" />
<orderEntry type="library" scope="TEST" name="Groovy" level="project" />
<orderEntry type="module" module-name="jps-builders" />
<orderEntry type="module" module-name="idea-tests" scope="TEST" />
</component>
</module>
@@ -16,14 +16,14 @@
package org.jetbrains.idea.devkit.module;
import com.intellij.ide.util.projectWizard.JavaModuleBuilder;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleType;
import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.startup.StartupManager;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.idea.devkit.build.PluginBuildConfiguration;
import org.jetbrains.idea.devkit.projectRoots.IdeaJdk;
@@ -52,8 +52,9 @@ public class PluginModuleBuilder extends JavaModuleBuilder{
}
}
public boolean isSuitableSdk(Sdk sdk) {
return sdk.getSdkType() == IdeaJdk.getInstance();
@Override
public boolean isSuitableSdkType(SdkTypeId sdk) {
return sdk == IdeaJdk.getInstance();
}
@Override
@@ -8,8 +8,7 @@ import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.projectRoots.JavaSdk;
import com.intellij.openapi.projectRoots.JavaSdkVersion;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.startup.StartupManager;
@@ -201,19 +200,8 @@ public class GradleProjectImportBuilder extends ProjectImportBuilder<GradleProje
}
@Override
public boolean isSuitableSdk(Sdk sdk) {
JavaSdk javaSdk = JavaSdk.getInstance();
if (sdk == null || sdk.getSdkType() != javaSdk) {
return false;
}
if (myGradleProject == null) {
return true;
}
JavaSdkVersion version = javaSdk.getVersion(sdk);
if (version == null) {
return false;
}
return version.getMaxLanguageLevel().isAtLeast(myGradleProject.getLanguageLevel());
public boolean isSuitableSdkType(SdkTypeId sdk) {
return sdk == JavaSdk.getInstance();
}
/**
@@ -23,7 +23,7 @@ import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.project.DumbAwareRunnable;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.projectRoots.JavaSdk;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.util.Pair;
@@ -104,8 +104,8 @@ public class MavenModuleBuilder extends ModuleBuilder implements SourcePathsBuil
}
@Override
public boolean isSuitableSdk(Sdk sdk) {
return sdk.getSdkType() == JavaSdk.getInstance();
public boolean isSuitableSdkType(SdkTypeId sdk) {
return sdk == JavaSdk.getInstance();
}
@Override
@@ -23,7 +23,7 @@ import com.intellij.openapi.options.ConfigurationException;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.projectRoots.JavaSdk;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.projectRoots.SdkTypeId;
import com.intellij.openapi.roots.ui.configuration.ModulesConfigurator;
import com.intellij.openapi.roots.ui.configuration.ModulesProvider;
import com.intellij.openapi.vfs.LocalFileSystem;
@@ -74,8 +74,8 @@ public class MavenProjectBuilder extends ProjectImportBuilder<MavenProject> {
}
@Override
public boolean isSuitableSdk(Sdk sdk) {
return sdk.getSdkType() == JavaSdk.getInstance();
public boolean isSuitableSdkType(SdkTypeId sdk) {
return sdk == JavaSdk.getInstance();
}
private Parameters getParameters() {