提交 bddfa59b 编写于 作者: S serge-rider

Import config plugin folder rename (eventually)


Former-commit-id: 2a5d2a8d
上级 618e89cd
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.jkiss.dbeaver.ext.import_config</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.jkiss.dbeaver.ext.import_config</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
#Thu Aug 19 23:54:20 MSD 2010
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
#Thu Aug 19 23:54:20 MSD 2010
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<!--
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<plugin>
<extension point="org.eclipse.ui.importWizards">
<category id="org.jkiss.dbeaver.import_config.third-party" name="Third Party Configuration"/>
<wizard
category="org.jkiss.dbeaver.import_config.third-party"
class="org.jkiss.dbeaver.ext.import_config.wizards.squirrel.ConfigImportWizardSquirrel"
id="org.jkiss.dbeaver.import_config.squirrel"
name="SQL Squirrel"
icon="icons/squirrel.png">
<description>SQL Squirrel Client</description>
</wizard>
<wizard
category="org.jkiss.dbeaver.import_config.third-party"
class="org.jkiss.dbeaver.ext.import_config.wizards.dbvis.ConfigImportWizardDbvis"
id="org.jkiss.dbeaver.import_config.dbvis"
name="DBVisualizer"
icon="icons/dbvis.png">
<description>DBVisualizer</description>
</wizard>
<wizard
category="org.jkiss.dbeaver.import_config.third-party"
class="org.jkiss.dbeaver.ext.import_config.wizards.navicat.ConfigImportWizardNavicat"
id="org.jkiss.dbeaver.import_config.navicat"
name="Navicat"
icon="icons/navicat.png">
<description>Navicat</description>
</wizard>
<wizard
category="org.jkiss.dbeaver.import_config.third-party"
class="org.jkiss.dbeaver.ext.import_config.wizards.custom.ConfigImportWizardCustom"
id="org.jkiss.dbeaver.import_config.custom"
name="Custom"
icon="icons/custom.png">
<description>Custom connections format (CSV, XML)</description>
</wizard>
</extension>
</plugin>
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<!--
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-->
<plugin>
<extension point="org.eclipse.ui.importWizards">
<category id="org.jkiss.dbeaver.import_config.third-party" name="Third Party Configuration"/>
<wizard
category="org.jkiss.dbeaver.import_config.third-party"
class="org.jkiss.dbeaver.ext.import_config.wizards.squirrel.ConfigImportWizardSquirrel"
id="org.jkiss.dbeaver.import_config.squirrel"
name="SQL Squirrel"
icon="icons/squirrel.png">
<description>SQL Squirrel Client</description>
</wizard>
<wizard
category="org.jkiss.dbeaver.import_config.third-party"
class="org.jkiss.dbeaver.ext.import_config.wizards.dbvis.ConfigImportWizardDbvis"
id="org.jkiss.dbeaver.import_config.dbvis"
name="DBVisualizer"
icon="icons/dbvis.png">
<description>DBVisualizer</description>
</wizard>
<wizard
category="org.jkiss.dbeaver.import_config.third-party"
class="org.jkiss.dbeaver.ext.import_config.wizards.navicat.ConfigImportWizardNavicat"
id="org.jkiss.dbeaver.import_config.navicat"
name="Navicat"
icon="icons/navicat.png">
<description>Navicat</description>
</wizard>
<wizard
category="org.jkiss.dbeaver.import_config.third-party"
class="org.jkiss.dbeaver.ext.import_config.wizards.custom.ConfigImportWizardCustom"
id="org.jkiss.dbeaver.import_config.custom"
name="Custom"
icon="icons/custom.png">
<description>Custom connections format (CSV, XML)</description>
</wizard>
</extension>
</plugin>
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jkiss.dbeaver.ext.import_config;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
public class Activator extends AbstractUIPlugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.jkiss.dbeaver.ext.import_config";
// The shared instance
private static Activator plugin;
/**
* The constructor
*/
public Activator() {
}
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static Activator getDefault() {
return plugin;
}
/**
* Returns an image descriptor for the image file at the given
* plug-in relative path
*
* @param path the path
* @return the image descriptor
*/
public static ImageDescriptor getImageDescriptor(String path) {
return imageDescriptorFromPlugin(PLUGIN_ID, path);
}
}
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jkiss.dbeaver.ext.import_config;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
public class Activator extends AbstractUIPlugin {
// The plug-in ID
public static final String PLUGIN_ID = "org.jkiss.dbeaver.ext.import_config";
// The shared instance
private static Activator plugin;
/**
* The constructor
*/
public Activator() {
}
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static Activator getDefault() {
return plugin;
}
/**
* Returns an image descriptor for the image file at the given
* plug-in relative path
*
* @param path the path
* @return the image descriptor
*/
public static ImageDescriptor getImageDescriptor(String path) {
return imageDescriptorFromPlugin(PLUGIN_ID, path);
}
}
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jkiss.dbeaver.ext.import_config.wizards;
import org.jkiss.dbeaver.registry.driver.DriverDescriptor;
import java.util.HashMap;
import java.util.Map;
/**
* Import connection info
*/
public class ImportConnectionInfo {
private DriverDescriptor driver;
private ImportDriverInfo driverInfo;
private String id;
private String alias;
private String url;
private String host;
private String port;
private String database;
private String user;
private String password;
private Map<String, String> properties = new HashMap<>();
private Map<String, String> providerProperties = new HashMap<>();
private boolean checked = false;
public ImportConnectionInfo(ImportDriverInfo driverInfo, String id, String alias, String url, String host, String port, String database, String user, String password)
{
this.driverInfo = driverInfo;
this.id = id;
this.alias = alias;
this.url = url;
this.host = host;
this.port = port;
this.database = database;
this.user = user;
this.password = password;
}
public DriverDescriptor getDriver()
{
return driver;
}
public void setDriver(DriverDescriptor driver)
{
this.driver = driver;
}
public ImportDriverInfo getDriverInfo()
{
return driverInfo;
}
public String getId()
{
return id;
}
public String getAlias()
{
return alias;
}
public String getUrl()
{
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getHost()
{
return host;
}
public String getPort()
{
return port;
}
public void setPort(String port)
{
this.port = port;
}
public String getDatabase()
{
return database;
}
public void setDatabase(String database)
{
this.database = database;
}
public String getUser()
{
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword()
{
return password;
}
public Map<String, String> getProperties()
{
return properties;
}
public void setProperty(String name, String value)
{
properties.put(name, value);
}
public Map<String, String> getProviderProperties() {
return providerProperties;
}
public void setProviderProperty(String name, String value)
{
properties.put(name, value);
}
public void setHost(String host)
{
this.host = host;
}
public boolean isChecked()
{
return checked;
}
public void setChecked(boolean checked)
{
this.checked = checked;
}
}
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jkiss.dbeaver.ext.import_config.wizards;
import org.jkiss.dbeaver.registry.driver.DriverDescriptor;
import java.util.HashMap;
import java.util.Map;
/**
* Import connection info
*/
public class ImportConnectionInfo {
private DriverDescriptor driver;
private ImportDriverInfo driverInfo;
private String id;
private String alias;
private String url;
private String host;
private String port;
private String database;
private String user;
private String password;
private Map<String, String> properties = new HashMap<>();
private Map<String, String> providerProperties = new HashMap<>();
private boolean checked = false;
public ImportConnectionInfo(ImportDriverInfo driverInfo, String id, String alias, String url, String host, String port, String database, String user, String password)
{
this.driverInfo = driverInfo;
this.id = id;
this.alias = alias;
this.url = url;
this.host = host;
this.port = port;
this.database = database;
this.user = user;
this.password = password;
}
public DriverDescriptor getDriver()
{
return driver;
}
public void setDriver(DriverDescriptor driver)
{
this.driver = driver;
}
public ImportDriverInfo getDriverInfo()
{
return driverInfo;
}
public String getId()
{
return id;
}
public String getAlias()
{
return alias;
}
public String getUrl()
{
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getHost()
{
return host;
}
public String getPort()
{
return port;
}
public void setPort(String port)
{
this.port = port;
}
public String getDatabase()
{
return database;
}
public void setDatabase(String database)
{
this.database = database;
}
public String getUser()
{
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword()
{
return password;
}
public Map<String, String> getProperties()
{
return properties;
}
public void setProperty(String name, String value)
{
properties.put(name, value);
}
public Map<String, String> getProviderProperties() {
return providerProperties;
}
public void setProviderProperty(String name, String value)
{
properties.put(name, value);
}
public void setHost(String host)
{
this.host = host;
}
public boolean isChecked()
{
return checked;
}
public void setChecked(boolean checked)
{
this.checked = checked;
}
}
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jkiss.dbeaver.ext.import_config.wizards;
import java.util.ArrayList;
import java.util.List;
/**
* Import data
*/
public class ImportData {
private List<ImportDriverInfo> drivers = new ArrayList<>();
private List<ImportConnectionInfo> connections = new ArrayList<>();
public List<ImportDriverInfo> getDrivers()
{
return drivers;
}
public ImportDriverInfo getDriver(String name)
{
for (ImportDriverInfo driver : drivers) {
if (name.equals(driver.getName())) {
return driver;
}
}
return null;
}
public ImportDriverInfo getDriverByID(String id)
{
for (ImportDriverInfo driver : drivers) {
if (id.equals(driver.getId())) {
return driver;
}
}
return null;
}
public void addDriver(ImportDriverInfo driverInfo)
{
drivers.add(driverInfo);
}
public List<ImportConnectionInfo> getConnections()
{
return connections;
}
public void addConnection(ImportConnectionInfo connectionInfo)
{
connections.add(connectionInfo);
}
}
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jkiss.dbeaver.ext.import_config.wizards;
import java.util.ArrayList;
import java.util.List;
/**
* Import data
*/
public class ImportData {
private List<ImportDriverInfo> drivers = new ArrayList<>();
private List<ImportConnectionInfo> connections = new ArrayList<>();
public List<ImportDriverInfo> getDrivers()
{
return drivers;
}
public ImportDriverInfo getDriver(String name)
{
for (ImportDriverInfo driver : drivers) {
if (name.equals(driver.getName())) {
return driver;
}
}
return null;
}
public ImportDriverInfo getDriverByID(String id)
{
for (ImportDriverInfo driver : drivers) {
if (id.equals(driver.getId())) {
return driver;
}
}
return null;
}
public void addDriver(ImportDriverInfo driverInfo)
{
drivers.add(driverInfo);
}
public List<ImportConnectionInfo> getConnections()
{
return connections;
}
public void addConnection(ImportConnectionInfo connectionInfo)
{
connections.add(connectionInfo);
}
}
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jkiss.dbeaver.ext.import_config.wizards;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Import data
*/
public class ImportDriverInfo {
private String id;
private String name;
private String sampleURL;
private String driverClass;
private List<String> libraries = new ArrayList<>();
private Map<Object, Object> properties = new HashMap<>();
private String defaultPort;
private String description;
public ImportDriverInfo(String id, String name, String sampleURL, String driverClass)
{
this.id = id;
this.name = name;
this.sampleURL = sampleURL;
this.driverClass = driverClass;
}
public String getId()
{
return id;
}
public String getName()
{
return name;
}
public String getSampleURL()
{
return sampleURL;
}
public void setSampleURL(String sampleURL)
{
this.sampleURL = sampleURL;
}
public String getDriverClass()
{
return driverClass;
}
public String getDefaultPort()
{
return defaultPort;
}
public void setDefaultPort(String defaultPort)
{
this.defaultPort = defaultPort;
}
public List<String> getLibraries()
{
return libraries;
}
public void addLibrary(String path)
{
libraries.add(path);
}
public Map<Object,Object> getProperties()
{
return properties;
}
public void setProperty(String name, String value)
{
properties.put(name, value);
}
public String getDescription()
{
return description;
}
public void setDescription(String description)
{
this.description = description;
}
@Override
public String toString()
{
return name + " - " + driverClass + " - " + sampleURL;
}
}
/*
* DBeaver - Universal Database Manager
* Copyright (C) 2010-2017 Serge Rider (serge@jkiss.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jkiss.dbeaver.ext.import_config.wizards;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Import data
*/
public class ImportDriverInfo {
private String id;
private String name;
private String sampleURL;
private String driverClass;
private List<String> libraries = new ArrayList<>();
private Map<Object, Object> properties = new HashMap<>();
private String defaultPort;
private String description;
public ImportDriverInfo(String id, String name, String sampleURL, String driverClass)
{
this.id = id;
this.name = name;
this.sampleURL = sampleURL;
this.driverClass = driverClass;
}
public String getId()
{
return id;
}
public String getName()
{
return name;
}
public String getSampleURL()
{
return sampleURL;
}
public void setSampleURL(String sampleURL)
{
this.sampleURL = sampleURL;
}
public String getDriverClass()
{
return driverClass;
}
public String getDefaultPort()
{
return defaultPort;
}
public void setDefaultPort(String defaultPort)
{
this.defaultPort = defaultPort;
}
public List<String> getLibraries()
{
return libraries;
}
public void addLibrary(String path)
{
libraries.add(path);
}
public Map<Object,Object> getProperties()
{
return properties;
}
public void setProperty(String name, String value)
{
properties.put(name, value);
}
public String getDescription()
{
return description;
}
public void setDescription(String description)
{
this.description = description;
}
@Override
public String toString()
{
return name + " - " + driverClass + " - " + sampleURL;
}
}
......@@ -39,7 +39,7 @@
<module>plugins/org.jkiss.dbeaver.ext.ui.locks</module>
<module>plugins/org.jkiss.dbeaver.ext.firebird</module>
<module>plugins/org.jkiss.dbeaver.ext.generic</module>
<module>plugins/org.jkiss.dbeaver.ext.import-config</module>
<module>plugins/org.jkiss.dbeaver.ext.import_config</module>
<module>plugins/org.jkiss.dbeaver.ext.h2</module>
<module>plugins/org.jkiss.dbeaver.ext.hana</module>
<module>plugins/org.jkiss.dbeaver.ext.hsqldb</module>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册