Commit 8e47e857 authored by tristaZero's avatar tristaZero
Browse files

use @XmlElementWrapper.

parent 32e53bf0
Loading
Loading
Loading
Loading
+29 −9
Original line number Diff line number Diff line
@@ -24,9 +24,11 @@ import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;

/**
 * Authority SQL set xml entry.
@@ -46,6 +48,14 @@ public final class SQLSet {
    @XmlElement(name = "sql")
    private Collection<SQL> SQLs = new LinkedList<>();
    
    @XmlElementWrapper(name = "user-create")
    @XmlElement(name = "sql")
    private List<String> useCreateSQLs = new LinkedList<>();
    
    @XmlElementWrapper(name = "user-drop")
    @XmlElement(name = "sql")
    private List<String> useDropSQLs = new LinkedList<>();
    
    private Collection<DatabaseType> getDatabaseTypeList() {
        if (null == dbTypes) {
            return Arrays.asList(DatabaseType.MySQL, DatabaseType.Oracle, DatabaseType.H2, DatabaseType.PostgreSQL, DatabaseType.SQLServer);
@@ -58,18 +68,28 @@ public final class SQLSet {
    }
    
    /**
     * Get all sqls content.
     * Get all create user sqls.
     *
     * @return sqls content
     * @param databaseType data base type.
     * @return create user sqls
     */
    public Collection<String> getAllSQLContent(final SQLType sqlType, final DatabaseType databaseType ) {
        Collection<String> result = new LinkedList<>();
        if (this.sqlType != sqlType || !getDatabaseTypeList().contains(databaseType)) {
            return result;
    public Collection<String> getCreateUserSQLs(final DatabaseType databaseType ) {
        if (!getDatabaseTypeList().contains(databaseType)) {
            return new LinkedList<>();
        }
        for (SQL each : SQLs) {
            result.add(each.getContent());
        return getUseCreateSQLs();
    }
        return result;
    
    /**
     * Get all drop user sqls.
     *
     * @param databaseType data base type.
     * @return create user sqls
     */
    public Collection<String> getDropUserSQLs(final DatabaseType databaseType ) {
        if (!getDatabaseTypeList().contains(databaseType)) {
            return new LinkedList<>();
        }
        return getUseDropSQLs();
    }
}