Revert "GP-1438 - Added an equals method to SourceArchives so clients do not need to get the universal id"

This reverts commit c8003ecc5a.
This commit is contained in:
ghidra1 2021-11-10 11:10:18 -05:00
parent 040a431bc5
commit d9788c0094
3 changed files with 11 additions and 85 deletions

View file

@ -22,9 +22,9 @@ public class BuiltInSourceArchive implements SourceArchive {
public static final SourceArchive INSTANCE = new BuiltInSourceArchive();
private BuiltInSourceArchive() {
// not public
}
@Override
public ArchiveType getArchiveType() {
return ArchiveType.BUILT_IN;
@ -58,27 +58,19 @@ public class BuiltInSourceArchive implements SourceArchive {
public boolean isDirty() {
return false;
}
@Override
public void setDirtyFlag(boolean b) {
// unsupported
public void setDirtyFlag( boolean b ) {
}
@Override
public void setLastSyncTime(long time) {
// unsupported
public void setLastSyncTime( long time ) {
}
@Override
public void setName(String name) {
// unsupported
public void setName( String name ) {
}
public void setPathname(String name) {
// unsupported
public void setPathname( String name ) {
}
// We do not need to override equals since there is only one instance of the this class in use.
// The loaded instance will only be equal to itself.
// public boolean equals()
}

View file

@ -16,7 +16,6 @@
package ghidra.program.database.data;
import java.io.IOException;
import java.util.Objects;
import db.DBRecord;
import ghidra.program.database.DBObjectCache;
@ -47,13 +46,12 @@ public class SourceArchiveDB extends DatabaseObject implements SourceArchive {
* Gets the ID that the program has associated with the data type archive.
* @return the data type archive ID
*/
@Override
public UniversalID getSourceArchiveID() {
if (isLocal()) {
// if this sourceArchive represents the local archive (id == LOCAL_ARCHIVE_KEY)
// the sourceArchiveID is this dataTypeManager's universal ID;
UniversalID universalID = dtMgr.getUniversalID();
// if the universalID == null, this is from an non-upgraded archive, return the sourceID
// if the universalID == null, then this is from an non-upgraded archve, return the sourceID
if (universalID != null) {
return universalID;
}
@ -69,7 +67,6 @@ public class SourceArchiveDB extends DatabaseObject implements SourceArchive {
* Gets the ID used to uniquely identify the domain file for the data type archive.
* @return the domain file identifier
*/
@Override
public String getDomainFileID() {
if (isLocal()) {
return dtMgr.getDomainFileID();
@ -82,7 +79,6 @@ public class SourceArchiveDB extends DatabaseObject implements SourceArchive {
* (PROGRAM_TYPE, PROJECT_TYPE, FILE_TYPE)
* @return the type
*/
@Override
public ArchiveType getArchiveType() {
if (isLocal()) {
return dtMgr.getType();
@ -91,7 +87,6 @@ public class SourceArchiveDB extends DatabaseObject implements SourceArchive {
return ArchiveType.values()[byteValue];
}
@Override
public String getName() {
if (isLocal()) {
return dtMgr.getName();
@ -114,17 +109,14 @@ public class SourceArchiveDB extends DatabaseObject implements SourceArchive {
return false;
}
@Override
public long getLastSyncTime() {
return record.getLongValue(SourceArchiveAdapter.ARCHIVE_ID_LAST_SYNC_TIME_COL);
}
@Override
public boolean isDirty() {
return record.getBooleanValue(SourceArchiveAdapter.ARCHIVE_ID_DIRTY_FLAG_COL);
}
@Override
public void setLastSyncTime(long syncTime) {
lock.acquire();
try {
@ -141,7 +133,6 @@ public class SourceArchiveDB extends DatabaseObject implements SourceArchive {
}
}
@Override
public void setDirtyFlag(boolean isDirty) {
lock.acquire();
try {
@ -158,7 +149,6 @@ public class SourceArchiveDB extends DatabaseObject implements SourceArchive {
}
}
@Override
public void setName(String newName) {
if (getName().equals(newName)) {
return;
@ -182,27 +172,4 @@ public class SourceArchiveDB extends DatabaseObject implements SourceArchive {
public String toString() {
return getName();
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((sourceID == null) ? 0 : sourceID.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
SourceArchiveDB other = (SourceArchiveDB) obj;
return Objects.equals(sourceID, other.sourceID);
}
}

View file

@ -15,7 +15,8 @@
*/
package ghidra.program.database.data;
import java.util.*;
import java.util.HashMap;
import java.util.Map;
import ghidra.program.model.data.*;
import ghidra.program.model.lang.CompilerSpec;
@ -47,13 +48,13 @@ public class SourceArchiveUpgradeMap {
new SourceArchiveImpl(NEW_DEFAULT_CLIB_ARCHIVE_ID, NEW_DEFAULT_CLIB_ARCHIVE_NAME);
// create mapping for WINDOWS
windowsMap = new HashMap<>();
windowsMap = new HashMap<UniversalID, SourceArchive>();
windowsMap.put(new UniversalID(OLD_CLIB_ARCHIVE_ID), newWindowsArchive);
windowsMap.put(new UniversalID(OLD_WINDOWS_ARCHIVE_ID), newWindowsArchive);
windowsMap.put(new UniversalID(OLD_NTDDK_ARCHIVE_ID), newWindowsArchive);
// create defaultMap
defaultMap = new HashMap<>();
defaultMap = new HashMap<UniversalID, SourceArchive>();
defaultMap.put(new UniversalID(OLD_CLIB_ARCHIVE_ID), newDefaultClibArchive);
SourceArchive removedSourceArchive = new SourceArchiveImpl();
defaultMap.put(new UniversalID(OLD_WINDOWS_ARCHIVE_ID), removedSourceArchive);
@ -106,71 +107,37 @@ class SourceArchiveImpl implements SourceArchive {
archiveName = "";
}
@Override
public ArchiveType getArchiveType() {
return ArchiveType.FILE;
}
@Override
public String getDomainFileID() {
return null;
}
@Override
public long getLastSyncTime() {
return 0;
}
@Override
public String getName() {
return archiveName;
}
@Override
public UniversalID getSourceArchiveID() {
return id;
}
@Override
public boolean isDirty() {
return false;
}
@Override
public void setDirtyFlag(boolean dirty) {
// stub
}
@Override
public void setLastSyncTime(long time) {
// stub
}
@Override
public void setName(String name) {
// stub
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
SourceArchiveImpl other = (SourceArchiveImpl) obj;
return Objects.equals(id, other.id);
}
}