001/*
002 *  Copyright 2011 Anyware Services
003 *
004 *  Licensed under the Apache License, Version 2.0 (the "License");
005 *  you may not use this file except in compliance with the License.
006 *  You may obtain a copy of the License at
007 *
008 *      http://www.apache.org/licenses/LICENSE-2.0
009 *
010 *  Unless required by applicable law or agreed to in writing, software
011 *  distributed under the License is distributed on an "AS IS" BASIS,
012 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 *  See the License for the specific language governing permissions and
014 *  limitations under the License.
015 */
016package org.ametys.plugins.survey.clientsideelement;
017
018import java.util.HashMap;
019import java.util.Map;
020
021import org.apache.avalon.framework.service.ServiceException;
022import org.apache.avalon.framework.service.ServiceManager;
023
024import org.ametys.plugins.repository.AmetysObjectResolver;
025import org.ametys.plugins.survey.repository.Survey;
026import org.ametys.runtime.i18n.I18nizableText;
027import org.ametys.core.ui.StaticClientSideElement;
028
029/**
030 * This element creates a toggle button representing the 
031 */
032public class SurveyClientSideElement extends StaticClientSideElement
033{
034    /** The ametys object resolver. */
035    protected AmetysObjectResolver _resolver;
036    
037    @Override
038    public void service(ServiceManager serviceManager) throws ServiceException
039    {
040        super.service(serviceManager);
041        _resolver = (AmetysObjectResolver) serviceManager.lookup(AmetysObjectResolver.ROLE);
042    }
043    
044    /**
045     * Get the current parameters of the survey
046     * @param parameters the parameters used
047     * @return the survey parameters
048     */
049    public Map<String, I18nizableText> getCurrentParameters(Map<String, Object> parameters)
050    {
051        Map<String, I18nizableText> results = new HashMap<>();
052        
053        String surveyId = (String) parameters.get("target");
054        Survey survey = _resolver.resolveById(surveyId);
055        
056        boolean isValidated = survey.isValidated();
057        
058        results.put("validated", new I18nizableText(Boolean.toString(isValidated)));
059        
060        return results;
061    }
062
063}