You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by fm...@apache.org on 2015/12/22 13:04:54 UTC

syncope git commit: [SYNCOPE-156] fix mimetype autocomplition

Repository: syncope
Updated Branches:
  refs/heads/master 72e3836cf -> 5279aca98


[SYNCOPE-156] fix mimetype autocomplition


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/5279aca9
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/5279aca9
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/5279aca9

Branch: refs/heads/master
Commit: 5279aca98962f2ed0b86687b604776c9c0a5af09
Parents: 72e3836
Author: fmartelli <fa...@gmail.com>
Authored: Tue Dec 22 13:04:42 2015 +0100
Committer: fmartelli <fa...@gmail.com>
Committed: Tue Dec 22 13:04:42 2015 +0100

----------------------------------------------------------------------
 .../client/console/init/MIMETypesLoader.java    | 25 +++++----
 .../console/panels/PlainSchemaDetails.java      | 58 +++++++++++---------
 .../META-INF/resources/css/syncopeConsole.css   | 21 +++++++
 3 files changed, 66 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/5279aca9/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java b/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
index 62dcff3..db47844 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/init/MIMETypesLoader.java
@@ -23,6 +23,7 @@ import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.wicket.util.io.IOUtils;
 import org.slf4j.Logger;
@@ -35,19 +36,21 @@ public class MIMETypesLoader {
     private List<String> mimeTypes;
 
     public void load() {
-        Set<String> mediaTypes = new HashSet<>();
-        this.mimeTypes = new ArrayList<>();
-        try {
-            final String mimeTypesFile = IOUtils.toString(getClass().getResourceAsStream("/MIMETypes"));
-            for (String fileRow : mimeTypesFile.split("\n")) {
-                if (StringUtils.isNotBlank(fileRow) && !fileRow.startsWith("#")) {
-                    mediaTypes.add(fileRow);
+        if (CollectionUtils.isEmpty(mimeTypes)) {
+            Set<String> mediaTypes = new HashSet<>();
+            this.mimeTypes = new ArrayList<>();
+            try {
+                final String mimeTypesFile = IOUtils.toString(getClass().getResourceAsStream("/MIMETypes"));
+                for (String fileRow : mimeTypesFile.split("\n")) {
+                    if (StringUtils.isNotBlank(fileRow) && !fileRow.startsWith("#")) {
+                        mediaTypes.add(fileRow);
+                    }
                 }
+                this.mimeTypes.addAll(mediaTypes);
+                Collections.sort(this.mimeTypes);
+            } catch (Exception e) {
+                LOG.error("Error reading file MIMETypes from resources", e);
             }
-            this.mimeTypes.addAll(mediaTypes);
-            Collections.sort(this.mimeTypes);
-        } catch (Exception e) {
-            LOG.error("Error reading file MIMETypes from resources", e);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/5279aca9/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
----------------------------------------------------------------------
diff --git a/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java b/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
index aa58e19..175d758 100644
--- a/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
+++ b/client/console/src/main/java/org/apache/syncope/client/console/panels/PlainSchemaDetails.java
@@ -95,20 +95,20 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
         typeParams.setOutputMarkupPlaceholderTag(true);
 
         // enum
-        final AjaxTextFieldPanel enumerationValuesPanel =
-                new AjaxTextFieldPanel("panel", "enumerationValues", new Model<String>(null));
+        final AjaxTextFieldPanel enumerationValuesPanel = new AjaxTextFieldPanel("panel", "enumerationValues",
+                new Model<String>(null));
 
         enumerationValues = new MultiFieldPanel.Builder<>(
                 new ListModel<String>(getEnumValuesAsList(((PlainSchemaTO) schemaTO).getEnumerationValues()))).build(
-                        "enumerationValues",
-                        "enumerationValues",
-                        enumerationValuesPanel);
+                "enumerationValues",
+                "enumerationValues",
+                enumerationValuesPanel);
 
         enumerationKeys = new MultiFieldPanel.Builder<>(
                 new ListModel<String>(getEnumValuesAsList(((PlainSchemaTO) schemaTO).getEnumerationKeys()))).build(
-                        "enumerationKeys",
-                        "enumerationKeys",
-                        new AjaxTextFieldPanel("panel", "enumerationKeys", new Model<String>()));
+                "enumerationKeys",
+                "enumerationKeys",
+                new AjaxTextFieldPanel("panel", "enumerationKeys", new Model<String>()));
 
         final WebMarkupContainer enumParams = new WebMarkupContainer("enumParams");
         enumParams.setOutputMarkupPlaceholderTag(true);
@@ -137,8 +137,6 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
         final AjaxTextFieldPanel mimeType = new AjaxTextFieldPanel("mimeType",
                 getString("mimeType"), new PropertyModel<String>(schemaTO, "mimeType"));
 
-        mimeType.setChoices(MIME_TYPES_INITIALIZER.getMimeTypes());
-
         final WebMarkupContainer binaryParams = new WebMarkupContainer("binaryParams");
         binaryParams.setOutputMarkupPlaceholderTag(true);
         binaryParams.add(mimeType);
@@ -185,26 +183,26 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
         validatorClass.setChoices(validatorsList.getObject());
         schemaForm.add(validatorClass);
 
-        final AutoCompleteTextField<String> mandatoryCondition =
-                new AutoCompleteTextField<String>("mandatoryCondition") {
-
-                    private static final long serialVersionUID = -2428903969518079100L;
+        final AutoCompleteTextField<String> mandatoryCondition
+                = new AutoCompleteTextField<String>("mandatoryCondition") {
 
-                    @Override
-                    protected Iterator<String> getChoices(final String input) {
-                        List<String> choices = new ArrayList<>();
+            private static final long serialVersionUID = -2428903969518079100L;
 
-                        if (Strings.isEmpty(input)) {
-                            choices = Collections.emptyList();
-                        } else if ("true".startsWith(input.toLowerCase())) {
-                            choices.add("true");
-                        } else if ("false".startsWith(input.toLowerCase())) {
-                            choices.add("false");
-                        }
+            @Override
+            protected Iterator<String> getChoices(final String input) {
+                List<String> choices = new ArrayList<>();
+
+                if (Strings.isEmpty(input)) {
+                    choices = Collections.emptyList();
+                } else if ("true".startsWith(input.toLowerCase())) {
+                    choices.add("true");
+                } else if ("false".startsWith(input.toLowerCase())) {
+                    choices.add("false");
+                }
 
-                        return choices.iterator();
-                    }
-                };
+                return choices.iterator();
+            }
+        };
         mandatoryCondition.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
 
             private static final long serialVersionUID = -1107858522700306810L;
@@ -269,6 +267,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
 
             binaryParams.setVisible(false);
             mimeType.setModelObject(null);
+            mimeType.setChoices(null);
         } else if (AttrSchemaType.Enum.ordinal() == typeOrdinal) {
             conversionParams.setVisible(false);
             conversionPattern.setModelObject(null);
@@ -292,6 +291,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
 
             binaryParams.setVisible(false);
             mimeType.setModelObject(null);
+            mimeType.setChoices(null);
         } else if (AttrSchemaType.Encrypted.ordinal() == typeOrdinal) {
             conversionParams.setVisible(false);
             conversionPattern.setModelObject(null);
@@ -313,6 +313,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
 
             binaryParams.setVisible(false);
             mimeType.setModelObject(null);
+            mimeType.setChoices(null);
         } else if (AttrSchemaType.Binary.ordinal() == typeOrdinal) {
             conversionParams.setVisible(false);
             conversionPattern.setModelObject(null);
@@ -335,6 +336,8 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
             cipherAlgorithm.setModelObject(null);
 
             binaryParams.setVisible(true);
+            MIME_TYPES_INITIALIZER.load();
+            mimeType.setChoices(MIME_TYPES_INITIALIZER.getMimeTypes());
         } else {
             conversionParams.setVisible(false);
             conversionPattern.setModelObject(null);
@@ -358,6 +361,7 @@ public class PlainSchemaDetails extends AbstractSchemaDetailsPanel {
 
             binaryParams.setVisible(false);
             mimeType.setModelObject(null);
+            mimeType.setChoices(null);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/5279aca9/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
----------------------------------------------------------------------
diff --git a/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css b/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
index 5ad319f..6042058 100644
--- a/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
+++ b/client/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
@@ -358,4 +358,25 @@ div.searchResult{
 
 .logs .box{
   border-top: 0px !important;
+}
+
+*::after, *::before {
+    box-sizing: border-box;
+}
+
+
+.wicket-aa-container {
+    border-color: #eee;
+    box-shadow: none;
+    background-clip: padding-box;
+    background-color: #fff;
+    border: 1px solid rgba(0, 0, 0, 0.15);
+    border-radius: 4px;
+    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
+    float: left;
+    font-size: 14px;
+    list-style: outside none none;
+    min-width: 160px;
+    text-align: left;
+    max-height: 250px;
 }
\ No newline at end of file