Changeset 6405


Ignore:
Timestamp:
07/22/15 14:16:44 (9 years ago)
Author:
Twan Goosen
Message:

Added 'version qualifier' and a visual indication of the snapshot and beta versions (via css)
fixes #783

Location:
vlo/trunk/vlo-web-app/src/main
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/VloWicketApplication.java

    r6341 r6405  
    1414import eu.clarin.cmdi.vlo.wicket.pages.VloBasePage;
    1515import eu.clarin.cmdi.vlo.wicket.provider.FieldValueConverterProvider;
     16import java.io.IOException;
     17import java.io.InputStream;
     18import java.util.Properties;
    1619import javax.inject.Inject;
    1720import org.apache.wicket.Application;
     
    5154
    5255    private ApplicationContext applicationContext;
     56    private String appVersionQualifier;
    5357
    5458    /**
     
    7680        // configure Wicket cache according to parameters set in VloConfig
    7781        setupCache();
     82
     83        // determine version qualifier (e.g. 'beta'), which can be used to visually mark the base page
     84        appVersionQualifier = determineVersionQualifier();
     85        logger.info("Version qualifier: {}", appVersionQualifier);
    7886    }
    7987
     
    127135    /**
    128136     *
     137     * @return a version qualifier, either 'snapshot', 'beta' or null
     138     */
     139    private String determineVersionQualifier() {
     140        try (InputStream applicationPropertiesStream = getClass().getResourceAsStream("/application.properties")) {
     141            Properties applicationProperties = new Properties();
     142            applicationProperties.load(applicationPropertiesStream);
     143            final String version = applicationProperties.getProperty("vlo.version");
     144            if (version != null) {
     145                if (version.endsWith("-SNAPSHOT")) {
     146                    return "snapshot";
     147                } else if (version.contains("beta")) {
     148                    return "beta";
     149                }
     150            }
     151        } catch (IOException ex) {
     152            logger.error("Could not read application properties on init", ex);
     153        }
     154        return null;
     155    }
     156
     157    /**
     158     *
    129159     * @return the active VLO wicket application
    130160     */
     
    173203    }
    174204
     205    public String getAppVersionQualifier() {
     206        return appVersionQualifier;
     207    }
     208
    175209}
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/VloBasePage.html

    r6194 r6405  
    3636    <body>
    3737        <div id="main">
    38             <div id="header">
     38            <div wicket:id="header" id="header">
    3939                <div id="logo">
    4040                    <h1>CLARIN Virtual Language Observatory</h1>
    4141                    <a id="headerlink_clarin" href="http://www.clarin.eu/"><span>CLARIN</span></a>
     42                    <div class="qualifier snapshot">TESTING</div>
     43                    <div class="qualifier beta">BETA</div>
    4244                </div>
    4345            </div>
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/pages/VloBasePage.java

    r6210 r6405  
    1919import eu.clarin.cmdi.vlo.JavaScriptResources;
    2020import eu.clarin.cmdi.vlo.VloWebAppParameters;
     21import eu.clarin.cmdi.vlo.VloWicketApplication;
    2122import eu.clarin.cmdi.vlo.config.VloConfig;
    2223import eu.clarin.cmdi.vlo.wicket.HideJavascriptFallbackControlsBehavior;
     
    2829import org.apache.wicket.markup.html.GenericWebPage;
    2930import org.apache.wicket.markup.html.WebComponent;
     31import org.apache.wicket.markup.html.WebMarkupContainer;
    3032import org.apache.wicket.markup.html.basic.Label;
    3133import org.apache.wicket.markup.html.link.ExternalLink;
     
    177179        add(new ExternalLink("help", vloConfig.getHelpUrl()));
    178180
     181        // add 'class' attribute to header indicating version qualifier (e.g. 'beta')
     182        add(new WebMarkupContainer("header").add(new AttributeAppender("class", VloWicketApplication.get().getAppVersionQualifier())));
     183
    179184        add(new HideJavascriptFallbackControlsBehavior());
    180185    }
    181186
    182 
    183187}
  • vlo/trunk/vlo-web-app/src/main/less/eu/clarin/cmdi/vlo/wicket/pages/inc/vlo-top.less

    r5148 r6405  
    114114    font-weight: bold;
    115115}
     116
     117div#header .qualifier {
     118    display: none; /* overridden depending on header class */
     119
     120    position: absolute;
     121    top: 1em;
     122    border: 1px solid;
     123    text-align: center;
     124    line-height: 2em;   
     125   
     126    border-color: red;
     127    color: red;
     128}
     129
     130div#header.snapshot div.qualifier.snapshot {
     131    display: block;
     132    width: 8em;
     133}
     134
     135div#header.beta div.qualifier.beta {
     136    display: block;
     137    width: 5em;
     138}
Note: See TracChangeset for help on using the changeset viewer.