/* * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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.apache.qpid.qmf.schema; import org.apache.qpid.qmf.*; import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.message.ServerMessage; import org.apache.qpid.transport.codec.BBEncoder; import org.apache.qpid.transport.codec.BBDecoder; import java.util.Arrays; import java.util.UUID; import java.util.Map; . Schema public class extends QMFPackage { private static final byte QMF_VERSION = (byte) '2'; private static final BrokerSchema PACKAGE = new (); private static final String SCHEMA_NAME = ""; protected abstract class QMFInfoCommand<T extends QMFObject> extends QMFCommand { private final T _object; private final long _sampleTime; protected QMFInfoCommand(QMFCommand trigger, QMFOperation op, T object, long sampleTime) { this(trigger.getHeader().getVersion(), trigger.getHeader().getSeq(), op, object, sampleTime); } protected QMFInfoCommand(QMFOperation op, T object, long sampleTime) { this(QMF_VERSION,0,op,object,sampleTime); } private QMFInfoCommand(final byte qmfVersion, final int seq, final QMFOperation op, final T object, final long sampleTime) { super(new QMFCommandHeader(qmfVersion, seq,op)); _object = object; _sampleTime = sampleTime; } public T getObject() { return _object; } @Override public void encode(final BBEncoder encoder) { super.encode(encoder); encoder.writeStr8(SCHEMA_NAME); encoder.writeStr8(_object.getQMFClass().getName()); encoder.writeBin128(new byte[16]); encoder.writeUint64(_sampleTime * 1000000L); encoder.writeUint64(_object.getCreateTime() * 1000000L); encoder.writeUint64(_object.getDeleteTime() * 1000000L); encoder.writeBin128(_object.getId()); } } protected abstract class QMFConfigInfoCommand<T extends QMFObject> extends QMFInfoCommand<T> { protected QMFConfigInfoCommand(T object, long sampleTime) { super(QMFOperation.CONFIG_INDICATION, object, sampleTime); } } protected abstract class QMFInstrumentInfoCommand<T extends QMFObject> extends QMFInfoCommand<T> { protected QMFInstrumentInfoCommand(T object, long sampleTime) { super(QMFOperation.INSTRUMENTATION_INDICATION, object, sampleTime); } } protected abstract class QMFGetQueryResponseCommand<T extends QMFObject> extends QMFInfoCommand<T> { protected QMFGetQueryResponseCommand(T object, QMFGetQueryCommand cmd, long sampleTime) { super(cmd, QMFOperation.GET_QUERY_RESPONSE, object, sampleTime); } } private () { super(SCHEMA_NAME); setClasses( Arrays.asList( new QMFClass[] { , } ) ); } public <T extends QMFClass> T getQMFClassInstance(Class<T> clazz) { for(QMFClass c : getClasses()) { if(clazz.isInstance(c)) { return (T) c; } } return null; } public static BrokerSchema getPackage() { return PACKAGE; } } Class public class extends QMFObjectClass<Object, Delegate> { private () { super("", new byte[16]); setProperties( Arrays.asList( new QMFProperty[] { } ) ); setStatistics( Arrays.asList( new QMFStatistic[] { } ) ); setMethods( Arrays.asList( new QMFMethod[] { } ) ); } public Object newInstance(final Delegate delegate) { return new Object(delegate); } } private final _Class = new (); public interface Delegate extends QMFObject.Delegate { Y } public final class Object extends QMFObject<, Delegate> { protected Object(Delegate delegate) { super(delegate); } public Class getQMFClass() { return _Class; } public QMFCommand asConfigInfoCmd(long sampleTime) { return new QMFConfigInfoCommand(this,sampleTime); } public QMFCommand asInstrumentInfoCmd(long sampleTime) { return new QMFInstrumentInfoCommand(this,sampleTime); } public QMFCommand asGetQueryResponseCmd(QMFGetQueryCommand queryCommand, long sampleTime) { return new QMFGetQueryResponseCommand(this,queryCommand,sampleTime); } } public final class QMFConfigInfoCommand extends QMFConfigInfoCommand<Object> { protected QMFConfigInfoCommand(Object object, long sampleTime) { super(object, sampleTime); } @Override public void encode(final BBEncoder encoder) { super.encode(encoder); } } public final class QMFInstrumentInfoCommand extends QMFInstrumentInfoCommand<Object> { protected QMFInstrumentInfoCommand(Object object, long sampleTime) { super(object, sampleTime); } @Override public void encode(final BBEncoder encoder) { super.encode(encoder); statistic } } public final class QMFGetQueryResponseCommand extends QMFGetQueryResponseCommand<Object> { protected QMFGetQueryResponseCommand(Object object, QMFGetQueryCommand cmd, long sampleTime) { super(object, cmd, sampleTime); } @Override public void encode(final BBEncoder encoder) { super.encode(encoder); } } property presence byte = (byte) 0; if( getObject().get() != null ) { |= (1 << ); } encoder.writeUint8( ); count32 get(); count32 getHigh(); count32 getLow(); deltaTime getSamples(); deltaTime getMin(); deltaTime getMax(); deltaTime getAverage(); get(); public count32 get() { return getDelegate().get(); } public count32 getHigh() { return getDelegate().getHigh(); } public count32 getLow() { return getDelegate().getLow(); } public deltaTime getSamples() { return getDelegate().getSamples(); } public deltaTime getMin() { return getDelegate().getMin(); } public deltaTime getMax() { return getDelegate().getMax(); } public deltaTime getAverage() { return getDelegate().getAverage(); } public get() { return getDelegate().get(); } getObject().get() if( != null) { encoder.; } encoder.count32; encoder.getObject().getHigh()count32; encoder.getObject().getLow()count32; encoder.getObject().getSamples()deltaTime; encoder.getObject().getMin()deltaTime; encoder.getObject().getMax()deltaTime; encoder.getObject().getAverage()deltaTime; encoder.; Property public class extends QMFProperty { private () { super( "", QMFType., QMFProperty.AccessCode., truefalse, truefalse); setDescription(""); setMin(); setMin(); setReferencedClass(""); setUnit(""); } } private final _Property = new (); uint32 Highuint32 (High) Lowuint32 (Low) SamplesdeltaTime (Samples) MaxdeltaTime (Max) MindeltaTime (Min) AveragedeltaTime (Average) Statistic public class extends QMFStatistic { private () { super( "", QMFType., "" null , "" null ); } } private final _Statistic = new (); Method public class extends QMFMethod<Object> { private () { super( "", "" null ); } public Invocation parse(BBDecoder decoder) { return new Invocation(); } } private final _Method = new (); private class Invocation implements QMFMethodInvocation<Object> { private Invocation(yes) { } public QMFMethodResponseCommand execute(Object obj, QMFMethodRequestCommand cmd) { return obj.( new ResponseCommandFactory(cmd), _ ); } } public final class ResponseCommandFactory { private final QMFMethodRequestCommand _requestCmd; private ResponseCommandFactory(QMFMethodRequestCommand cmd) { _requestCmd = cmd; } public ResponseCommand createResponseCommand(CompletionCode status) { return new ResponseCommand(_requestCmd, status, null); } public ResponseCommand createResponseCommand(CompletionCode status, String msg) { return new ResponseCommand(_requestCmd, status, msg); } public ResponseCommand createResponseCommand( yesO ) { return new ResponseCommand(_requestCmd, O); } } public final class ResponseCommand extends QMFMethodResponseCommand { private ResponseCommand(QMFMethodRequestCommand cmd, yesO) { super(cmd, CompletionCode.OK, "OK"); } private ResponseCommand(QMFMethodRequestCommand cmd, CompletionCode status, String msg) { super(cmd, status, msg); } @Override public void encode(final BBEncoder encoder) { super.encode(encoder); if(getStatus().equals(CompletionCode.OK)) { } } } N Method public Class.ResponseCommand (Class.ResponseCommandFactory factory, yes ) { return getDelegate().(factory, ); } ; QMFMethod.Argument = new QMFMethod.Argument("", QMFType.); .setDescription(""); .setDirection(QMFMethod.Direction.); addArgument( ); = decoder.; encoder._; I , private final _; _ = ; _ = null; _Class, _EventClass, _Property, _Statistic, HighStatistic, LowStatisticSamplesStatistic, MaxStatistic, MinStatistic, AverageStatistic, _Method, EventClass Event public class extends QMFEventClass { private () { super("", new byte[16]); setProperties( Arrays.asList( new QMFProperty[] { } ) ); } public QMFEventSeverity getSeverity() { return QMFEventSeverity.; } public QMFEventCommand<> newEvent(argParamList, ) { return new (argList, ); } } private final _EventClass = new (); private final class extends QMFEventCommand<> { argMemberDef private (argParamList, ) { argMemberAssign } public getEventClass() { return _EventClass; } public void encode(final BBEncoder encoder) { super.encode(encoder); argEncode } } propertyClass Arg public class extends QMFProperty { private () { super( "", QMFType., QMFProperty.AccessCode.RO,false,false); setDescription(""); } } private final _Arg = new (); private final _; _ = ; encoder._; _Arg , ABSTIME BOOLEAN MAP OBJECTREFERENCE STR8 STR16 UINT16 UINT32 UINT64 UUID DELTATIME UINT32 UINT64 UUID Long Boolean Map Object String String Integer Long Long UUID Long Long Long writeUint64( ) writeInt8( ? (byte) -1 : (byte) 0) writeMap( ) writeBin128( .getId() ) writeStr8( ) writeStr16( ) writeUint16( ) writeUint32( ) writeUint64( ) writeUuid( ) writeUint64( ) writeUint32( ) writeUint64( ) readUint64() readInt8() != 0 readMap() readBin128() readStr8() readStr16() readUint16() readUint32() readUint64() readUuid() readUint64() readUint32() readUint64() EMERGENCY ALERT CRITICAL ERROR WARN NOTICE INFORM DEBUG