⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addservicestomatchmakertask.java

📁 实现对owl-s描述服务的检索
💻 JAVA
字号:
/*
 * Created on 28.10.2005
 * OWL-S Matchmaker
 * 
 * COPYRIGHT NOTICE
 * 
 * Copyright (C) 2005 DFKI GmbH, Germany
 * Developed by Benedikt Fries, Matthias Klusch
 * 
 * The code is free for non-commercial use only.
 * You can redistribute it and/or modify it under the terms
 * of the Mozilla Public License version 1.1  as
 * published by the Mozilla Foundation at
 * http://www.mozilla.org/MPL/MPL-1.1.txt
 */

package owlsmx.gui.util.tasks;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
import owlsmx.analysis.MemoryContainer;
import owlsmx.analysis.PassedTimeContainer;
import owlsmx.gui.data.ServiceItem;
import owlsmx.gui.data.TestCollection;
import owlsmx.gui.util.GUIState;
import owlsmx.gui.util.MatchmakerInterface;
import owlsmx.gui.util.SwingWorker;

public class AddServicesToMatchmakerTask {
    private int lengthOfTask;
    private int current = 0;
    private boolean done = false;
    private boolean canceled = false;
    private Set services = new TreeSet();

    public AddServicesToMatchmakerTask() {
    	services = TestCollection.getInstance().getServices();    	
        lengthOfTask = services.size();
        
    }

    /**
     * Called from ProgressBarDemo to start the task.
     */
    public void go() {
    	MemoryContainer.getInstance().clear();
		MemoryContainer.getInstance().setGUIMemory();
        final SwingWorker worker = new SwingWorker() {
            public Object construct() {
                current = 1;
                done = false;
                canceled = false;
                return new ActualTask(services);
            }
        };
        worker.start();
    }

    /**
     * Called from ProgressBarDemo to find out how much work needs
     * to be done.
     */
    public int getLengthOfTask() {
        return lengthOfTask;
    }

    /**
     * Called from ProgressBarDemo to find out how much has been done.
     */
    public int getCurrent() {
        return current;
    }

    public void stop() {
        canceled = true;
    }

    /**
     * Called from ProgressBarDemo to find out if the task has completed.
     */
    public boolean isDone() {
        return done;
    }

    /**
     * Returns the most recent status message, or null
     * if there is no current status message.
     */
    public String getMessage() {
        return "Processing service " + current + "/" + lengthOfTask + ".";
    }

    /**
     * The actual long running task.  This runs in a SwingWorker thread.
     */
    class ActualTask {
        ActualTask(Set services) {        	
        	MatchmakerInterface.getInstance().createMatchmaker();
        	ServiceItem service;
        	PassedTimeContainer.getInstance().setStartTime();
        	owlsmx.io.ErrorLog.debug(this.getClass().toString() + "Services to add: " + services.size());
	    	for(Iterator iter = services.iterator(); iter.hasNext();current++) {	    		
	    		service = (ServiceItem) iter.next();
//	    		if (!service.isProcessed()) {
	    			//System.err.println("ActualTask: " + service.getURI());
	    		owlsmx.io.ErrorLog.debug(this.getClass().toString()+": Adding service: " + service.getURI().toString());
	    			MatchmakerInterface.getInstance().addService(service.getURI());
	    			if ( (GUIState.getInstance().getMemoryConsumption()))				
		    			MemoryContainer.getInstance().addState(current);
	    			//TestCollection.getInstance().setProcessed(service,true);
//	    		}
//	    		else
//	    			System.err.println("Skipped service " + service.getURI());
	    		if (canceled)
	            	break;
	    	}                
	        done = true;
	        current = lengthOfTask;
	        MemoryContainer.getInstance().addState(lengthOfTask);
	    }
        
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -