/* * Copyright 2017 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package org.drools.workbench.screens.guided.dtable.client.widget.analysis; import java.util.logging.Logger; import com.google.gwt.webworker.client.Worker; import org.drools.workbench.services.verifier.plugin.client.api.DeleteColumns; import org.drools.workbench.services.verifier.plugin.client.api.Initialize; import org.drools.workbench.services.verifier.plugin.client.api.MakeRule; import org.drools.workbench.services.verifier.plugin.client.api.NewColumn; import org.drools.workbench.services.verifier.plugin.client.api.RemoveRule; import org.drools.workbench.services.verifier.plugin.client.api.RequestStatus; import org.drools.workbench.services.verifier.plugin.client.api.Update; import org.jboss.errai.enterprise.client.jaxrs.MarshallingWrapper; import org.uberfire.commons.validation.PortablePreconditions; public class Poster { private static final Logger LOGGER = Logger.getLogger( "DTable Analyzer" ); private Worker worker; public void setUp( final Worker worker ) { this.worker = PortablePreconditions.checkNotNull( "worker", worker ); } private void postObject( final Object object ) { PortablePreconditions.checkNotNull( "worker", worker ); PortablePreconditions.checkNotNull( "object", object ); final String json = MarshallingWrapper.toJSON( object ); LOGGER.finest( "Sending: " + json ); worker.postMessage( json ); } public void post( final MakeRule makeRule ) { postObject( makeRule ); } public void post( final DeleteColumns deleteColumns ) { postObject( deleteColumns ); } public void post( final NewColumn newColumn ) { postObject( newColumn ); } public void post( final Update update ) { postObject( update ); } public void post( final Initialize initialize ) { postObject( initialize ); } public void post( final RequestStatus requestStatus ) { postObject( requestStatus ); } public void post( final RemoveRule removeRule ) { postObject( removeRule ); } }