Package com.tapestry5book.tlog.pages.admin

Source Code of com.tapestry5book.tlog.pages.admin.Skins

package com.tapestry5book.tlog.pages.admin;

import com.tapestry5book.tlog.core.annotations.PluginPage;
import com.tapestry5book.tlog.core.entities.Blog;
import com.tapestry5book.tlog.core.entities.Skin;
import com.tapestry5book.tlog.core.services.SkinManager;
import com.tapestry5book.tlog.core.services.SkinResources;
import org.apache.tapestry5.Asset;
import org.apache.tapestry5.PersistenceConstants;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.hibernate.annotations.CommitAfter;
import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.Resource;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.AssetSource;

import java.util.Set;

@PluginPage
public class Skins {

    @Inject
    private SkinManager skinManager;

    @Inject
    private AssetSource assetSource;

    @Inject
    private Messages messages;

    @Property
    private Skin currentSkin;

    @SessionState
    private Blog blog;

    @Property
    @Persist(PersistenceConstants.FLASH)
    private String skinActivateMessage;

    public Set<Skin> getSkins() {
        return skinManager.getAvailableSkins();
    }

    public Asset getCurrentPreview() {
        SkinResources resources = skinManager.getSkinResources(currentSkin);

        Resource preview = resources.getPreview();

        return assetSource.getUnlocalizedAsset(preview.getPath());
    }

    @CommitAfter
    void onActivateSkin(String name, String version) {
        blog.setSkin(new Skin(name, version));

        skinActivateMessage = messages.format("skin-aktivated", name, version);
    }
}
TOP

Related Classes of com.tapestry5book.tlog.pages.admin.Skins

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.