Package com.yiistorm.helpers

Source Code of com.yiistorm.helpers.MigrationsCondition

package com.yiistorm.helpers;

import com.intellij.notification.Notification;
import com.intellij.notification.NotificationDisplayType;
import com.intellij.notification.NotificationType;
import com.intellij.notification.Notifications;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Condition;
import com.yiistorm.YiiStormProjectComponent;
import com.yiistorm.elements.Yiic;

/**
* Created with IntelliJ IDEA.
* User: mazx
* Date: 05.04.13
* Time: 19:09
* To change this template use File | Settings | File Templates.
*/
public class MigrationsCondition implements Condition {
    @Override
    public boolean value(Object o) {
        YiiStormProjectComponent component = YiiStormProjectComponent.getInstance((Project) o);

        Notifications.Bus.register("yiicnotfound", NotificationDisplayType.BALLOON);
        if (component.getBooleanProp("useYiiMigrations")) {
            boolean phpOk = CommonHelper.phpVersionCheck();
            if (component.getProp("yiicFile").length() < 1) {
                Notifications.Bus.notify(new Notification("yiistormMigration",
                        "YiiStorm migrations",
                        "Yiic not selected ",
                        NotificationType.WARNING));
                return false;
            }
            if (component.getProp("yiicFile") != null && phpOk && Yiic.yiicIsRunnable(component.getProp("yiicFile"))) {
                return true;
            } else {
                Notifications.Bus.notify(new Notification("yiistormMigration",
                        "YiiStorm migrations",
                        phpOk ? "Yiic file not configured." : "Can't run php. Check your system configuration. ",
                        NotificationType.WARNING));
            }
        }
        return false;
    }

    public static boolean makeCondition(Project p) {
        MigrationsCondition condition = new MigrationsCondition();
        return condition.value(p);
    }
}
TOP

Related Classes of com.yiistorm.helpers.MigrationsCondition

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.