當前位置: 首頁>>代碼示例>>Java>>正文


Java Transformer類代碼示例

本文整理匯總了Java中org.apache.commons.collections15.Transformer的典型用法代碼示例。如果您正苦於以下問題:Java Transformer類的具體用法?Java Transformer怎麽用?Java Transformer使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


Transformer類屬於org.apache.commons.collections15包,在下文中一共展示了Transformer類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: testUnreachable

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
@Test
public void testUnreachable() {
	Graph<String, MyLink> g = new DirectedOrderedSparseMultigraph<String, MyLink>();

	String n1 = new String("S"); // S
	g.addVertex(n1);
	String n2 = new String("A"); // A
	g.addVertex(n2);
	String n3 = new String("B"); // B -- not connected
	g.addVertex(n3);

	g.addEdge(new MyLink(1, "S-A"), n1, n2, EdgeType.DIRECTED); // S - A

	Transformer<MyLink, Number> weightTrans = new Transformer<MyLink, Number>() {
		@Override
		public Number transform(MyLink link) {
			return link.getWeight();
		}
	};
	SuurballeTarjan<String, MyLink> testMain = new SuurballeTarjan<String, MyLink>(
			g, weightTrans);
	assertEquals(null, testMain.getDisjointPaths(n1, n3));
}
 
開發者ID:KeepTheBeats,項目名稱:alevin-svn2,代碼行數:24,代碼來源:SuurballeTarjanTest.java

示例2: testNoDisjointSolution

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
@Test
public void testNoDisjointSolution() {
	Graph<String, MyLink> g = new DirectedOrderedSparseMultigraph<String, MyLink>();

	String n1 = new String("A"); // A
	g.addVertex(n1);
	String n2 = new String("B"); // B
	g.addVertex(n2);

	g.addEdge(new MyLink(2, "A-B"), n1, n2, EdgeType.DIRECTED);

	Transformer<MyLink, Number> weightTrans = new Transformer<MyLink, Number>() {
		@Override
		public Number transform(MyLink link) {
			return link.getWeight();
		}
	};
	SuurballeTarjan<String, MyLink> testMain = new SuurballeTarjan<String, MyLink>(
			g, weightTrans);
	assertEquals("[[A-B]]", testMain.getDisjointPaths(n1, n2).toString());
}
 
開發者ID:KeepTheBeats,項目名稱:alevin-svn2,代碼行數:22,代碼來源:SuurballeTarjanTest.java

示例3: getDistance

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
DistanceEntry getDistance(SubstrateNetwork sNetwork, SubstrateNode from,
		SubstrateNode to, Transformer<SubstrateLink, Double> transformer) {

	if (from.getId() == to.getId()) {
		return new DistanceEntry(from, to, new LinkedList<SubstrateLink>(),
				0.0);
	}

	// we need a new instance here because we use other link weights
	// every time
	MyDijkstraShortestPath<SubstrateNode, SubstrateLink> dijkstra = new MyDijkstraShortestPath<SubstrateNode, SubstrateLink>(
			sNetwork, transformer, true);

	List<SubstrateLink> path = dijkstra.getPath(from, to);
	if (path == null) {
		return null;
	}
	Number distance = dijkstra.getDistance(from, to);

	return new DistanceEntry(from, to, path, distance.doubleValue());
}
 
開發者ID:KeepTheBeats,項目名稱:alevin-svn2,代碼行數:22,代碼來源:BasicVNAssignmentAlgorithm.java

示例4: findShortestPath

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
public static LinkedList<SubstrateLink> findShortestPath(
		SubstrateNetwork sNetwork,
		SubstrateNode n1, SubstrateNode n2,
		Transformer<SubstrateLink, Double> t) {

	if (n1.getId() == n2.getId()) {
		return new LinkedList<SubstrateLink>();
	}

	MyDijkstraShortestPath<SubstrateNode, SubstrateLink> dijkstra =
			new MyDijkstraShortestPath<SubstrateNode, SubstrateLink>(
					sNetwork, t, true);

	LinkedList<SubstrateLink> path = dijkstra.getPath(n1, n2, -1);

	return path;
}
 
開發者ID:KeepTheBeats,項目名稱:alevin-svn2,代碼行數:18,代碼來源:Utils.java

示例5: findAllShortestPaths

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
public static Collection<LinkedList<SubstrateLink>> findAllShortestPaths(
		SubstrateNetwork sNetwork,
		SubstrateNode n,
		Transformer<SubstrateLink, Double> t) {
	
	Collection<LinkedList<SubstrateLink>> result = new LinkedList<LinkedList<SubstrateLink>>();
	
	for (SubstrateNode n2 : sNetwork.getVertices()) {
		if (n != n2) {
			LinkedList<SubstrateLink> current =
					findShortestPath(sNetwork, n, n2, t);
			
			if (current != null) {
				result.add(current);
			}
		}
	}
	
	return result;
}
 
開發者ID:KeepTheBeats,項目名稱:alevin-svn2,代碼行數:21,代碼來源:Utils.java

示例6: getShortestPathsALinkGoesThrough

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
public static Collection<LinkedList<SubstrateLink>> getShortestPathsALinkGoesThrough(
		SubstrateNetwork sNetwork,
		SubstrateLink l,
		Transformer<SubstrateLink, Double> t) {
	
	Collection<LinkedList<SubstrateLink>> result = new LinkedList<LinkedList<SubstrateLink>>();
	
	Map<SubstrateNode, Collection<LinkedList<SubstrateLink>>> all =
			Utils.findAllShortestPaths(sNetwork, t);
	
	for (Entry<SubstrateNode, Collection<LinkedList<SubstrateLink>>> e : all.entrySet()) {
		for (LinkedList<SubstrateLink> path : e.getValue()) {
			
			if (path.contains(l)) {
				result.add(path);
				break;
			}
		}
	}
	
	return result;
}
 
開發者ID:KeepTheBeats,項目名稱:alevin-svn2,代碼行數:23,代碼來源:Utils.java

示例7: setPrototypePreview

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
/**
   * This method takes the GraphPrototype class name as string and creates a graph of the prototype and shows a preview in the visualizationViewer
   * @param graphPrototype
   */
  private void setPrototypePreview() {

  	String componentName = this.localComponentTypeListElement.getComponentName();
  	
  	// --- Create the graph of the NetworkComponent -------------
  	this.localNetworkModel = NetworkComponentFactory.getNetworkModel4NetworkComponent(this.graphController.getNetworkModel().getGeneralGraphSettings4MAS(), componentName, this.getVisualizationViewer().getSize());
  	this.localGraphElementPrototype = NetworkComponentFactory.getGraphElementPrototypeOfLastNetworkComponent();
if (this.localNetworkModel!=null && this.localGraphElementPrototype!=null) {

	// --- Set the graph to the layout ----------------------
   	Layout<GraphNode, GraphEdge> layout = new StaticLayout<GraphNode, GraphEdge>(this.localNetworkModel.getGraph());
	layout.setInitializer(new Transformer<GraphNode, Point2D>() {
		public Point2D transform(GraphNode node) {
			return node.getPosition(); 
		}
	});
	this.getVisualizationViewer().setGraphLayout(layout);
	this.getVisualizationViewer().repaint();
	
	// --- Pick first GraphNode --------------------
	this.pickFirstGraphNode();
    this.setSelectedGraphNode();
    
}
  }
 
開發者ID:EnFlexIT,項目名稱:AgentWorkbench,代碼行數:30,代碼來源:AddComponentDialog.java

示例8: getPanel

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
public static GraphVisualizationPanel<MarkovVertex, MarkovEdge> getPanel(
        Graph<MarkovVertex, MarkovEdge> test_graph) {
    GraphVisualizationPanel<MarkovVertex, MarkovEdge> graph_panel = GraphVisualizationPanel
            .factory(test_graph);
    Transformer<MarkovVertex, Paint> transformer = new VertexTransformer<MarkovVertex, Paint>();
    graph_panel.getRenderContext().setVertexFillPaintTransformer(
            transformer);
    graph_panel.getRenderContext().setEdgeLabelTransformer(
            new ToStringLabeller<MarkovEdge>());
    PluggableGraphMouse gm = new PluggableGraphMouse();
    gm.add(new PopupMousePlugin<MarkovVertex, MarkovEdge>());
    gm.add(new TranslatingGraphMousePlugin(MouseEvent.BUTTON1_MASK));
    graph_panel.setGraphMouse(gm);
    Transformer<MarkovVertex, String> labelTransform = new VertexLabelTransformer<MarkovVertex, String>();
    graph_panel.getRenderContext()
            .setVertexLabelTransformer(labelTransform);
    return graph_panel;
}
 
開發者ID:s-store,項目名稱:sstore-soft,代碼行數:19,代碼來源:MarkovViewer.java

示例9: main

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
/**
 * Main.
 * 
 * @param args
 *            command line arguments
 */
public static void main(String[] args) {
	TestExample example = new TestExample();
	Term bdd = example.get();

	Transformer<String, ReliabilityFunction> exponentialTransformer = new TestExponentialTransformer();
	Transformer<String, ReliabilityFunction> weibullTransformer = new TestWeibullTransformer();

	BDDProviderFactory bddProviderFactory = new JBDDProviderFactory();
	BDDProvider<String> bddProvider = bddProviderFactory.getProvider();
	BDDTTRF<String> transformer = new BDDTTRF<>(bddProvider);
	ReliabilityFunction exponentialDistribution = transformer.convert(bdd, exponentialTransformer);
	ReliabilityFunction weibullDistribution = transformer.convert(bdd, weibullTransformer);

	Map<String, ReliabilityFunction> reliabilityFunction = new HashMap<>();
	reliabilityFunction.put("Exponential", exponentialDistribution);
	reliabilityFunction.put("Weibull", weibullDistribution);

	ReliabilityViewer.view("JReliability Viewer", reliabilityFunction);

}
 
開發者ID:felixreimann,項目名稱:jreliability,代碼行數:27,代碼來源:ReliabilityTester.java

示例10: calculate

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
/**
 * Calculates the top event for the values given by the functionTransformer.
 * 
 * @param transformer
 *            the transformer from the variables to the values
 * @return the top event
 */
public double calculate(Transformer<T, Double> transformer) {

	for (Entry<T, Var> entry : variables.entrySet()) {
		T t = entry.getKey();
		Var var = entry.getValue();
		double value = transformer.transform(t);
		var.setValue(value);
	}

	for (VarNode node : nodes) {

		double r = node.getVar().getValue();

		double low = node.getLo().getValue();
		double high = node.getHi().getValue();

		// Shannon decomposition
		double y = r * high + (1 - r) * low;
		node.setValue(y);
	}

	return root.getValue();
}
 
開發者ID:felixreimann,項目名稱:jreliability,代碼行數:31,代碼來源:BDDTopEvent.java

示例11: getY

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
@Override
public double getY(final double x) {

	final Transformer<T, Double> t = new Transformer<T, Double>() {
		/**
		 * Default {@link Transformer}.
		 * 
		 * @param a
		 *            parameter a
		 * @return the double value of a
		 */
		@Override
		public Double transform(T a) {
			return functionTransformer.transform(a).getY(x);
		}
	};

	return topEvent.calculate(t);
}
 
開發者ID:felixreimann,項目名稱:jreliability,代碼行數:20,代碼來源:BDDReliabilityFunction.java

示例12: calculateTop

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
/**
 * Calculates the top event of the {@link BDD} based on a functionTransformer that delivers for each variable
 * {@code T} a double value.
 * 
 * @param <T>
 *            the type of variable
 * @param bdd
 *            the bdd
 * @param transformer
 *            the transformer that returns a double value for each variable
 * @return the top event of the bdd
 */
public static <T> double calculateTop(BDD<T> bdd, Transformer<T, Double> transformer) {
	if (bdd.isOne()) {
		return 1.0;
	}
	if (bdd.isZero()) {
		return 0.0;
	}

	Set<BDD<T>> upSort = new LinkedHashSet<>();
	traverseBDD(bdd, upSort);
	double top = evaluate(bdd, transformer, upSort);
	for (BDD<T> ups : upSort) {
		ups.free();
	}
	return top;
}
 
開發者ID:felixreimann,項目名稱:jreliability,代碼行數:29,代碼來源:BDDs.java

示例13: simulateTimeToFailure

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
/**
 * Performs a single simulation run to gather one time-to-failure.
 * 
 * @param bdd
 *            the given bdd
 * @param functionTransformer
 *            the element to reliability function transformer
 * @return a single time-to-failure
 */
protected double simulateTimeToFailure(BDD<T> bdd, Transformer<T, ReliabilityFunction> functionTransformer) {
	double time = 0;
	BDD<T> myBDD = bdd.copy();
	Set<Failure<T>> failures = getFailures(bdd, functionTransformer);
	for (Failure<T> failure : failures) {
		BDD<T> objectVariable = provider.get(failure.getObject());
		myBDD.restrictWith(objectVariable.not());
		if (myBDD.isZero()) {
			time = failure.getTime();
			break;
		}
	}

	return time;
}
 
開發者ID:felixreimann,項目名稱:jreliability,代碼行數:25,代碼來源:BDDTTRFSimulative.java

示例14: testCalculate

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
@Test
public void testCalculate() {
	BDD<String> a = provider.get("a");
	BDD<String> b = provider.get("b");
	BDD<String> and = a.and(b);

	BDDTopEvent<String> event = new BDDTopEvent<>(and);
	double result = event.calculate(new Transformer<String, Double>() {
		@Override
		public Double transform(String input) {
			return 0.5;
		}
	});

	Assert.assertEquals(0.25, result, 0.000001);
}
 
開發者ID:felixreimann,項目名稱:jreliability,代碼行數:17,代碼來源:BDDTopEventTest.java

示例15: testCalculateSeriesParallel

import org.apache.commons.collections15.Transformer; //導入依賴的package包/類
@Test
public void testCalculateSeriesParallel() {
	BDD<String> a = provider.get("a");
	BDD<String> b = provider.get("b");
	BDD<String> bdd = a.or(b);
	BDD<String> c = provider.get("c");
	bdd = bdd.and(c);
	
	BDDTopEvent<String> event = new BDDTopEvent<>(bdd);
	double result = event.calculate(new Transformer<String, Double>() {
		@Override
		public Double transform(String input) {
			return 0.9;
		}
	});

	Assert.assertEquals(0.891, result, 0.000001);
}
 
開發者ID:felixreimann,項目名稱:jreliability,代碼行數:19,代碼來源:BDDTopEventTest.java


注:本文中的org.apache.commons.collections15.Transformer類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。