package eu.jucy.gui.itemhandler; import logger.LoggerFactory; import org.apache.log4j.Logger; import org.eclipse.core.expressions.PropertyTester; import uc.IHasUser; import uc.IUser; public class PropertyTesterUser extends PropertyTester { private static final Logger logger = LoggerFactory.make(); public PropertyTesterUser() { } public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { logger.debug("receiver: "+receiver.getClass().getName()); logger.debug("properties: "+property); logger.debug("args: "+args.length); logger.debug("expectedValue: "+expectedValue.getClass().getName()); IUser usr = ((IHasUser)receiver).getUser(); if ("isFavUser".equals(property)) { return expectedValue.equals(usr.isFavUser()); } else if ("hasDownloadedFilelist".equals(property)) { return expectedValue.equals(usr.hasDownloadedFilelist()); } else if ("hasFilesInQueue".equals(property)) { return expectedValue.equals(usr.nrOfFilesInQueue() > 0); } else if ("hasSlotGranted".equals(property)) { return expectedValue.equals(usr.hasCurrentlyAutogrant()); } else if ("isHubKnown".equals(property)) { return expectedValue.equals(usr.getHub() != null); } else if ("isIPKnown".equals(property)) { return expectedValue.equals(usr.getIp() != null); } else if ("isShareing".equals(property)) { return expectedValue.equals(usr.getShared() > 0 || usr.getNumberOfSharedFiles() > 0); } else if ("isInChatOnlyHub".equals(property)) { return usr.getHub() != null && expectedValue.equals( usr.getHub().getFavHub().isChatOnly() ); } throw new IllegalStateException(); } }