mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-17 02:07:42 +00:00
Merge pull request #2868 from dgrove727/2741_3rdPartModuleTracking
Fixed broken RegEx for class name normalization.
This commit is contained in:
commit
b3b69b99fa
@ -1,14 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
* To change this license header, choose License Headers in Project Properties.
|
* Autopsy Forensic Browser
|
||||||
* To change this template file, choose Tools | Templates
|
*
|
||||||
* and open the template in the editor.
|
* Copyright 2016-2017 Basis Technology Corp.
|
||||||
|
* Contact: carrier <at> sleuthkit <dot> org
|
||||||
|
*
|
||||||
|
* 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.sleuthkit.autopsy.ingest;
|
package org.sleuthkit.autopsy.ingest;
|
||||||
|
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to strip python ids on factory class names.
|
* Used to strip Python IDs on factory class names.
|
||||||
*/
|
*/
|
||||||
class FactoryClassNameNormalizer {
|
class FactoryClassNameNormalizer {
|
||||||
|
|
||||||
@ -17,16 +30,18 @@ class FactoryClassNameNormalizer {
|
|||||||
|
|
||||||
static String normalize(String canonicalClassName) {
|
static String normalize(String canonicalClassName) {
|
||||||
if (isPythonModuleSettingsFile(canonicalClassName)) {
|
if (isPythonModuleSettingsFile(canonicalClassName)) {
|
||||||
// compiled python modules have variable instance number as a part of their file name.
|
// Compiled Python modules have variable instance number as a part
|
||||||
// This block of code gets rid of that variable instance number and helps maitains constant module name over multiple runs.
|
// of their file name. This block of code gets rid of that variable
|
||||||
String moduleClassName = canonicalClassName.replaceAll("[$][\\d]", ""); //NON-NLS NON-NLS
|
// instance number and helps maitains constant module name over
|
||||||
|
// multiple runs.
|
||||||
|
String moduleClassName = canonicalClassName.replaceAll("\\d*$", ""); //NON-NLS NON-NLS
|
||||||
return moduleClassName;
|
return moduleClassName;
|
||||||
}
|
}
|
||||||
return canonicalClassName;
|
return canonicalClassName;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines if the moduleSettingsFilePath is that of a serialized jython
|
* Determines if the moduleSettingsFilePath is that of a serialized Jython
|
||||||
* instance. Serialized Jython instances (settings saved on the disk)
|
* instance. Serialized Jython instances (settings saved on the disk)
|
||||||
* contain "org.python.proxies." in their fileName based on the current
|
* contain "org.python.proxies." in their fileName based on the current
|
||||||
* implementation.
|
* implementation.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user