Java Code Examples for com.sun.corba.se.spi.ior.IOR#getProfile()
The following examples show how to use
com.sun.corba.se.spi.ior.IOR#getProfile() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: LocalClientRequestDispatcherBase.java From jdk1.8-source-analysis with Apache License 2.0 | 6 votes |
protected LocalClientRequestDispatcherBase(ORB orb, int scid, IOR ior) { this.orb = orb ; TaggedProfile prof = ior.getProfile() ; servantIsLocal = orb.getORBData().isLocalOptimizationAllowed() && prof.isLocal(); ObjectKeyTemplate oktemp = prof.getObjectKeyTemplate() ; this.scid = oktemp.getSubcontractId() ; RequestDispatcherRegistry sreg = orb.getRequestDispatcherRegistry() ; oaf = sreg.getObjectAdapterFactory( scid ) ; oaid = oktemp.getObjectAdapterId() ; ObjectId oid = prof.getObjectId() ; objectId = oid.getId() ; }
Example 2
Source File: LocalClientRequestDispatcherBase.java From hottub with GNU General Public License v2.0 | 6 votes |
protected LocalClientRequestDispatcherBase(ORB orb, int scid, IOR ior) { this.orb = orb ; TaggedProfile prof = ior.getProfile() ; servantIsLocal = orb.getORBData().isLocalOptimizationAllowed() && prof.isLocal(); ObjectKeyTemplate oktemp = prof.getObjectKeyTemplate() ; this.scid = oktemp.getSubcontractId() ; RequestDispatcherRegistry sreg = orb.getRequestDispatcherRegistry() ; oaf = sreg.getObjectAdapterFactory( scid ) ; oaid = oktemp.getObjectAdapterId() ; ObjectId oid = prof.getObjectId() ; objectId = oid.getId() ; }
Example 3
Source File: LocalClientRequestDispatcherBase.java From JDKSourceCode1.8 with MIT License | 6 votes |
protected LocalClientRequestDispatcherBase(ORB orb, int scid, IOR ior) { this.orb = orb ; TaggedProfile prof = ior.getProfile() ; servantIsLocal = orb.getORBData().isLocalOptimizationAllowed() && prof.isLocal(); ObjectKeyTemplate oktemp = prof.getObjectKeyTemplate() ; this.scid = oktemp.getSubcontractId() ; RequestDispatcherRegistry sreg = orb.getRequestDispatcherRegistry() ; oaf = sreg.getObjectAdapterFactory( scid ) ; oaid = oktemp.getObjectAdapterId() ; ObjectId oid = prof.getObjectId() ; objectId = oid.getId() ; }
Example 4
Source File: LocalClientRequestDispatcherBase.java From openjdk-8 with GNU General Public License v2.0 | 6 votes |
protected LocalClientRequestDispatcherBase(ORB orb, int scid, IOR ior) { this.orb = orb ; TaggedProfile prof = ior.getProfile() ; servantIsLocal = orb.getORBData().isLocalOptimizationAllowed() && prof.isLocal(); ObjectKeyTemplate oktemp = prof.getObjectKeyTemplate() ; this.scid = oktemp.getSubcontractId() ; RequestDispatcherRegistry sreg = orb.getRequestDispatcherRegistry() ; oaf = sreg.getObjectAdapterFactory( scid ) ; oaid = oktemp.getObjectAdapterId() ; ObjectId oid = prof.getObjectId() ; objectId = oid.getId() ; }
Example 5
Source File: ORBUtility.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
/** * @return the Java serialization encoding version. */ public static byte getEncodingVersion(ORB orb, IOR ior) { // Is Java serialization enabled? // Check the JavaSerializationComponent (tagged component) // in the IIOPProfile. If present, the peer ORB's GIOP is capable // of using Java serialization instead of CDR serialization. // In such a case, use Java serialization, iff the java serialization // versions match. if (orb.getORBData().isJavaSerializationEnabled()) { IIOPProfile prof = ior.getProfile(); IIOPProfileTemplate profTemp = (IIOPProfileTemplate) prof.getTaggedProfileTemplate(); java.util.Iterator iter = profTemp.iteratorById( ORBConstants.TAG_JAVA_SERIALIZATION_ID); if (iter.hasNext()) { JavaSerializationComponent jc = (JavaSerializationComponent) iter.next(); byte jcVersion = jc.javaSerializationVersion(); if (jcVersion >= Message.JAVA_ENC_VERSION) { return Message.JAVA_ENC_VERSION; } else if (jcVersion > Message.CDR_ENC_VERSION) { return jc.javaSerializationVersion(); } else { // throw error? // Since encodingVersion is <= 0 (CDR_ENC_VERSION). } } } return Message.CDR_ENC_VERSION; // default }
Example 6
Source File: GIOPVersion.java From jdk1.8-source-analysis with Apache License 2.0 | 5 votes |
/** * This chooses the appropriate GIOP version. * * @return the GIOP version 13.00 if Java serialization is enabled, or * smallest(profGIOPVersion, orbGIOPVersion) */ public static GIOPVersion chooseRequestVersion(ORB orb, IOR ior ) { GIOPVersion orbVersion = orb.getORBData().getGIOPVersion(); IIOPProfile prof = ior.getProfile() ; GIOPVersion profVersion = prof.getGIOPVersion(); // Check if the profile is from a legacy Sun ORB. ORBVersion targetOrbVersion = prof.getORBVersion(); if (!(targetOrbVersion.equals(ORBVersionFactory.getFOREIGN())) && targetOrbVersion.lessThan(ORBVersionFactory.getNEWER())) { // we are dealing with a SUN legacy orb which emits 1.1 IORs, // in spite of being able to handle only GIOP 1.0 messages. return V1_0; } // Now the target has to be (FOREIGN | NEWER*) byte prof_major = profVersion.getMajor(); byte prof_minor = profVersion.getMinor(); byte orb_major = orbVersion.getMajor(); byte orb_minor = orbVersion.getMinor(); if (orb_major < prof_major) { return orbVersion; } else if (orb_major > prof_major) { return profVersion; } else { // both major version are the same if (orb_minor <= prof_minor) { return orbVersion; } else { return profVersion; } } }
Example 7
Source File: ORBUtility.java From openjdk-8 with GNU General Public License v2.0 | 5 votes |
/** * @return the Java serialization encoding version. */ public static byte getEncodingVersion(ORB orb, IOR ior) { // Is Java serialization enabled? // Check the JavaSerializationComponent (tagged component) // in the IIOPProfile. If present, the peer ORB's GIOP is capable // of using Java serialization instead of CDR serialization. // In such a case, use Java serialization, iff the java serialization // versions match. if (orb.getORBData().isJavaSerializationEnabled()) { IIOPProfile prof = ior.getProfile(); IIOPProfileTemplate profTemp = (IIOPProfileTemplate) prof.getTaggedProfileTemplate(); java.util.Iterator iter = profTemp.iteratorById( ORBConstants.TAG_JAVA_SERIALIZATION_ID); if (iter.hasNext()) { JavaSerializationComponent jc = (JavaSerializationComponent) iter.next(); byte jcVersion = jc.javaSerializationVersion(); if (jcVersion >= Message.JAVA_ENC_VERSION) { return Message.JAVA_ENC_VERSION; } else if (jcVersion > Message.CDR_ENC_VERSION) { return jc.javaSerializationVersion(); } else { // throw error? // Since encodingVersion is <= 0 (CDR_ENC_VERSION). } } } return Message.CDR_ENC_VERSION; // default }
Example 8
Source File: GIOPVersion.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
/** * This chooses the appropriate GIOP version. * * @return the GIOP version 13.00 if Java serialization is enabled, or * smallest(profGIOPVersion, orbGIOPVersion) */ public static GIOPVersion chooseRequestVersion(ORB orb, IOR ior ) { GIOPVersion orbVersion = orb.getORBData().getGIOPVersion(); IIOPProfile prof = ior.getProfile() ; GIOPVersion profVersion = prof.getGIOPVersion(); // Check if the profile is from a legacy Sun ORB. ORBVersion targetOrbVersion = prof.getORBVersion(); if (!(targetOrbVersion.equals(ORBVersionFactory.getFOREIGN())) && targetOrbVersion.lessThan(ORBVersionFactory.getNEWER())) { // we are dealing with a SUN legacy orb which emits 1.1 IORs, // in spite of being able to handle only GIOP 1.0 messages. return V1_0; } // Now the target has to be (FOREIGN | NEWER*) byte prof_major = profVersion.getMajor(); byte prof_minor = profVersion.getMinor(); byte orb_major = orbVersion.getMajor(); byte orb_minor = orbVersion.getMinor(); if (orb_major < prof_major) { return orbVersion; } else if (orb_major > prof_major) { return profVersion; } else { // both major version are the same if (orb_minor <= prof_minor) { return orbVersion; } else { return profVersion; } } }
Example 9
Source File: ORBUtility.java From JDKSourceCode1.8 with MIT License | 5 votes |
/** * @return the Java serialization encoding version. */ public static byte getEncodingVersion(ORB orb, IOR ior) { // Is Java serialization enabled? // Check the JavaSerializationComponent (tagged component) // in the IIOPProfile. If present, the peer ORB's GIOP is capable // of using Java serialization instead of CDR serialization. // In such a case, use Java serialization, iff the java serialization // versions match. if (orb.getORBData().isJavaSerializationEnabled()) { IIOPProfile prof = ior.getProfile(); IIOPProfileTemplate profTemp = (IIOPProfileTemplate) prof.getTaggedProfileTemplate(); java.util.Iterator iter = profTemp.iteratorById( ORBConstants.TAG_JAVA_SERIALIZATION_ID); if (iter.hasNext()) { JavaSerializationComponent jc = (JavaSerializationComponent) iter.next(); byte jcVersion = jc.javaSerializationVersion(); if (jcVersion >= Message.JAVA_ENC_VERSION) { return Message.JAVA_ENC_VERSION; } else if (jcVersion > Message.CDR_ENC_VERSION) { return jc.javaSerializationVersion(); } else { // throw error? // Since encodingVersion is <= 0 (CDR_ENC_VERSION). } } } return Message.CDR_ENC_VERSION; // default }
Example 10
Source File: ORBUtility.java From hottub with GNU General Public License v2.0 | 5 votes |
/** * @return the Java serialization encoding version. */ public static byte getEncodingVersion(ORB orb, IOR ior) { // Is Java serialization enabled? // Check the JavaSerializationComponent (tagged component) // in the IIOPProfile. If present, the peer ORB's GIOP is capable // of using Java serialization instead of CDR serialization. // In such a case, use Java serialization, iff the java serialization // versions match. if (orb.getORBData().isJavaSerializationEnabled()) { IIOPProfile prof = ior.getProfile(); IIOPProfileTemplate profTemp = (IIOPProfileTemplate) prof.getTaggedProfileTemplate(); java.util.Iterator iter = profTemp.iteratorById( ORBConstants.TAG_JAVA_SERIALIZATION_ID); if (iter.hasNext()) { JavaSerializationComponent jc = (JavaSerializationComponent) iter.next(); byte jcVersion = jc.javaSerializationVersion(); if (jcVersion >= Message.JAVA_ENC_VERSION) { return Message.JAVA_ENC_VERSION; } else if (jcVersion > Message.CDR_ENC_VERSION) { return jc.javaSerializationVersion(); } else { // throw error? // Since encodingVersion is <= 0 (CDR_ENC_VERSION). } } } return Message.CDR_ENC_VERSION; // default }
Example 11
Source File: GIOPVersion.java From hottub with GNU General Public License v2.0 | 5 votes |
/** * This chooses the appropriate GIOP version. * * @return the GIOP version 13.00 if Java serialization is enabled, or * smallest(profGIOPVersion, orbGIOPVersion) */ public static GIOPVersion chooseRequestVersion(ORB orb, IOR ior ) { GIOPVersion orbVersion = orb.getORBData().getGIOPVersion(); IIOPProfile prof = ior.getProfile() ; GIOPVersion profVersion = prof.getGIOPVersion(); // Check if the profile is from a legacy Sun ORB. ORBVersion targetOrbVersion = prof.getORBVersion(); if (!(targetOrbVersion.equals(ORBVersionFactory.getFOREIGN())) && targetOrbVersion.lessThan(ORBVersionFactory.getNEWER())) { // we are dealing with a SUN legacy orb which emits 1.1 IORs, // in spite of being able to handle only GIOP 1.0 messages. return V1_0; } // Now the target has to be (FOREIGN | NEWER*) byte prof_major = profVersion.getMajor(); byte prof_minor = profVersion.getMinor(); byte orb_major = orbVersion.getMajor(); byte orb_minor = orbVersion.getMinor(); if (orb_major < prof_major) { return orbVersion; } else if (orb_major > prof_major) { return profVersion; } else { // both major version are the same if (orb_minor <= prof_minor) { return orbVersion; } else { return profVersion; } } }
Example 12
Source File: ORBUtility.java From TencentKona-8 with GNU General Public License v2.0 | 5 votes |
/** * @return the Java serialization encoding version. */ public static byte getEncodingVersion(ORB orb, IOR ior) { // Is Java serialization enabled? // Check the JavaSerializationComponent (tagged component) // in the IIOPProfile. If present, the peer ORB's GIOP is capable // of using Java serialization instead of CDR serialization. // In such a case, use Java serialization, iff the java serialization // versions match. if (orb.getORBData().isJavaSerializationEnabled()) { IIOPProfile prof = ior.getProfile(); IIOPProfileTemplate profTemp = (IIOPProfileTemplate) prof.getTaggedProfileTemplate(); java.util.Iterator iter = profTemp.iteratorById( ORBConstants.TAG_JAVA_SERIALIZATION_ID); if (iter.hasNext()) { JavaSerializationComponent jc = (JavaSerializationComponent) iter.next(); byte jcVersion = jc.javaSerializationVersion(); if (jcVersion >= Message.JAVA_ENC_VERSION) { return Message.JAVA_ENC_VERSION; } else if (jcVersion > Message.CDR_ENC_VERSION) { return jc.javaSerializationVersion(); } else { // throw error? // Since encodingVersion is <= 0 (CDR_ENC_VERSION). } } } return Message.CDR_ENC_VERSION; // default }
Example 13
Source File: GIOPVersion.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * This chooses the appropriate GIOP version. * * @return the GIOP version 13.00 if Java serialization is enabled, or * smallest(profGIOPVersion, orbGIOPVersion) */ public static GIOPVersion chooseRequestVersion(ORB orb, IOR ior ) { GIOPVersion orbVersion = orb.getORBData().getGIOPVersion(); IIOPProfile prof = ior.getProfile() ; GIOPVersion profVersion = prof.getGIOPVersion(); // Check if the profile is from a legacy Sun ORB. ORBVersion targetOrbVersion = prof.getORBVersion(); if (!(targetOrbVersion.equals(ORBVersionFactory.getFOREIGN())) && targetOrbVersion.lessThan(ORBVersionFactory.getNEWER())) { // we are dealing with a SUN legacy orb which emits 1.1 IORs, // in spite of being able to handle only GIOP 1.0 messages. return V1_0; } // Now the target has to be (FOREIGN | NEWER*) byte prof_major = profVersion.getMajor(); byte prof_minor = profVersion.getMinor(); byte orb_major = orbVersion.getMajor(); byte orb_minor = orbVersion.getMinor(); if (orb_major < prof_major) { return orbVersion; } else if (orb_major > prof_major) { return profVersion; } else { // both major version are the same if (orb_minor <= prof_minor) { return orbVersion; } else { return profVersion; } } }
Example 14
Source File: MessageBase.java From jdk8u60 with GNU General Public License v2.0 | 4 votes |
public static RequestMessage createRequest( ORB orb, GIOPVersion gv, byte encodingVersion, int request_id, boolean response_expected, IOR ior, short addrDisp, String operation, ServiceContexts service_contexts, Principal requesting_principal) { RequestMessage requestMessage = null; IIOPProfile profile = ior.getProfile(); if (addrDisp == KeyAddr.value) { // object key will be used for target addressing profile = ior.getProfile(); ObjectKey objKey = profile.getObjectKey(); byte[] object_key = objKey.getBytes(orb); requestMessage = createRequest(orb, gv, encodingVersion, request_id, response_expected, object_key, operation, service_contexts, requesting_principal); } else { if (!(gv.equals(GIOPVersion.V1_2))) { // only object_key based target addressing is allowed for // GIOP 1.0 & 1.1 throw wrapper.giopVersionError( CompletionStatus.COMPLETED_MAYBE); } // Note: Currently we use response_expected flag to decide if the // call is oneway or not. Ideally, it is possible to expect a // response on a oneway call too, but we do not support it now. byte response_flags = 0x03; if (response_expected) { response_flags = 0x03; } else { response_flags = 0x00; } TargetAddress target = new TargetAddress(); if (addrDisp == ProfileAddr.value) { // iop profile will be used profile = ior.getProfile(); target.profile(profile.getIOPProfile()); } else if (addrDisp == ReferenceAddr.value) { // ior will be used IORAddressingInfo iorInfo = new IORAddressingInfo( 0, // profile index ior.getIOPIOR()); target.ior(iorInfo); } else { // invalid target addressing disposition value throw wrapper.illegalTargetAddressDisposition( CompletionStatus.COMPLETED_NO); } requestMessage = new RequestMessage_1_2(orb, request_id, response_flags, new byte[] { 0x00, 0x00, 0x00 }, target, operation, service_contexts); requestMessage.setEncodingVersion(encodingVersion); } if (gv.supportsIORIIOPProfileComponents()) { // add request partitioning thread pool to use info int poolToUse = 0; // default pool IIOPProfileTemplate temp = (IIOPProfileTemplate)profile.getTaggedProfileTemplate(); Iterator iter = temp.iteratorById(ORBConstants.TAG_REQUEST_PARTITIONING_ID); if (iter.hasNext()) { poolToUse = ((RequestPartitioningComponent)iter.next()).getRequestPartitioningId(); } if (poolToUse < ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID || poolToUse > ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID) { throw wrapper.invalidRequestPartitioningId(new Integer(poolToUse), new Integer(ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID), new Integer(ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID)); } requestMessage.setThreadPoolToUse(poolToUse); } return requestMessage; }
Example 15
Source File: MessageBase.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
public static RequestMessage createRequest( ORB orb, GIOPVersion gv, byte encodingVersion, int request_id, boolean response_expected, IOR ior, short addrDisp, String operation, ServiceContexts service_contexts, Principal requesting_principal) { RequestMessage requestMessage = null; IIOPProfile profile = ior.getProfile(); if (addrDisp == KeyAddr.value) { // object key will be used for target addressing profile = ior.getProfile(); ObjectKey objKey = profile.getObjectKey(); byte[] object_key = objKey.getBytes(orb); requestMessage = createRequest(orb, gv, encodingVersion, request_id, response_expected, object_key, operation, service_contexts, requesting_principal); } else { if (!(gv.equals(GIOPVersion.V1_2))) { // only object_key based target addressing is allowed for // GIOP 1.0 & 1.1 throw wrapper.giopVersionError( CompletionStatus.COMPLETED_MAYBE); } // Note: Currently we use response_expected flag to decide if the // call is oneway or not. Ideally, it is possible to expect a // response on a oneway call too, but we do not support it now. byte response_flags = 0x03; if (response_expected) { response_flags = 0x03; } else { response_flags = 0x00; } TargetAddress target = new TargetAddress(); if (addrDisp == ProfileAddr.value) { // iop profile will be used profile = ior.getProfile(); target.profile(profile.getIOPProfile()); } else if (addrDisp == ReferenceAddr.value) { // ior will be used IORAddressingInfo iorInfo = new IORAddressingInfo( 0, // profile index ior.getIOPIOR()); target.ior(iorInfo); } else { // invalid target addressing disposition value throw wrapper.illegalTargetAddressDisposition( CompletionStatus.COMPLETED_NO); } requestMessage = new RequestMessage_1_2(orb, request_id, response_flags, new byte[] { 0x00, 0x00, 0x00 }, target, operation, service_contexts); requestMessage.setEncodingVersion(encodingVersion); } if (gv.supportsIORIIOPProfileComponents()) { // add request partitioning thread pool to use info int poolToUse = 0; // default pool IIOPProfileTemplate temp = (IIOPProfileTemplate)profile.getTaggedProfileTemplate(); Iterator iter = temp.iteratorById(ORBConstants.TAG_REQUEST_PARTITIONING_ID); if (iter.hasNext()) { poolToUse = ((RequestPartitioningComponent)iter.next()).getRequestPartitioningId(); } if (poolToUse < ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID || poolToUse > ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID) { throw wrapper.invalidRequestPartitioningId(new Integer(poolToUse), new Integer(ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID), new Integer(ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID)); } requestMessage.setThreadPoolToUse(poolToUse); } return requestMessage; }
Example 16
Source File: MessageBase.java From JDKSourceCode1.8 with MIT License | 4 votes |
public static RequestMessage createRequest( ORB orb, GIOPVersion gv, byte encodingVersion, int request_id, boolean response_expected, IOR ior, short addrDisp, String operation, ServiceContexts service_contexts, Principal requesting_principal) { RequestMessage requestMessage = null; IIOPProfile profile = ior.getProfile(); if (addrDisp == KeyAddr.value) { // object key will be used for target addressing profile = ior.getProfile(); ObjectKey objKey = profile.getObjectKey(); byte[] object_key = objKey.getBytes(orb); requestMessage = createRequest(orb, gv, encodingVersion, request_id, response_expected, object_key, operation, service_contexts, requesting_principal); } else { if (!(gv.equals(GIOPVersion.V1_2))) { // only object_key based target addressing is allowed for // GIOP 1.0 & 1.1 throw wrapper.giopVersionError( CompletionStatus.COMPLETED_MAYBE); } // Note: Currently we use response_expected flag to decide if the // call is oneway or not. Ideally, it is possible to expect a // response on a oneway call too, but we do not support it now. byte response_flags = 0x03; if (response_expected) { response_flags = 0x03; } else { response_flags = 0x00; } TargetAddress target = new TargetAddress(); if (addrDisp == ProfileAddr.value) { // iop profile will be used profile = ior.getProfile(); target.profile(profile.getIOPProfile()); } else if (addrDisp == ReferenceAddr.value) { // ior will be used IORAddressingInfo iorInfo = new IORAddressingInfo( 0, // profile index ior.getIOPIOR()); target.ior(iorInfo); } else { // invalid target addressing disposition value throw wrapper.illegalTargetAddressDisposition( CompletionStatus.COMPLETED_NO); } requestMessage = new RequestMessage_1_2(orb, request_id, response_flags, new byte[] { 0x00, 0x00, 0x00 }, target, operation, service_contexts); requestMessage.setEncodingVersion(encodingVersion); } if (gv.supportsIORIIOPProfileComponents()) { // add request partitioning thread pool to use info int poolToUse = 0; // default pool IIOPProfileTemplate temp = (IIOPProfileTemplate)profile.getTaggedProfileTemplate(); Iterator iter = temp.iteratorById(ORBConstants.TAG_REQUEST_PARTITIONING_ID); if (iter.hasNext()) { poolToUse = ((RequestPartitioningComponent)iter.next()).getRequestPartitioningId(); } if (poolToUse < ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID || poolToUse > ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID) { throw wrapper.invalidRequestPartitioningId(new Integer(poolToUse), new Integer(ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID), new Integer(ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID)); } requestMessage.setThreadPoolToUse(poolToUse); } return requestMessage; }
Example 17
Source File: MessageBase.java From TencentKona-8 with GNU General Public License v2.0 | 4 votes |
public static RequestMessage createRequest( ORB orb, GIOPVersion gv, byte encodingVersion, int request_id, boolean response_expected, IOR ior, short addrDisp, String operation, ServiceContexts service_contexts, Principal requesting_principal) { RequestMessage requestMessage = null; IIOPProfile profile = ior.getProfile(); if (addrDisp == KeyAddr.value) { // object key will be used for target addressing profile = ior.getProfile(); ObjectKey objKey = profile.getObjectKey(); byte[] object_key = objKey.getBytes(orb); requestMessage = createRequest(orb, gv, encodingVersion, request_id, response_expected, object_key, operation, service_contexts, requesting_principal); } else { if (!(gv.equals(GIOPVersion.V1_2))) { // only object_key based target addressing is allowed for // GIOP 1.0 & 1.1 throw wrapper.giopVersionError( CompletionStatus.COMPLETED_MAYBE); } // Note: Currently we use response_expected flag to decide if the // call is oneway or not. Ideally, it is possible to expect a // response on a oneway call too, but we do not support it now. byte response_flags = 0x03; if (response_expected) { response_flags = 0x03; } else { response_flags = 0x00; } TargetAddress target = new TargetAddress(); if (addrDisp == ProfileAddr.value) { // iop profile will be used profile = ior.getProfile(); target.profile(profile.getIOPProfile()); } else if (addrDisp == ReferenceAddr.value) { // ior will be used IORAddressingInfo iorInfo = new IORAddressingInfo( 0, // profile index ior.getIOPIOR()); target.ior(iorInfo); } else { // invalid target addressing disposition value throw wrapper.illegalTargetAddressDisposition( CompletionStatus.COMPLETED_NO); } requestMessage = new RequestMessage_1_2(orb, request_id, response_flags, new byte[] { 0x00, 0x00, 0x00 }, target, operation, service_contexts); requestMessage.setEncodingVersion(encodingVersion); } if (gv.supportsIORIIOPProfileComponents()) { // add request partitioning thread pool to use info int poolToUse = 0; // default pool IIOPProfileTemplate temp = (IIOPProfileTemplate)profile.getTaggedProfileTemplate(); Iterator iter = temp.iteratorById(ORBConstants.TAG_REQUEST_PARTITIONING_ID); if (iter.hasNext()) { poolToUse = ((RequestPartitioningComponent)iter.next()).getRequestPartitioningId(); } if (poolToUse < ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID || poolToUse > ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID) { throw wrapper.invalidRequestPartitioningId(new Integer(poolToUse), new Integer(ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID), new Integer(ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID)); } requestMessage.setThreadPoolToUse(poolToUse); } return requestMessage; }
Example 18
Source File: MessageBase.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 4 votes |
public static RequestMessage createRequest( ORB orb, GIOPVersion gv, byte encodingVersion, int request_id, boolean response_expected, IOR ior, short addrDisp, String operation, ServiceContexts service_contexts, Principal requesting_principal) { RequestMessage requestMessage = null; IIOPProfile profile = ior.getProfile(); if (addrDisp == KeyAddr.value) { // object key will be used for target addressing profile = ior.getProfile(); ObjectKey objKey = profile.getObjectKey(); byte[] object_key = objKey.getBytes(orb); requestMessage = createRequest(orb, gv, encodingVersion, request_id, response_expected, object_key, operation, service_contexts, requesting_principal); } else { if (!(gv.equals(GIOPVersion.V1_2))) { // only object_key based target addressing is allowed for // GIOP 1.0 & 1.1 throw wrapper.giopVersionError( CompletionStatus.COMPLETED_MAYBE); } // Note: Currently we use response_expected flag to decide if the // call is oneway or not. Ideally, it is possible to expect a // response on a oneway call too, but we do not support it now. byte response_flags = 0x03; if (response_expected) { response_flags = 0x03; } else { response_flags = 0x00; } TargetAddress target = new TargetAddress(); if (addrDisp == ProfileAddr.value) { // iop profile will be used profile = ior.getProfile(); target.profile(profile.getIOPProfile()); } else if (addrDisp == ReferenceAddr.value) { // ior will be used IORAddressingInfo iorInfo = new IORAddressingInfo( 0, // profile index ior.getIOPIOR()); target.ior(iorInfo); } else { // invalid target addressing disposition value throw wrapper.illegalTargetAddressDisposition( CompletionStatus.COMPLETED_NO); } requestMessage = new RequestMessage_1_2(orb, request_id, response_flags, new byte[] { 0x00, 0x00, 0x00 }, target, operation, service_contexts); requestMessage.setEncodingVersion(encodingVersion); } if (gv.supportsIORIIOPProfileComponents()) { // add request partitioning thread pool to use info int poolToUse = 0; // default pool IIOPProfileTemplate temp = (IIOPProfileTemplate)profile.getTaggedProfileTemplate(); Iterator iter = temp.iteratorById(ORBConstants.TAG_REQUEST_PARTITIONING_ID); if (iter.hasNext()) { poolToUse = ((RequestPartitioningComponent)iter.next()).getRequestPartitioningId(); } if (poolToUse < ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID || poolToUse > ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID) { throw wrapper.invalidRequestPartitioningId(new Integer(poolToUse), new Integer(ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID), new Integer(ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID)); } requestMessage.setThreadPoolToUse(poolToUse); } return requestMessage; }
Example 19
Source File: MessageBase.java From openjdk-8 with GNU General Public License v2.0 | 4 votes |
public static RequestMessage createRequest( ORB orb, GIOPVersion gv, byte encodingVersion, int request_id, boolean response_expected, IOR ior, short addrDisp, String operation, ServiceContexts service_contexts, Principal requesting_principal) { RequestMessage requestMessage = null; IIOPProfile profile = ior.getProfile(); if (addrDisp == KeyAddr.value) { // object key will be used for target addressing profile = ior.getProfile(); ObjectKey objKey = profile.getObjectKey(); byte[] object_key = objKey.getBytes(orb); requestMessage = createRequest(orb, gv, encodingVersion, request_id, response_expected, object_key, operation, service_contexts, requesting_principal); } else { if (!(gv.equals(GIOPVersion.V1_2))) { // only object_key based target addressing is allowed for // GIOP 1.0 & 1.1 throw wrapper.giopVersionError( CompletionStatus.COMPLETED_MAYBE); } // Note: Currently we use response_expected flag to decide if the // call is oneway or not. Ideally, it is possible to expect a // response on a oneway call too, but we do not support it now. byte response_flags = 0x03; if (response_expected) { response_flags = 0x03; } else { response_flags = 0x00; } TargetAddress target = new TargetAddress(); if (addrDisp == ProfileAddr.value) { // iop profile will be used profile = ior.getProfile(); target.profile(profile.getIOPProfile()); } else if (addrDisp == ReferenceAddr.value) { // ior will be used IORAddressingInfo iorInfo = new IORAddressingInfo( 0, // profile index ior.getIOPIOR()); target.ior(iorInfo); } else { // invalid target addressing disposition value throw wrapper.illegalTargetAddressDisposition( CompletionStatus.COMPLETED_NO); } requestMessage = new RequestMessage_1_2(orb, request_id, response_flags, new byte[] { 0x00, 0x00, 0x00 }, target, operation, service_contexts); requestMessage.setEncodingVersion(encodingVersion); } if (gv.supportsIORIIOPProfileComponents()) { // add request partitioning thread pool to use info int poolToUse = 0; // default pool IIOPProfileTemplate temp = (IIOPProfileTemplate)profile.getTaggedProfileTemplate(); Iterator iter = temp.iteratorById(ORBConstants.TAG_REQUEST_PARTITIONING_ID); if (iter.hasNext()) { poolToUse = ((RequestPartitioningComponent)iter.next()).getRequestPartitioningId(); } if (poolToUse < ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID || poolToUse > ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID) { throw wrapper.invalidRequestPartitioningId(new Integer(poolToUse), new Integer(ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID), new Integer(ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID)); } requestMessage.setThreadPoolToUse(poolToUse); } return requestMessage; }
Example 20
Source File: MessageBase.java From jdk1.8-source-analysis with Apache License 2.0 | 4 votes |
public static RequestMessage createRequest( ORB orb, GIOPVersion gv, byte encodingVersion, int request_id, boolean response_expected, IOR ior, short addrDisp, String operation, ServiceContexts service_contexts, Principal requesting_principal) { RequestMessage requestMessage = null; IIOPProfile profile = ior.getProfile(); if (addrDisp == KeyAddr.value) { // object key will be used for target addressing profile = ior.getProfile(); ObjectKey objKey = profile.getObjectKey(); byte[] object_key = objKey.getBytes(orb); requestMessage = createRequest(orb, gv, encodingVersion, request_id, response_expected, object_key, operation, service_contexts, requesting_principal); } else { if (!(gv.equals(GIOPVersion.V1_2))) { // only object_key based target addressing is allowed for // GIOP 1.0 & 1.1 throw wrapper.giopVersionError( CompletionStatus.COMPLETED_MAYBE); } // Note: Currently we use response_expected flag to decide if the // call is oneway or not. Ideally, it is possible to expect a // response on a oneway call too, but we do not support it now. byte response_flags = 0x03; if (response_expected) { response_flags = 0x03; } else { response_flags = 0x00; } TargetAddress target = new TargetAddress(); if (addrDisp == ProfileAddr.value) { // iop profile will be used profile = ior.getProfile(); target.profile(profile.getIOPProfile()); } else if (addrDisp == ReferenceAddr.value) { // ior will be used IORAddressingInfo iorInfo = new IORAddressingInfo( 0, // profile index ior.getIOPIOR()); target.ior(iorInfo); } else { // invalid target addressing disposition value throw wrapper.illegalTargetAddressDisposition( CompletionStatus.COMPLETED_NO); } requestMessage = new RequestMessage_1_2(orb, request_id, response_flags, new byte[] { 0x00, 0x00, 0x00 }, target, operation, service_contexts); requestMessage.setEncodingVersion(encodingVersion); } if (gv.supportsIORIIOPProfileComponents()) { // add request partitioning thread pool to use info int poolToUse = 0; // default pool IIOPProfileTemplate temp = (IIOPProfileTemplate)profile.getTaggedProfileTemplate(); Iterator iter = temp.iteratorById(ORBConstants.TAG_REQUEST_PARTITIONING_ID); if (iter.hasNext()) { poolToUse = ((RequestPartitioningComponent)iter.next()).getRequestPartitioningId(); } if (poolToUse < ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID || poolToUse > ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID) { throw wrapper.invalidRequestPartitioningId(new Integer(poolToUse), new Integer(ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID), new Integer(ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID)); } requestMessage.setThreadPoolToUse(poolToUse); } return requestMessage; }