Skip to content

Commit

Permalink
[1.2.6]: RELEASE
Browse files Browse the repository at this point in the history
 - changed UI Component for ServiceTree
 - Support parameters are displayed in order
 - Increase container port and context path settings
 - Fix failure to save global settings
 - Fix some bugs
  • Loading branch information
ZhangYuanSheng1217 committed Sep 1, 2020
1 parent 2e5da07 commit 6d7532d
Show file tree
Hide file tree
Showing 30 changed files with 692 additions and 200 deletions.
10 changes: 6 additions & 4 deletions resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
<ul>
<li> changed UI Component for ServiceTree </li>
<li> Support parameters are displayed in order </li>
<li> fix some bugs </li>
<li> Increase container port and context path settings </li>
<li> Fix failure to save global settings </li>
<li> Fix some bugs </li>
</ul>
]]>
</change-notes>
Expand All @@ -45,11 +47,11 @@

<extensions defaultExtensionNs="com.intellij">
<applicationService
serviceImplementation="com.github.restful.tool.configuration.AppSettingsState"/>
serviceImplementation="com.github.restful.tool.configuration.RestfulSetting"/>

<applicationConfigurable parentId="tools"
instance="com.github.restful.tool.configuration.AppSettingsConfigurable"
id="com.github.restful.tool.configuration.AppSettingsConfigurable"
instance="com.github.restful.tool.configuration.RestfulSettingConfigurable"
id="com.github.restful.tool.configuration.RestfulSettingConfigurable"
dynamic="true"/>

<projectService serviceInterface="com.github.restful.tool.service.ToolWindowService"
Expand Down
14 changes: 14 additions & 0 deletions src/com/github/restful/tool/beans/ContentType.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.github.restful.tool.beans;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.nio.charset.Charset;

Expand Down Expand Up @@ -85,4 +86,17 @@ public String toString() {
public String toString(Charset charset) {
return build(this, charset);
}

@NotNull
public static ContentType find(@Nullable String contentType) {
if (contentType == null) {
return FORM_URLENCODED;
}
for (ContentType type : values()) {
if (type.getValue().equals(contentType)) {
return type;
}
}
return FORM_URLENCODED;
}
}
4 changes: 2 additions & 2 deletions src/com/github/restful/tool/beans/PropertiesKey.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.github.restful.tool.beans;

import com.github.restful.tool.beans.settings.AppSetting;
import com.github.restful.tool.beans.settings.Settings;
import com.intellij.ide.util.PropertiesComponent;
import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull;
Expand All @@ -26,7 +26,7 @@ public static boolean scanServiceWithLibrary(@NotNull Project project) {
PropertiesComponent instance = PropertiesComponent.getInstance(project);
String value = instance.getValue(
SCAN_SERVICE_WITH_LIB.value,
AppSetting.SystemOptionForm.SCAN_WITH_LIBRARY.getData().toString()
Settings.SystemOptionForm.SCAN_WITH_LIBRARY.getData().toString()
);
return Boolean.parseBoolean(value);
}
Expand Down
112 changes: 34 additions & 78 deletions src/com/github/restful/tool/beans/settings/SettingKey.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@
package com.github.restful.tool.beans.settings;

import com.github.restful.tool.beans.Key;
import com.github.restful.tool.configuration.RestfulSetting;
import com.github.restful.tool.utils.SystemUtil;
import com.github.restful.tool.utils.xml.converter.BooleanConverter;
import com.github.restful.tool.utils.xml.converter.IntegerConverter;
import com.github.restful.tool.utils.xml.converter.StringConverter;
import com.github.restful.tool.view.window.options.Option;
import com.github.restful.tool.configuration.AppSettingsState;
import com.github.restful.tool.view.window.options.template.CheckBox;
import com.github.restful.tool.view.window.options.template.ComboBox;
import com.github.restful.tool.view.window.options.template.*;
import com.intellij.util.xmlb.Converter;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
Expand All @@ -28,121 +31,69 @@
*/
public class SettingKey<T> extends Key<T> {

public static final StringConverter STRING_CONVERTER = new StringConverter();
public static final BooleanConverter BOOLEAN_CONVERTER = new BooleanConverter();
public static final IntegerConverter INTEGER_CONVERTER = new IntegerConverter();

private final Converter<T> converter;
private Option option;

private SettingKey(String name, T defaultData) {
private SettingKey(String name, T defaultData, @NotNull Converter<T> converter) {
super(name, defaultData);
this.converter = converter;
}

@NotNull
@Contract(value = "_, _ -> new", pure = true)
public static SettingKey<Boolean> create(@NotNull String name, @NotNull Boolean defaultData) {
SettingKey<Boolean> settingKey = new SettingKey<>(name, defaultData);
public static SettingKey<Boolean> createCheckBox(@NotNull String name, @NotNull Boolean defaultData) {
SettingKey<Boolean> settingKey = new SettingKey<>(name, defaultData, BOOLEAN_CONVERTER);
settingKey.option = new CheckBox(settingKey, null);
return settingKey;
}

@NotNull
@Contract(value = "_, _, _ -> new", pure = true)
public static <T> SettingKey<T> create(@NotNull String name, @NotNull final T[] dataArray, int... defaultDataIndex) {
SettingKey<T> settingKey = new SettingKey<>(name, dataArray[SystemUtil.Array.getLegalSubscript(
dataArray,
defaultDataIndex != null && defaultDataIndex.length > 0 ? defaultDataIndex[0] : null
)]);
settingKey.option = new ComboBox<>(dataArray, settingKey);
return settingKey;
}

@NotNull
@Contract(value = "_, _, _, _ -> new", pure = true)
public static <T> SettingKey<T> create(@NotNull String name, @NotNull final T[] dataArray, @NotNull Option.Custom<ComboBox<T>> other, int... defaultDataIndex) {
public static <T> SettingKey<T> createComboBox(@NotNull String name, @NotNull final T[] dataArray, @NotNull Converter<T> converter, int... defaultDataIndex) {
SettingKey<T> settingKey = new SettingKey<>(name, dataArray[SystemUtil.Array.getLegalSubscript(
dataArray,
defaultDataIndex != null && defaultDataIndex.length > 0 ? defaultDataIndex[0] : null
)]);
settingKey.option = new ComboBox<T>(dataArray, settingKey) {
@Override
public void showSetting(@NotNull AppSetting setting) {
if (!other.showSetting(setting, this)) {
super.showSetting(setting);
}
}

@Override
public void applySetting(@NotNull AppSetting setting) {
if (!other.applySetting(setting, this)) {
super.applySetting(setting);
}
}

@Nullable
@Override
public Integer getTopInset() {
Integer topInset = other.getTopInset();
return topInset == null ? super.getTopInset() : topInset;
}
};
)], converter);
settingKey.option = new ComboBox<>(dataArray, settingKey);
return settingKey;
}

@NotNull
@Contract(value = "_, _, _, _, _ -> new", pure = true)
public static <T> SettingKey<T> create(@NotNull String name, @NotNull final T[] dataArray, @NotNull Option.Custom<ComboBox<T>> other, @NotNull JComponent[] components, int... defaultDataIndex) {
public static <T> SettingKey<T> createComboBox(@NotNull String name, @NotNull final T[] dataArray, @NotNull Converter<T> converter, @NotNull JComponent[] components, int... defaultDataIndex) {
SettingKey<T> settingKey = new SettingKey<>(name, dataArray[SystemUtil.Array.getLegalSubscript(
dataArray,
defaultDataIndex != null && defaultDataIndex.length > 0 ? defaultDataIndex[0] : null
)]);
settingKey.option = new ComboBox<T>(dataArray, settingKey, null, components) {
@Override
public void showSetting(@NotNull AppSetting setting) {
if (!other.showSetting(setting, this)) {
super.showSetting(setting);
}
}

@Override
public void applySetting(@NotNull AppSetting setting) {
if (!other.applySetting(setting, this)) {
super.applySetting(setting);
}
}

@Nullable
@Override
public Integer getTopInset() {
Integer topInset = other.getTopInset();
return topInset == null ? super.getTopInset() : topInset;
}
};
)], converter);
settingKey.option = new ComboBox<>(dataArray, settingKey, null, components);
return settingKey;
}

@NotNull
@Contract(value = "_, _, _, _ -> new", pure = true)
public static <T> SettingKey<T> create(@NotNull String name, @NotNull final T[] dataArray, @NotNull JComponent[] components, int... defaultDataIndex) {
SettingKey<T> settingKey = new SettingKey<>(name, dataArray[SystemUtil.Array.getLegalSubscript(
dataArray,
defaultDataIndex != null && defaultDataIndex.length > 0 ? defaultDataIndex[0] : null
)]);
settingKey.option = new ComboBox<>(dataArray, settingKey, null, components);
public static SettingKey<String> createInputString(@NotNull String name, @NotNull String defaultData, @NotNull BaseInput.Verify<String> verify) {
SettingKey<String> settingKey = new SettingKey<>(name, defaultData, STRING_CONVERTER);
settingKey.option = new StringInput(defaultData, settingKey, verify);
return settingKey;
}

@NotNull
@Contract(value = "_, _, _ -> new", pure = true)
public static <T> SettingKey<T> create(@NotNull String name, @NotNull T defaultData, @NotNull Option option) {
SettingKey<T> settingKey = new SettingKey<>(name, defaultData);
settingKey.option = option;
public static SettingKey<Integer> createInputNumber(@NotNull String name, @NotNull Integer defaultData, @NotNull BaseInput.Verify<Integer> verify) {
SettingKey<Integer> settingKey = new SettingKey<>(name, defaultData, INTEGER_CONVERTER);
settingKey.option = new IntegerInput(defaultData, settingKey, verify);
return settingKey;
}

public T getData() {
AppSetting appSetting = AppSettingsState.getInstance().getAppSetting();
Settings appSetting = RestfulSetting.getInstance().getAppSetting();
return appSetting.getData(this);
}

public void setData(@NotNull T data) {
AppSetting appSetting = AppSettingsState.getInstance().getAppSetting();
Settings appSetting = RestfulSetting.getInstance().getAppSetting();
appSetting.putData(this, data);
}

Expand All @@ -154,4 +105,9 @@ public Option getOption() {
public void setOption(@Nullable Option option) {
this.option = option;
}

@NotNull
public Converter<T> getConverter() {
return converter;
}
}
Loading

0 comments on commit 6d7532d

Please sign in to comment.