Generics Addition Operator
Dear All,
Please have a look at following simple code:
public class Test<T> {
T member;
public T getMember() {
return member;
public void setMember(T member) {
this.member = member;
Test<T> add(Test<T> t)
What code should i put inside add function so that i can return a new Test object which is having member which is addition of "t" and "this" ?
Is this possible?
Thanks in advance.
Regards,
Sameer
For example, if i want to do Matrix addition, for following class:
public class Matrix<T> {
private int rows;
private int columns;
private T elements[][];
public int getRows() {
return rows;
public void setRows(int rows) {
this.rows = rows;
public int getColumns() {
return columns;
public void setColumns(int columns) {
this.columns = columns;
public T[][] getElements() {
return elements;
public void setElements(T[][] elements) {
this.elements = elements;
public Matrix<T> add(Matrix<T> m) throws MatrixException {
int r=m.getRows();
int c=m.getColumns();
Matrix<T> tempM = null;
if (r !=rows || c != columns)
throw new MatrixException("Matrix addition is not possible");
else
for (int i=1 ; i<=getRows(); i++)
for(int j=1;j<=getColumns();j++)
tempM.elements[i][j] = m.getElements()[j] + elements[i][j];
return tempM;
How should i code add function?
Similar Messages
-
Installing new license in CUEAC to add additional operator
I have installed a new license in CUEAC to add an additional operator but still only one operator shows up in operator management. Is there something that has to be done after uploading the license to show the second operator?
Thanks,
BillHey Bill,
Good stuff my friend
Cheers!
Rob -
Math Addition Operator Question
Hi there,
I'm trying to write a very simple math equation:
var gal_width = 100;
var m_box_pos = 2000;
var total = (gal_width+m_box_pos);
When I display this in a text element, the numbers are shown together rather than being added together
(eg: 1002000)
I get the feeling Edge is interpreting the + as a string operator rather than a math operator.
Replacing the + with a - (as a test), the 2 numbers are being subtracted.
Multiplying the numbers with the * operator also works as it should.
I've tried many configerations, escaping the operator with no luck.
Any ideas of how to get addition to work?
ThanksHi 29sketc.
console.log( sym.$("text_111").text());
// logs : 111
console.log(typeof sym.$("text_111").text());
// logs : string
var number_222 = 222;
console.log(typeof number_222);
// logs : number
console.log( sym.$("text_111").text() +number_222);
// logs : 111222
text() has produced a String so + is interpreted here as string concatenation.
var number_111 = 111;
console.log(typeof number_111);
// logs : number
console.log(number_111 +number_222);
// logs : 333
When you have two Number variables + is interpreted as addition.
Gil -
Lost Genuine windows 7 home addition operating system; how can recover?
I was traveling abroad when my Windows 7 Home addition stopped working. I got installed Windows 7 (but not a genuine version) in drive C. How can I recover my original windoes 7 home addition? there is recovery disk and image files on my computer???
Yes, information of my computer is: HP Pavilion dv4-4141us Entertainment Notebook PC
Serial Number: [Personal Information Removed]
Product Number: QE010UA ; computer has a Recovey Drive with data about 18GB. And I have WindowsImagebackup folder saved on external storage device as well. I'll try the method you mentioned now. If not successful will get help from from IT people in my office as I am not expert on these things. Iater I'll get back to report if it worked or not! thanks for help Sir. -
Best way to restrict data (per consumer-based) in a generic data service
Hi again!
In our project, we have a big database and our data services expose data from them. So far, so good.
However, because of the company's security business process, any consumer needs to approve all the fields they want to use before consuming the data services and also the scope of the query, and not all consumers have the same permissions.
For example, suppose we have a big table called EMPLOYEES with the following fields (please note that in this fake"table" I am not considering joins and FK's, for the sake of simplicity):
h3. EMPLOYEES (XML schema element employee)
ID (not mapped in XML schema)
NAME (element name)
LOGIN (element login)
SUBSIDIARY (element subsidiary)
DEPARTMENT (element department)
JOB (element job)
SALARY (element salary)
ADDRESS (element address)
SOCIAL_SECURITY_NUMBER (element socialSecNumber)
Suppose we have a generic public operation called getEmployeeByLogin($login as xs:string), published in the corporative oracle service bus, that retrieve an employee. Any and every consumer must have their own bus login/password and, based in it, we configure ODSI which elements each consumer will get in the response. So:
. . . . Consumer1: restricted to see only elements name, login, department, subsidiary
. . . . Consumer2: restricted to see only elements name, login, department, job, subsidiary
And so on. Again, so far, so good.
Our problem: some consumers are allowed to see elements from a specific subsidiary and/or department. Example:
. . . . Consumer3: restricted to see only elements name, login, department, job, salary ONLY FROM subsidiary "ABC" and department "dept 2"
. . . . Consumer4: restricted to see only elements name, login, department, job ONLY FROM subsidiaries "ABC", "DEF", "GHI"
. . . . Consumer5: restricted to see only elements name, login, department, job, salary ONLY FROM subsidiary "MNO", departments "dept 11", "dept 12"
What would be the best way to attend to these restrictions while using the most generic and reusable solution?
One answer would be create an operation for each consumer, but I don't want to use this approach unless I have no other alternative.
I was thinking in creating an abstract level of operations to apply business rules, but I do not know if this is possible or if it is the best solution, because this is kind of hardcoding the solution. Example of this solution:
. . . . Generic public operation: getEmployeeByLogin($login as xs:string)
. . . . Specific public operation: getEmployeeByLogin_Consumer3($login as xs:string)
. . . . Specific public operation: getEmployeeByLogin_Consumer4($login as xs:string)
. . . . Specific public operation: getEmployeeByLogin_Consumer5($login as xs:string)
. . . . All public operations above would call the generic private operation: getEmployeeByLogin($login as xs:string, $restrictions as xs:string?):
. . . . getEmployeeByLogin would call this private operation, passing $restrictions as null.
. . . . getEmployeeByLogin_Consumer3 would call this private operation, passing $restrictions to read only data from subsidiary "ABC" and department "dept 2".
. . . . getEmployeeByLogin_Consumer4 would call this private operation, passing $restrictions to read only data from subsidiaries "ABC", "DEF", "GHI".
. . . . getEmployeeByLogin_Consumer5 would call this private operation, passing $restrictions to read only data from subsidiary "MNO", departments "dept 11", "dept 12"
What do you think about this scenario? Any idea will be highly appreciated!
Thank you very much!Hi again.
I am having some difficult trying to build my own XQuery Functions for Security.
Hitherto, I learnt how to grant permission based in username. Now, I need to implement conditions, like "if username = 'abc', do not show results from department XPTO" and so on, but I am getting erros when I try to reference my xml schema inside the XQuery Functions for Security.
Could you please tell me where can I get the source project used in the documentation example? I think I can try to find my way if I can study the entire source project. Page 7 of the link you sent me:
import schema namespace t1 = 'ld:DataServices/CUSTOMER_ORDER' at 'ld:DataServices/Schema/CUSTOMER_ORDER.xsd';
declare namespace f1 = "ld:CUSTOMER_ORDER";
declare function f1:secureOrders($order as element(f1:CUSTOMER_ORDER)) as xs:boolean {
if (fn-bea:is-access-allowed("CUSTOMER_ORDER/LimitAccess", "ld:CUSTOMER_ORDER.ds")) then
fn:true()
else if ($order/TotalOrderAmount lt (fn-bea:get-property("total_order_amount", "1000000") cast as xs:decimal)) then
fn:true()
else
fn:false()
Thank you again! -
ADF datacontrol Commit operation - commitng only few tables
Hello Everyone,
This is my requirement.
The application has several View-objects each derived from a corresponding single EO/DB TABLE. I mean that there are no joins in the view object query and just one VO-EO/table relationship.In the transaction I'm just INSERTING rows into several view objects.
All I need is that At the final commit operation, only the few tables should get committed at the DB level and not all the tables.Is there a way to do this and I know that I cannot use the generic COMMIT operation at the data control as it commits rows into all the tables.
Any help is appreciated.
Thankyou,
SriHaving view objects that are to commited & not commited in separate AM as suggested by John is the solution.
But how about this,
in beforeCommit() method, get handle to the View objects that are not to be commited and get their associated entities and set the row state to "Initialized".
Setting the row state to "Initialized" would
You can use the setNewRowState() method to mark the entity as being Initialized, which removes it from the transaction's list of pending changesCheck for same documentation in ADF Developer's guide:
http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcvalidation.htm#sthref721
Thanks,
Navaneeth -
RFE Proposal Set Operations - RFC
Greetings, this is a proposal for a Request for Enhancement in the JDK. It
is posted here for the review and comment. Basically an RFC on a RFE. =)
Please indicate your comments on the matter.
The proposal is to have a set of operations for perfomring Non-destructive
mathematical set operations on collections. Additionally, the addition of
set operations to rename the old operations int java.util.Collection
interface to names that are mathematically accurate; so that
removeAll(Collection c) would have an alias of difference(Collection c) and
retainAll(Collection c) would have a alias of intersection(Collection c).
The following methods would be added to the java.util.Collections class.
* Performs the non-descturctive union of two collections.
* The resulting collection is the union of the two collections with no
duplicates.
* @author Robert Simmons Jr.
* @param a The first collection of objects.
* @param b The second collection of objects.
* @return The collection wise union of and b.
public final static Collection collectionUnion(final Collection a, final
Collection b) {
Collection results = new HashSet(a);
Iterator iter = b.iterator();
while (iter.hasNext())
results.add(iter.next());
return results;
* Performs the intersection of two collections.
* The resulting collection is the intersection of the two collections with
no duplicates.
* @author Robert Simmons Jr.
* @param a The first collection of objects.
* @param b The second collection of objects.
* @return The collection wise intersection of a and b.
public final static Collection collectionIntersection(final Collection a,
final Collection b) {
Collection results = new HashSet();
Iterator iter = a.iterator();
Object element = null;
while (iter.hasNext()) {
element = iter.next();
if (b.contains(element)) results.add(element);
return results;
* Performs the difference of two collections.
* Removes all elements from a that appear in b.
* @author Robert Simmons Jr.
* @param a The first collection of objects.
* @param b The second collection of objects.
* @return The collection wise difference of b elements removed from a.
public final static Collection collectionDifference(final Collection a,
final Collection b) {
Collection results = new HashSet(a);
Iterator iter = b.iterator();
while (iter.hasNext())
results.remove(iter.next());
return results;
* Performs the XOR union of two collections.
* The resulting collection is the union of the two collections with objects
that appear in
* a and b left out.
* @author Robert Simmons Jr.
* @param a The first collection of objects.
* @param b The second collection of objects.
* @return The collection wise union of a and b excluding any objects that
appear in both a and b.
public final static Collection collectionXORUnion(final Collection a, final
Collection b) {
Collection results = new HashSet(a);
Iterator iter = b.iterator();
Object element = null;
while (iter.hasNext()) {
element = iter.next();
if (!(b.contains(element))) results.add(element);
return results;
* Performs the union of two maps.
* The resulting map is the union of the two maps with no duplicates.
* When working with set operations on a map, the set is assumed to be the
key set. For
* this reason, if both sets have the same key but different values then the
value from
* set b will beused as the value.
* @author Robert Simmons Jr.
* @param a The first map of objects.
* @param b The second map of objects.
* @return The map wise union of and b.
public final static Map mapUnion(final Map a, final Map b) {
Map results = new HashMap(a);
Iterator iter = b.keySet().iterator();
Object key = null;
while (iter.hasNext()) {
key = iter.next();
results.put(key, b.get(key));
return results;
* Performs the intersection of two maps.
* The resulting map is the intersection of the two maps with no duplicates.
* When working with set operations on a map, the set is assumed to be the
key set. For
* this reason, if both sets have the same key but different values then the
value from
* set b will beused as the value.
* @author Robert Simmons Jr.
* @param a The first map of objects.
* @param b The second map of objects.
* @return The map wise intersection of a and b.
public final static Map mapIntersection(final Map a, final Map b) {
Map results = new HashMap();
Iterator iter = a.keySet().iterator();
Set bKeys = b.keySet();
Object key = null;
while (iter.hasNext()) {
key = iter.next();
if (bKeys.contains(key)) results.put(key, b.get(key));
return results;
* Performs the difference of two maps.
* Removes all elements from a that appear in b.
* In this case, the set is determined to be the set of keys. The set of
keys from
* b will be used to remove keys from a.
* @author Robert Simmons Jr.
* @param a The first map of objects.
* @param b The second map of objects.
* @return The map wise difference of b elements removed from a.
public final static Map mapDifference(final Map a, final Map b) {
Map results = new HashMap(a);
Iterator iter = b.keySet().iterator();
while (iter.hasNext())
results.remove(iter.next());
return results;
* Performs the XOR union of two maps.
* The resulting map is the union of the two maps with objects that appear
in
* a and b left out.
* When working with set operations on a map, the set is assumed to be the
key set. For
* this reason, if both sets have the same key but different values then the
value from
* set b will beused as the value.
* @author Robert Simmons Jr.
* @param a The first map of objects.
* @param b The second map of objects.
* @return The map wise union of a and b excluding any objects that appear
in both a and b.
public final static Map mapXORUnion(final Map a, final Map b) {
Map results = new HashMap();
Iterator iter = a.keySet().iterator();
Set bKeys = b.keySet();
Object key = null;
while (iter.hasNext()) {
key = iter.next();
if (!(bKeys.contains(key))) results.put(key, b.get(key));
return results;
}Transcript of mail session with Sun java developer after bug submission:
Hi Robert Simmons Jr.,
Thank you for the feedback.
The method names in java.util.Set conform to the parent interface,
java.util.Collection. As for the destruction situation, returning a new set
also would involve creating and populating a new set.
If you would like to pursue this Request for Feature Enhancement (RFE)
further,
I would suggest that you first post this idea to a newsgroup and request
comment from other Java developers. The issues that we have discussed are a
good starting point.
You can view a list of Java newsgroups at:
http://java.sun.com/aboutJava/newsgroups.html
Based on the responses, please feel free to submit a new RFE containing a
link to the newsgroup. Thank you for your time.
Regards,
Jonathan
"Simmons, Robert" wrote:
>
I understand your reply now. However I put it to you that the names ofthese
operations are HORRIBLY named. They should be named according to the
mathematical operations. Further, they are destructive to the set being
checked and I dont want that. The set operations should give me back a set
and not destroy the current set. If they destroy the current set then Ihave
to spend time copying the thing before I run the set operation which is
truly not performant. Do an intersection of 400,000 elements with anotherfo
300,000 elements and you have to first copy one and then the retain all
method has to iterate through the entire set. This is very bad logic. Inthe
code I gave you, you have to only iterate through the set and not copy it.>
----------------- Original Bug Report-------------------
category : java
release : 1.4
subcategory : classes_util
type : rfe
synopsis : java.util.Collections Class Should Implement Logical Set
Operations
description : FULL PRODUCT VERSION :
This issue is pertinent to all java versions including the new 1.4 version.
FULL OPERATING SYSTEM VERSION : Occurs in all operating
Systems.
ADDITIONAL OPERATING SYSTEMS : NA
A DESCRIPTION OF THE PROBLEM :
The java.util.Collections class is a class that is used to
manipulate sets and change them into various forms. Missing
from this is a feature that would define set operations,
such as Union, Intersection, and so on on the sets. This
would be extremely beneficial. I have written an extension
to this class that does just that and would like to submit
it for donation. All I ask is that the javadoc tag naming
me as author be retained.
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
<!-- snip source .. see above -->
---------- END SOURCE ----------
CUSTOMER WORKAROUND :
Writing your own classes to do this, however it is so basic
that it should be in there.
workaround :
suggested_val :
cust_name : Robert Simmons Jr.
cust_email : [email protected]
jdcid : Derisor (old one was gnuish)
keyword : webbug
company : Ingeniums Pharmaceuticals AG
hardware : x86
OSversion : Linux
bugtraqID : 0
dateCreated : 2002-03-11 13:31:18.3
dateEvaluated : 2002-04-11 18:08:17.247
Robert Simmons Jr.
Senior Software Engineer
Ingenium Pharmaceuticals, Munich Germany.
Robert Simmons Jr.
Senior Software Engineer
Ingenium Pharmaceuticals, Munich Germany.
Robert Simmons Jr.
Senior Software Engineer
Ingenium Pharmaceuticals, Munich Germany.Additional Bump. Seeking comments.
-
Optional operations on extended data type
Hello everyone,
I am currently working on a project where I have to read data from either a database or a file and depending on how much information is available different statistics will be computed.
Currently I have two data types MyRecord and ExtendedMyRecord which are both interfaces and provide getter methods to retrieve the data. ExtendedMyRecord extends MyRecord. For both interfaces there is a default implementation.
The first thing the application does is it loads records from the database - whcih in most cases are MyRecord objects. Afterwards statistics are calculated for the whole set of records.
In case all records are of type ExtendedMyRecord additional operations may be performed.
However what got me thinking is that MyRecord currently has three fields and ExtendedMyRecord has 6 fields. In the current architecture I have to create new classes and interfaces in case I ever have to extend the number of fields in the database (or I would have to change one of the interfaces and put the additional fields there and change all code using them).
Does it make more sense to provide a boolean operation isAvailable() which can be used to determine whether a particular field was available for a certain record or is the design I currently use - where I check using instanceof - the better approach?
Any ideas?
Kind Regards,
snowbirdThe first thing the application does is it loads
records from the database - whcih in most cases are
MyRecord objects. Afterwards statistics are
calculated for the whole set of records.
In case all records are of type ExtendedMyRecord
additional operations may be performed.That description doesn't sound good to me.
Database operations require three things
1. Functionality to access the database.
2. Data specific to the database (like a connection)
3. Data specific to the application (like a customer name which might be stored in a record in the database.)
Your description sounds like you are mixing 1 and 3 (and perhaps throwing 2 in as well.)
That is always wrong. Because only the database layer should have 1 and 2. 3 is entirely seperate from 1 and 2 and should be kept that way.
Keeping it seperate leads to the following type of structures....
- Customer, has the name, account, etc.
- CustomerCollection, contains a list of Customer.
- CustomerDao, this takes a Customer and stores it, updates it, etc. It also has queries that creates CustomerCollection.
There are variations on the above where there might be more classes for each of the above. But in all cases Customer is never a "record".
In Java Blueprints, the Customer record about would be a Transfer Object (or Data Transfer Object) and CustomerDao would be a Data Access Object. -
Hashed table -- Operations on it.
Hi,
tell me any one way of inserting data in to hashed table,
and operations possible on the hashed table.Hi Kranthi,
You can only access a hashed table using the generic key operations or other generic operations (SORT, LOOP, and so on). Explicit or implicit index operations (such as LOOP ... FROM to INSERT itab within a LOOP) are not allowed."
Hashed table is useful when your have to work with very big internal table and to read it with
"READ TABLE WITH KEY ..."
And,
http://If its possible to declare a standard table with same type as hashed table.
Move your data to a standard table with the same Type as your dynamic hashed table.
tb_stand] = tb_hash[.
And access the records of the standard table.
kindly reward if found helpful.
cheers,
Hema. -
Need to perform both Queue and stack operations in Visual C# code
Need to perform both Queue and stack operations, is any Data Structure available for this. or how can i custom create the structure for this?
Hi,
In this structure contains base logics of Queue and Stack. Well stack plays major role here with operations of PUSH, POP with additional operation of Queue i.e., ENQUEUE and DEQUEUE. Here the stack has enqueue and dequeue
https://code.msdn.microsoft.com/The-Stacked-Queues-An-11f3703a
Regards,
Selva Ganapathy K -
CSA on Other Operating Systems
When does Cisco plan to have a CSA client for other operating systems like SuSe 10 desktop and OES server?
Also, when will they have a client for 64-bit windows architecture? (64-bit may only seem like the buzz word of the moment, but with all future [Microsoft/Novell/SUN/Linux]Server technology coming out 64-bit it makes me nervous when in my environment is mandated to have CSA on all machines including Servers.)
Does Cisco have a client in development for additional operating systems?There are QFS drivers for linux client support, not sure about windows.
-
how to add another operation in a mediator in design....not in source
Edited by: 929451 on Apr 22, 2012 11:59 PMWell, if your mediator is based on a wsdl than all you have to do is to add the said operation in your wsdl and then Save All. Hit refresh. And you should see the additional operation created in your mediator at design time.
Hope this helps. -
Hi
I just started learning Essbase, Apologies if my question is not straight forward.
How to set consolidation operators using rules file instead of doing through member properties.
Thanks in advancenot a silly question but one that has been asked many times. Yes you can build the properties in a dimension build rules file. In your source you would have the property set and reference the column in the rule following the item it refers to. For example suppose you have the following
Net Income +
----Sales +
----Expenses -
and in yout load file you have
Accounts,Net Income,Sales,+
Accounts,Net Income,Expenses,-
The first column would be set to gen 2, Accounts, the second column to gen 3, accounts, the fourth to Gen4,Accounts and the fifth to Property 4, Accounts
In the database administrators guide (DBAG) look at Setting Member Consolidation
Setting Member Consolidation
Member consolidation properties, which are listed in Table 16, Consolidation Operators, determine how children roll up into their parents. By default, new members are given the addition (+) operator, meaning that members are added. For example, Jan, Feb, and Mar figures are added and the result stored in their parent, Qtr1.
Note:
Essbase does not use consolidation properties with members of attribute dimensions. See Calculating Attribute Data.
Table 16. Consolidation Operators
Operator
Description
+
Adds the member to the result of previous calculations performed on other members. + is the default operator.
Multiplies the member by –1 and adds it to the sum of previous calculations performed on other members.
Multiplies the member by the result of previous calculations performed on other members.
Divides the member into the result of previous calculations performed on other members.
Divides the member into the sum of previous calculations performed on other members. The result is multiplied by 100 to yield a percentage value.
~
Does not use the member in the consolidation to its parent.
^ -
Can't switch operation mode after backup offline
Hello:
Every sunday system stop at 9:30 a.m to backup offline at 16:00p.m
System start at 23:00 p.m.
Operation mode
Day : 7:00 a.m 22:00 p.m
Night 22:00 p.m 7:00 a.m
This monday dont switch operation mode night to day and disp+work get
busy .
Nobody could access the system until it is manually reset.
Can anybody help us?
Regards.You have following options.
1 .try to adjust the operation mode as example given below.
Add an additional operation mode Except for the duration of backup .
Example:
7:00 a.m. - 7:00 p.m. DAY (normal operation mode)
7:00 p.m. - 7:00 a.m. NIGHT (normal operation mode)
3:00 a.m. - 4:00 a.m. EXCEPT (Backup operation mode)
4:00 a.m. - 7:00 a.m. NIGHT (exception operation mode)
2.See if you get and error message in sm21 after offline backup.
3.delete the operation mode and create new .
4.try to change the timings of day and night operation mode.
what is your OS and DB and Rel?
hope it helps.
Amit -
Rework activities in operation level in routing
HI SAP GURUS,
As per blue print rework is to be treated as a additional operation in the routings, where ever required. In shop floor control activities client requires for a check for rework activity in each operation level , they have 21 operations. Please clarify is it really viable to go for a rework check in each operation level, how I can set the rework operation in routing.?
thanks,Hi
Yow can follow the below procedure to create a rework order and Assign it to the trigger point
1.) Create Reference Operation Set ( T.code ca11)
2.) Create Standard Trigger Point (T.Code co31)
Enter the Trigger Point usage /Group as FERT.
Tick the Trigger Point Functions.
3.) Enable the indicator creates order with Reference.
4.) Enter the system status as PCNF.
5.) Enter change as +.
6.) Enable the indicator once.
7.) Now place the cursor on the create order with reference.
8.) Goto Parameters.
9.) In the Parameter enter in the group the created Reference op set group no.
Reward points if usefull
Regards
Palaniappan
Maybe you are looking for
-
I have emailed a itunes support guy named noel ask a question about buying add-on content. . I was stupid enough to go to a link off the internet to the apple website not knowing if i could been fake. so later on that day the guy replied back with,
-
I need information on a Tiger "product".
Hello, Could anyone give me a clue as to a part number for a Mac OS Tiger installation product. It seems it is to an original backup/restore disc. The part number is 2Z691-5967-A. Is this for an Intel Mac? If so, which one? Thank you very much for an
-
Excessive lag in VI on Mac, but not Windows
I have created a VI that accepts user input to collect, save, and open voltage waveforms from a DAQmx board. It is a while loop and a state machine with a lot of information in it so I understand that efficiency might be an issue. This lag only exist
-
I am using the portal forms and reports in the locally built providers and
need to find a way to use a dynamic LOV for select and then submit retrieve the data in a report. Anu help would be greatly appreciated.
-
Hi, I have a customer that has an object type A stored in repository R1 containing a reference to an object type B stored in repository R2. They complain about receiving errors in version 9.4 if repositories R1 and R2 reside in different physical dat