[SYNCOPE-1269] Aligning conf param create with PlainSchema create
authorFrancesco Chicchiriccò <ilgrosso@apache.org>
Thu, 22 Feb 2018 16:24:01 +0000 (17:24 +0100)
committerFrancesco Chicchiriccò <ilgrosso@apache.org>
Thu, 22 Feb 2018 16:24:01 +0000 (17:24 +0100)
client/console/src/main/java/org/apache/syncope/client/console/panels/ParametersCreateWizardSchemaStep.java
client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
client/console/src/main/resources/org/apache/syncope/client/console/panels/ParametersCreateWizardSchemaStep.html
client/console/src/main/resources/org/apache/syncope/client/console/panels/ParametersCreateWizardSchemaStep.properties
client/console/src/main/resources/org/apache/syncope/client/console/panels/ParametersCreateWizardSchemaStep_it.properties
client/console/src/main/resources/org/apache/syncope/client/console/panels/ParametersCreateWizardSchemaStep_ja.properties
client/console/src/main/resources/org/apache/syncope/client/console/panels/ParametersCreateWizardSchemaStep_pt_BR.properties
client/console/src/main/resources/org/apache/syncope/client/console/panels/ParametersCreateWizardSchemaStep_ru.properties

index afe5ab2..71dffaa 100644 (file)
  */
 package org.apache.syncope.client.console.panels;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.client.console.SyncopeConsoleApplication;
+import org.apache.syncope.client.console.SyncopeConsoleSession;
+import org.apache.syncope.client.console.commons.Constants;
 import org.apache.syncope.client.console.commons.PropertyList;
 import org.apache.syncope.client.console.init.ConsoleInitializer;
 import org.apache.syncope.client.console.init.MIMETypesLoader;
@@ -36,6 +39,9 @@ import org.apache.syncope.common.lib.types.CipherAlgorithm;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.extensions.wizard.WizardStep;
 import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 
@@ -46,6 +52,12 @@ public class ParametersCreateWizardSchemaStep extends WizardStep {
     private static final MIMETypesLoader MIME_TYPES_LOADER = (MIMETypesLoader) SyncopeConsoleApplication.get().
             getServletContext().getAttribute(ConsoleInitializer.MIMETYPES_LOADER);
 
+    private final MultiFieldPanel<String> enumerationValues;
+
+    private final MultiFieldPanel<String> enumerationKeys;
+
+    private final AjaxDropDownChoicePanel<String> validatorClass;
+
     public ParametersCreateWizardSchemaStep(final ParametersCreateWizardPanel.ParametersForm modelObject) {
         modelObject.getPlainSchemaTO().setMandatoryCondition("false");
 
@@ -53,15 +65,34 @@ public class ParametersCreateWizardSchemaStep extends WizardStep {
         this.setOutputMarkupId(true);
         content.setOutputMarkupId(true);
         add(content);
+
         final AjaxDropDownChoicePanel<AttrSchemaType> type = new AjaxDropDownChoicePanel<>(
                 "type", getString("type"), new PropertyModel<AttrSchemaType>(modelObject.getPlainSchemaTO(), "type"));
         type.setChoices(Arrays.asList(AttrSchemaType.values()));
         content.add(type);
 
-        final MultiFieldPanel<String> panel = new MultiFieldPanel.Builder<String>(
+        // long, double, date
+        final AjaxTextFieldPanel conversionPattern = new AjaxTextFieldPanel("conversionPattern",
+                getString("conversionPattern"), new PropertyModel<String>(
+                modelObject.getPlainSchemaTO(), "conversionPattern"));
+        content.add(conversionPattern);
+
+        final WebMarkupContainer conversionParams = new WebMarkupContainer("conversionParams");
+        conversionParams.setOutputMarkupPlaceholderTag(true);
+        conversionParams.add(conversionPattern);
+        content.add(conversionParams);
+
+        final WebMarkupContainer typeParams = new WebMarkupContainer("typeParams");
+        typeParams.setOutputMarkupPlaceholderTag(true);
+
+        // enum
+        final AjaxTextFieldPanel enumerationValuesPanel = new AjaxTextFieldPanel("panel", "enumerationValues",
+                new Model<String>(null));
+
+        enumerationValues = new MultiFieldPanel.Builder<String>(
                 new PropertyModel<List<String>>(modelObject.getPlainSchemaTO(), "enumerationValues") {
 
-            private static final long serialVersionUID = 3985215199105092649L;
+            private static final long serialVersionUID = -4953564762272833993L;
 
             @Override
             public PropertyList<PlainSchemaTO> getObject() {
@@ -92,76 +123,262 @@ public class ParametersCreateWizardSchemaStep extends WizardStep {
                 return StringUtils.EMPTY;
             }
 
-        }.build("values", getString("values"), new AjaxTextFieldPanel(
-                "panel", getString("values"), new Model<String>(), false));
+        }.build(
+                "enumerationValues",
+                "enumerationValues",
+                enumerationValuesPanel);
 
-        panel.setVisible(false);
-        content.add(panel);
+        enumerationKeys = new MultiFieldPanel.Builder<String>(
+                new PropertyModel<List<String>>(modelObject.getPlainSchemaTO(), "enumerationKeys") {
 
-        //binary
-        final AjaxTextFieldPanel mimeType = new AjaxTextFieldPanel("mimeType",
-                "MIME-Type", new PropertyModel<String>(modelObject.getPlainSchemaTO(), "mimeType"));
-        mimeType.setVisible(false);
-        content.add(mimeType);
+            private static final long serialVersionUID = -4953564762272833993L;
+
+            @Override
+            public PropertyList<PlainSchemaTO> getObject() {
+                return new PropertyList<PlainSchemaTO>() {
+
+                    @Override
+                    public String getValues() {
+                        return modelObject.getPlainSchemaTO().getEnumerationKeys();
+                    }
+
+                    @Override
+                    public void setValues(final List<String> list) {
+                        modelObject.getPlainSchemaTO().setEnumerationKeys(PropertyList.getEnumValuesAsString(list));
+                    }
+                };
+            }
+
+            @Override
+            public void setObject(final List<String> object) {
+                modelObject.getPlainSchemaTO().setEnumerationKeys(PropertyList.getEnumValuesAsString(object));
+            }
+        }) {
+
+            private static final long serialVersionUID = -8752965211744734798L;
 
-        //encrypted
+            @Override
+            protected String newModelObject() {
+                return StringUtils.EMPTY;
+            }
+
+        }.build(
+                "enumerationKeys",
+                "enumerationKeys",
+                new AjaxTextFieldPanel("panel", "enumerationKeys", new Model<String>()));
+
+        final WebMarkupContainer enumParams = new WebMarkupContainer("enumParams");
+        enumParams.setOutputMarkupPlaceholderTag(true);
+        enumParams.add(enumerationValues);
+        enumParams.add(enumerationKeys);
+        typeParams.add(enumParams);
+
+        // encrypted
         final AjaxTextFieldPanel secretKey = new AjaxTextFieldPanel("secretKey",
-                "Secret-key", new PropertyModel<String>(modelObject.getPlainSchemaTO(), "secretKey"));
+                getString("secretKey"), new PropertyModel<String>(modelObject.getPlainSchemaTO(), "secretKey"));
 
         final AjaxDropDownChoicePanel<CipherAlgorithm> cipherAlgorithm = new AjaxDropDownChoicePanel<>(
-                "cipherAlgorithm", "Cipher-algorithm",
+                "cipherAlgorithm", getString("cipherAlgorithm"),
                 new PropertyModel<CipherAlgorithm>(modelObject.getPlainSchemaTO(), "cipherAlgorithm"));
 
         cipherAlgorithm.setChoices(Arrays.asList(CipherAlgorithm.values()));
-        secretKey.setVisible(false);
-        cipherAlgorithm.setVisible(false);
-        content.add(secretKey);
-        content.add(cipherAlgorithm);
 
-        showHide(type, secretKey, cipherAlgorithm, mimeType);
+        final WebMarkupContainer encryptedParams = new WebMarkupContainer("encryptedParams");
+        encryptedParams.setOutputMarkupPlaceholderTag(true);
+        encryptedParams.add(secretKey);
+        encryptedParams.add(cipherAlgorithm);
+
+        typeParams.add(encryptedParams);
+
+        // binary
+        final AjaxTextFieldPanel mimeType = new AjaxTextFieldPanel("mimeType",
+                getString("mimeType"), new PropertyModel<String>(modelObject.getPlainSchemaTO(), "mimeType"));
+
+        final WebMarkupContainer binaryParams = new WebMarkupContainer("binaryParams");
+        binaryParams.setOutputMarkupPlaceholderTag(true);
+        binaryParams.add(mimeType);
+        typeParams.add(binaryParams);
+        content.add(typeParams);
+
+        // show or hide
+        showHide(modelObject.getPlainSchemaTO(), type,
+                conversionParams, conversionPattern,
+                enumParams, enumerationValuesPanel, enumerationValues, enumerationKeys,
+                encryptedParams, secretKey, cipherAlgorithm,
+                binaryParams, mimeType);
 
-        type.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior("onchange") {
+        type.getField().add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
 
             private static final long serialVersionUID = -1107858522700306810L;
 
             @Override
             protected void onUpdate(final AjaxRequestTarget target) {
-                if ("enum".equalsIgnoreCase(type.getField().getModelObject().name())) {
-                    panel.setVisible(true);
-                    content.add(panel);
-                    target.add(content);
-                } else {
-                    panel.setVisible(false);
-                    content.add(panel);
-                    target.add(content);
-                }
-                ParametersCreateWizardSchemaStep.this.showHide(type, secretKey, cipherAlgorithm, mimeType);
+                ParametersCreateWizardSchemaStep.this.showHide(modelObject.getPlainSchemaTO(), type,
+                        conversionParams, conversionPattern,
+                        enumParams, enumerationValuesPanel, enumerationValues, enumerationKeys,
+                        encryptedParams, secretKey, cipherAlgorithm,
+                        binaryParams, mimeType);
+                target.add(conversionParams);
+                target.add(typeParams);
+                target.add(validatorClass);
             }
         });
 
-        final AjaxCheckBoxPanel multiValue = new AjaxCheckBoxPanel("panel", getString("multivalue"),
-                new PropertyModel<Boolean>(modelObject.getPlainSchemaTO(), "multivalue"), false);
-        content.add(multiValue);
+        IModel<List<String>> validatorsList = new LoadableDetachableModel<List<String>>() {
+
+            private static final long serialVersionUID = 5275935387613157437L;
+
+            @Override
+            protected List<String> load() {
+                return new ArrayList<>(SyncopeConsoleSession.get().getPlatformInfo().getValidators());
+            }
+        };
+        validatorClass = new AjaxDropDownChoicePanel<>("validatorClass", getString("validatorClass"),
+                new PropertyModel<String>(modelObject.getPlainSchemaTO(), "validatorClass"));
+        validatorClass.setOutputMarkupId(true);
+        ((DropDownChoice) validatorClass.getField()).setNullValid(true);
+        validatorClass.setChoices(validatorsList.getObject());
+        content.add(validatorClass);
+
+        content.add(new AjaxCheckBoxPanel("multivalue", getString("multivalue"),
+                new PropertyModel<Boolean>(modelObject.getPlainSchemaTO(), "multivalue")));
     }
 
-    private void showHide(
-            final AjaxDropDownChoicePanel<AttrSchemaType> type,
-            final AjaxTextFieldPanel secretKey,
-            final AjaxDropDownChoicePanel<CipherAlgorithm> cipherAlgorithm,
-            final AjaxTextFieldPanel mimeType) {
+    private void showHide(final PlainSchemaTO schema, final AjaxDropDownChoicePanel<AttrSchemaType> type,
+            final WebMarkupContainer conversionParams, final AjaxTextFieldPanel conversionPattern,
+            final WebMarkupContainer enumParams, final AjaxTextFieldPanel enumerationValuesPanel,
+            final MultiFieldPanel<String> enumerationValues, final MultiFieldPanel<String> enumerationKeys,
+            final WebMarkupContainer encryptedParams,
+            final AjaxTextFieldPanel secretKey, final AjaxDropDownChoicePanel<CipherAlgorithm> cipherAlgorithm,
+            final WebMarkupContainer binaryParams, final AjaxTextFieldPanel mimeType) {
 
         final int typeOrdinal = Integer.parseInt(type.getField().getValue());
-        if (AttrSchemaType.Encrypted.ordinal() == typeOrdinal) {
-            mimeType.setVisible(false);
-            secretKey.setVisible(true);
-            secretKey.addRequiredLabel();
-            cipherAlgorithm.setVisible(true);
-            cipherAlgorithm.addRequiredLabel();
+        if (AttrSchemaType.Long.ordinal() == typeOrdinal
+                || AttrSchemaType.Double.ordinal() == typeOrdinal
+                || AttrSchemaType.Date.ordinal() == typeOrdinal) {
+
+            conversionParams.setVisible(true);
+
+            enumParams.setVisible(false);
+            if (enumerationValuesPanel.isRequired()) {
+                enumerationValuesPanel.removeRequiredLabel();
+            }
+            enumerationValues.setModelObject(PropertyList.getEnumValuesAsList(null));
+            enumerationKeys.setModelObject(PropertyList.getEnumValuesAsList(null));
+
+            encryptedParams.setVisible(false);
+            if (secretKey.isRequired()) {
+                secretKey.removeRequiredLabel();
+            }
+            secretKey.setModelObject(null);
+            if (cipherAlgorithm.isRequired()) {
+                cipherAlgorithm.removeRequiredLabel();
+            }
+            cipherAlgorithm.setModelObject(null);
+
+            binaryParams.setVisible(false);
+            mimeType.setModelObject(null);
+            mimeType.setChoices(null);
+
+            schema.setValidatorClass(null);
+        } else if (AttrSchemaType.Enum.ordinal() == typeOrdinal) {
+            conversionParams.setVisible(false);
+            conversionPattern.setModelObject(null);
+
+            enumParams.setVisible(true);
+            if (!enumerationValuesPanel.isRequired()) {
+                enumerationValuesPanel.addRequiredLabel();
+            }
+            enumerationValues.setModelObject(PropertyList.getEnumValuesAsList(schema.getEnumerationValues()));
+            enumerationKeys.setModelObject(PropertyList.getEnumValuesAsList(schema.getEnumerationKeys()));
+
+            encryptedParams.setVisible(false);
+            if (secretKey.isRequired()) {
+                secretKey.removeRequiredLabel();
+            }
+            secretKey.setModelObject(null);
+            if (cipherAlgorithm.isRequired()) {
+                cipherAlgorithm.removeRequiredLabel();
+            }
+            cipherAlgorithm.setModelObject(null);
+
+            binaryParams.setVisible(false);
+            mimeType.setModelObject(null);
+            mimeType.setChoices(null);
+
+            schema.setValidatorClass(null);
+        } else if (AttrSchemaType.Encrypted.ordinal() == typeOrdinal) {
+            conversionParams.setVisible(false);
+            conversionPattern.setModelObject(null);
+
+            enumParams.setVisible(false);
+            if (enumerationValuesPanel.isRequired()) {
+                enumerationValuesPanel.removeRequiredLabel();
+            }
+            enumerationValues.setModelObject(PropertyList.getEnumValuesAsList(null));
+            enumerationKeys.setModelObject(PropertyList.getEnumValuesAsList(null));
+
+            encryptedParams.setVisible(true);
+            if (!secretKey.isRequired()) {
+                secretKey.addRequiredLabel();
+            }
+            if (cipherAlgorithm.isRequired()) {
+                cipherAlgorithm.addRequiredLabel();
+            }
+
+            binaryParams.setVisible(false);
+            mimeType.setModelObject(null);
+            mimeType.setChoices(null);
+            schema.setValidatorClass(null);
         } else if (AttrSchemaType.Binary.ordinal() == typeOrdinal) {
-            secretKey.setVisible(false);
-            cipherAlgorithm.setVisible(false);
-            mimeType.setVisible(true);
+            conversionParams.setVisible(false);
+            conversionPattern.setModelObject(null);
+
+            enumParams.setVisible(false);
+            if (enumerationValuesPanel.isRequired()) {
+                enumerationValuesPanel.removeRequiredLabel();
+            }
+            enumerationValues.setModelObject(PropertyList.getEnumValuesAsList(null));
+            enumerationKeys.setModelObject(PropertyList.getEnumValuesAsList(null));
+
+            encryptedParams.setVisible(false);
+            if (secretKey.isRequired()) {
+                secretKey.removeRequiredLabel();
+            }
+            secretKey.setModelObject(null);
+            if (cipherAlgorithm.isRequired()) {
+                cipherAlgorithm.removeRequiredLabel();
+            }
+            cipherAlgorithm.setModelObject(null);
+
+            binaryParams.setVisible(true);
             mimeType.setChoices(MIME_TYPES_LOADER.getMimeTypes());
+            schema.setValidatorClass("org.apache.syncope.core.persistence.jpa.attrvalue.validation.BinaryValidator");
+        } else {
+            conversionParams.setVisible(false);
+            conversionPattern.setModelObject(null);
+
+            enumParams.setVisible(false);
+            if (enumerationValuesPanel.isRequired()) {
+                enumerationValuesPanel.removeRequiredLabel();
+            }
+            enumerationValues.setModelObject(PropertyList.getEnumValuesAsList(null));
+            enumerationKeys.setModelObject(PropertyList.getEnumValuesAsList(null));
+
+            encryptedParams.setVisible(false);
+            if (secretKey.isRequired()) {
+                secretKey.removeRequiredLabel();
+            }
+            secretKey.setModelObject(null);
+            if (cipherAlgorithm.isRequired()) {
+                cipherAlgorithm.removeRequiredLabel();
+            }
+            cipherAlgorithm.setModelObject(null);
+
+            binaryParams.setVisible(false);
+            mimeType.setModelObject(null);
+            mimeType.setChoices(null);
+            schema.setValidatorClass(null);
         }
     }
 }
index 3788b64..53b2fc1 100644 (file)
@@ -36,7 +36,6 @@ import org.apache.syncope.client.console.wicket.markup.html.form.AjaxCheckBoxPan
 import org.apache.syncope.client.console.wicket.markup.html.form.AjaxDropDownChoicePanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.MultiFieldPanel;
-import org.apache.syncope.common.lib.to.SchemaTO;
 import org.apache.syncope.common.lib.to.PlainSchemaTO;
 import org.apache.syncope.common.lib.types.AttrSchemaType;
 import org.apache.syncope.common.lib.types.CipherAlgorithm;
@@ -77,23 +76,19 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
         type.setChoices(Arrays.asList(AttrSchemaType.values()));
         type.setEnabled(schemaTO == null || schemaTO.getKey() == null || schemaTO.getKey().isEmpty());
         type.addRequiredLabel();
-
         schemaForm.add(type);
 
         // long, double, date
         final AjaxTextFieldPanel conversionPattern = new AjaxTextFieldPanel("conversionPattern",
                 getString("conversionPattern"), new PropertyModel<String>(schemaTO, "conversionPattern"));
-
         schemaForm.add(conversionPattern);
 
         final WebMarkupContainer conversionParams = new WebMarkupContainer("conversionParams");
         conversionParams.setOutputMarkupPlaceholderTag(true);
         conversionParams.add(conversionPattern);
-
         schemaForm.add(conversionParams);
 
         final WebMarkupContainer typeParams = new WebMarkupContainer("typeParams");
-
         typeParams.setOutputMarkupPlaceholderTag(true);
 
         // enum
@@ -233,8 +228,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
                 target.add(typeParams);
                 target.add(validatorClass);
             }
-        }
-        );
+        });
 
         IModel<List<String>> validatorsList = new LoadableDetachableModel<List<String>>() {
 
@@ -294,7 +288,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
 
     }
 
-    private void showHide(final SchemaTO schema, final AjaxDropDownChoicePanel<AttrSchemaType> type,
+    private void showHide(final PlainSchemaTO schema, final AjaxDropDownChoicePanel<AttrSchemaType> type,
             final WebMarkupContainer conversionParams, final AjaxTextFieldPanel conversionPattern,
             final WebMarkupContainer enumParams, final AjaxTextFieldPanel enumerationValuesPanel,
             final MultiFieldPanel<String> enumerationValues, final MultiFieldPanel<String> enumerationKeys,
@@ -330,7 +324,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
             mimeType.setModelObject(null);
             mimeType.setChoices(null);
 
-            PlainSchemaTO.class.cast(schema).setValidatorClass(null);
+            schema.setValidatorClass(null);
         } else if (AttrSchemaType.Enum.ordinal() == typeOrdinal) {
             conversionParams.setVisible(false);
             conversionPattern.setModelObject(null);
@@ -339,10 +333,8 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
             if (!enumerationValuesPanel.isRequired()) {
                 enumerationValuesPanel.addRequiredLabel();
             }
-            enumerationValues.setModelObject(PropertyList.getEnumValuesAsList(((PlainSchemaTO) schema).
-                    getEnumerationValues()));
-            enumerationKeys.setModelObject(PropertyList.getEnumValuesAsList(((PlainSchemaTO) schema).
-                    getEnumerationKeys()));
+            enumerationValues.setModelObject(PropertyList.getEnumValuesAsList(schema.getEnumerationValues()));
+            enumerationKeys.setModelObject(PropertyList.getEnumValuesAsList(schema.getEnumerationKeys()));
 
             encryptedParams.setVisible(false);
             if (secretKey.isRequired()) {
@@ -358,7 +350,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
             mimeType.setModelObject(null);
             mimeType.setChoices(null);
 
-            PlainSchemaTO.class.cast(schema).setValidatorClass(null);
+            schema.setValidatorClass(null);
         } else if (AttrSchemaType.Encrypted.ordinal() == typeOrdinal) {
             conversionParams.setVisible(false);
             conversionPattern.setModelObject(null);
@@ -382,7 +374,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
             mimeType.setModelObject(null);
             mimeType.setChoices(null);
 
-            PlainSchemaTO.class.cast(schema).setValidatorClass(null);
+            schema.setValidatorClass(null);
         } else if (AttrSchemaType.Binary.ordinal() == typeOrdinal) {
             conversionParams.setVisible(false);
             conversionPattern.setModelObject(null);
@@ -407,8 +399,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
             binaryParams.setVisible(true);
             mimeType.setChoices(MIME_TYPES_LOADER.getMimeTypes());
 
-            PlainSchemaTO.class.cast(schema).
-                    setValidatorClass("org.apache.syncope.core.persistence.jpa.attrvalue.validation.BinaryValidator");
+            schema.setValidatorClass("org.apache.syncope.core.persistence.jpa.attrvalue.validation.BinaryValidator");
         } else {
             conversionParams.setVisible(false);
             conversionPattern.setModelObject(null);
@@ -434,7 +425,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
             mimeType.setModelObject(null);
             mimeType.setChoices(null);
 
-            PlainSchemaTO.class.cast(schema).setValidatorClass(null);
+            schema.setValidatorClass(null);
         }
     }
 }
index 1f25c57..0bf5388 100644 (file)
@@ -20,11 +20,28 @@ under the License.
   <wicket:panel>
     <div wicket:id="content">
       <span wicket:id="type">[type]</span>
-      <span wicket:id="values">[values]</span>
-      <span wicket:id="panel">[panel]</span>
-      <span wicket:id="mimeType">[mimeType]</span>
-      <span wicket:id="secretKey">[secretKey]</span>
-      <span wicket:id="cipherAlgorithm">[cipherAlgorithm]</span>
+
+      <div wicket:id="conversionParams">
+        <span wicket:id="conversionPattern">[conversionPattern]</span>
+      </div>
+
+      <div wicket:id="typeParams">
+        <div wicket:id="enumParams">
+          <span wicket:id="enumerationValues">[enumerationValues]</span>
+          <span wicket:id="enumerationKeys">[enumerationKeys]</span>
+        </div>
+        <div wicket:id="encryptedParams">
+          <span wicket:id="secretKey">[secretKey]</span>
+          <span wicket:id="cipherAlgorithm">[cipherAlgorithm]</span>
+        </div>
+        <div wicket:id="binaryParams">
+          <span wicket:id="mimeType">[mimeType]</span>
+        </div>
+      </div>
+
+      <span wicket:id="validatorClass">[validatorClass]</span>
+
+      <span wicket:id="multivalue">[multivalue]</span>
     </div>
   </wicket:panel>
 </html>
\ No newline at end of file
index 75805fc..d9ce6ce 100644 (file)
 # specific language governing permissions and limitations
 # under the License.
 type=Schema type
-values=Values
+required_alert=All form fields are required.
+enumerationValues= Enumeration values
+enumerationKeys= Enumeration labels
 multivalue=Multivalue
-mandatoryCondition=Mandatory
+validatorClass=Validator class
+conversionPattern=Conversion pattern
+secretKey=Secret key
+cipherAlgorithm=Cipher algorithm
+mimeType=MIME Type
index 1f57d33..b1ec68a 100644 (file)
 # specific language governing permissions and limitations
 # under the License.
 type=Tipo di schema
-values=Valori
+required_alert=Tutti i campi sono richiesti
+enumerationValues= Valori enumeration
+enumerationKeys= Label enumeration
 multivalue=Multivalore
-mandatoryCondition=Obbligatorio
+validatorClass=Validatore
+conversionPattern=Conversion pattern
+secretKey=Chiave segreta
+cipherAlgorithm=Algoritmo di cifratura
+mimeType=MIME Type
index 11bcf52..046bef6 100644 (file)
 # specific language governing permissions and limitations
 # under the License.
 type=\u30b9\u30ad\u30fc\u30de\u30bf\u30a4\u30d7
-values=\u5024
+required_alert=\u3059\u3079\u3066\u306e\u30d5\u30a9\u30fc\u30e0\u30d5\u30a3\u30fc\u30eb\u30c9\u304c\u5fc5\u9808\u3067\u3059\u3002
+enumerationValues= \u5217\u6319\u5024
+enumerationKeys= \u5217\u6319\u30e9\u30d9\u30eb
 multivalue=\u8907\u6570\u5024
-mandatoryCondition=\u5fc5\u9808
+validatorClass=Validator class
+conversionPattern=\u5909\u63db\u30d1\u30bf\u30fc\u30f3
+secretKey=\u79d8\u5bc6\u9375
+cipherAlgorithm=\u6697\u53f7\u5316\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0
+mimeType=MIME \u30bf\u30a4\u30d7
index 0f5de79..84bb9e3 100644 (file)
 # specific language governing permissions and limitations
 # under the License.
 type=Tipo de esquema
-values=Valores
-multivalue=Multi-valorizados
-mandatoryCondition=Obrigat\u00f3rio
+required_alert=Todos os campos s\u00e3o obrigat\u00f3rios
+enumerationValues= Valores enumerados
+enumerationKeys= R\u00f3tulos de enumera\u00e7\u00e3o
+multivalue=Multivalorado
+validatorClass=Classe de Valida\u00e7\u00e3o
+conversionPattern=Padr\u00e3o de Convers\u00e3o
+secretKey=Chave secreta
+cipherAlgorithm=Algoritmo de criptografia
+mimeType=MIME Type
index 0bbbc65..ffd5fa3 100644 (file)
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-# type=Тип схемы
 type=\u0422\u0438\u043f \u0441\u0445\u0435\u043c\u044b
-# values=Значения
-values=\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f
-# multivalue=Множественные значения
+required_alert=\u0412\u0441\u0435 \u043f\u043e\u043b\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.
+enumerationValues=\u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439
+enumerationKeys=\u041f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0439
 multivalue=\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f
-# mandatoryCondition=Обязательный
-mandatoryCondition=\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439
+validatorClass=\u041a\u043b\u0430\u0441\u0441 \u0432\u0430\u043b\u0438\u0434\u0430\u0442\u043e\u0440\u0430
+conversionPattern=\u0428\u0430\u0431\u043b\u043e\u043d \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+secretKey=\u041a\u043b\u044e\u0447 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f
+cipherAlgorithm=\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f
+mimeType=\u0422\u0438\u043f MIME