*/
package jalview.project;
+import java.util.Locale;
+
import static jalview.math.RotatableMatrix.Axis.X;
import static jalview.math.RotatableMatrix.Axis.Y;
import static jalview.math.RotatableMatrix.Axis.Z;
import java.awt.Rectangle;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
-import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import jalview.structure.StructureSelectionManager;
import jalview.structures.models.AAStructureBindingModel;
import jalview.util.Format;
+import jalview.util.HttpUtils;
import jalview.util.MessageManager;
import jalview.util.Platform;
import jalview.util.StringUtils;
// create backupfiles object and get new temp filename destination
boolean doBackup = BackupFiles.getEnabled();
BackupFiles backupfiles = doBackup ? new BackupFiles(jarFile) : null;
- FileOutputStream fos = new FileOutputStream(doBackup ?
- backupfiles.getTempFilePath() : jarFile);
+ FileOutputStream fos = new FileOutputStream(
+ doBackup ? backupfiles.getTempFilePath() : jarFile);
JarOutputStream jout = new JarOutputStream(fos);
List<AlignFrame> frames = new ArrayList<>();
else
{
vamsasSeq = createVamsasSequence(id, jds);
-// vamsasSet.addSequence(vamsasSeq);
+ // vamsasSet.addSequence(vamsasSeq);
vamsasSet.getSequence().add(vamsasSeq);
vamsasSetIds.put(id, vamsasSeq);
seqRefIds.put(id, jds);
if (frames[f] instanceof StructureViewerBase)
{
StructureViewerBase viewFrame = (StructureViewerBase) frames[f];
- matchedFile = saveStructureState(ap, jds, pdb, entry, viewIds,
- matchedFile, viewFrame);
+ matchedFile = saveStructureViewer(ap, jds, pdb, entry,
+ viewIds, matchedFile, viewFrame);
/*
* Only store each structure viewer's state once in the project
* jar. First time through only (storeDS==false)
*/
String viewId = viewFrame.getViewId();
+ String viewerType = viewFrame.getViewerType().toString();
if (!storeDS && !viewIds.contains(viewId))
{
viewIds.add(viewId);
if (viewerState != null)
{
copyFileToJar(jout, viewerState.getPath(),
- getViewerJarEntryName(viewId));
+ getViewerJarEntryName(viewId), viewerType);
}
else
{
- Cache.log.error("Failed to save viewer state for "
- +
- viewFrame.getViewerType().toString());
+ Cache.log.error(
+ "Failed to save viewer state for " + viewerType);
}
}
}
if (!pdbfiles.contains(pdbId))
{
pdbfiles.add(pdbId);
- copyFileToJar(jout, matchedFile, pdbId);
+ copyFileToJar(jout, matchedFile, pdbId, pdbId);
}
}
if (colourScheme instanceof jalview.schemes.UserColourScheme)
{
- jGroup.setColour(
- setUserColourScheme(colourScheme, userColours,
- object));
+ jGroup.setColour(setUserColourScheme(colourScheme,
+ userColours, object));
}
else
{
}
}
- //jms.setJGroup(groups);
+ // jms.setJGroup(groups);
Object group;
for (JGroup grp : groups)
{
* save any filter for the feature type
*/
FeatureMatcherSetI filter = fr.getFeatureFilter(featureType);
- if (filter != null) {
- Iterator<FeatureMatcherI> filters = filter.getMatchers().iterator();
+ if (filter != null)
+ {
+ Iterator<FeatureMatcherI> filters = filter.getMatchers()
+ .iterator();
FeatureMatcherI firstFilter = filters.next();
- setting.setMatcherSet(Jalview2XML.marshalFilter(
- firstFilter, filters, filter.isAnded()));
+ setting.setMatcherSet(Jalview2XML.marshalFilter(firstFilter,
+ filters, filter.isAnded()));
}
/*
setting.setDisplay(
av.getFeaturesDisplayed().isVisible(featureType));
- float rorder = fr
- .getOrder(featureType);
+ float rorder = fr.getOrder(featureType);
if (rorder > -1)
{
setting.setOrder(rorder);
Group g = new Group();
g.setName(grp);
g.setDisplay(((Boolean) fr.checkGroupVisibility(grp, false))
- .booleanValue());
+ .booleanValue());
// fs.addGroup(g);
fs.getGroup().add(g);
groupsAdded.addElement(grp);
// using save and then load
try
{
- fileName = fileName.replace('\\', '/');
+ fileName = fileName.replace('\\', '/');
System.out.println("Writing jar entry " + fileName);
JarEntry entry = new JarEntry(fileName);
jout.putNextEntry(entry);
String varnaStateFile = varna.getStateInfo(model.rna);
jarEntryName = RNA_PREFIX + viewId + "_" + nextCounter();
- copyFileToJar(jout, varnaStateFile, jarEntryName);
+ copyFileToJar(jout, varnaStateFile, jarEntryName, "Varna");
rnaSessions.put(model, jarEntryName);
}
SecondaryStructure ss = new SecondaryStructure();
* @param jout
* @param infilePath
* @param jarEntryName
+ * @param msg
+ * additional identifying info to log to the console
*/
protected void copyFileToJar(JarOutputStream jout, String infilePath,
- String jarEntryName)
+ String jarEntryName, String msg)
{
try (InputStream is = new FileInputStream(infilePath))
{
File file = new File(infilePath);
if (file.exists() && jout != null)
{
- System.out.println("Writing jar entry " + jarEntryName);
+ System.out.println(
+ "Writing jar entry " + jarEntryName + " (" + msg + ")");
jout.putNextEntry(new JarEntry(jarEntryName));
copyAll(is, jout);
jout.closeEntry();
}
/**
- * Write the data to a new entry of given name in the output jar file
- *
- * @param jout
- * @param jarEntryName
- * @param data
- * @throws IOException
- */
- protected void writeJarEntry(JarOutputStream jout, String jarEntryName,
- byte[] data) throws IOException
- {
- if (jout != null)
- {
- jarEntryName = jarEntryName.replace('\\','/');
- System.out.println("Writing jar entry " + jarEntryName);
- jout.putNextEntry(new JarEntry(jarEntryName));
- DataOutputStream dout = new DataOutputStream(jout);
- dout.write(data, 0, data.length);
- dout.flush();
- jout.closeEntry();
- }
- }
-
- /**
* Copies input to output, in 4K buffers; handles any data (text or binary)
*
* @param in
* @param viewFrame
* @return
*/
- protected String saveStructureState(AlignmentPanel ap, SequenceI jds,
+ protected String saveStructureViewer(AlignmentPanel ap, SequenceI jds,
Pdbids pdb, PDBEntry entry, List<String> viewIds,
String matchedFile, StructureViewerBase viewFrame)
{
final PDBEntry pdbentry = bindingModel.getPdbEntry(peid);
final String pdbId = pdbentry.getId();
if (!pdbId.equals(entry.getId())
- && !(entry.getId().length() > 4 && entry.getId().toLowerCase()
- .startsWith(pdbId.toLowerCase())))
+ && !(entry.getId().length() > 4 && entry.getId().toLowerCase(Locale.ROOT)
+ .startsWith(pdbId.toLowerCase(Locale.ROOT))))
{
/*
* not interested in a binding to a different PDB entry here
{
if (calcIdParam.getVersion().equals("1.0"))
{
- final String[] calcIds = calcIdParam.getServiceURL().toArray(new String[0]);
+ final String[] calcIds = calcIdParam.getServiceURL()
+ .toArray(new String[0]);
Jws2Instance service = Jws2Discoverer.getDiscoverer()
.getPreferredServiceFor(calcIds);
if (service != null)
dbref.setSource(ref.getSource());
dbref.setVersion(ref.getVersion());
dbref.setAccessionId(ref.getAccessionId());
+ dbref.setCanonical(ref.isCanonical());
if (ref instanceof GeneLocus)
{
dbref.setLocus(true);
}
if (ref.hasMap())
{
- Mapping mp = createVamsasMapping(ref.getMap(), parentseq,
- jds, recurse);
+ Mapping mp = createVamsasMapping(ref.getMap(), parentseq, jds,
+ recurse);
dbref.setMapping(mp);
}
vamsasSeq.getDBRef().add(dbref);
for (int i = 0; i < colours.length; i++)
{
Colour col = new Colour();
- col.setName(ResidueProperties.aa[i].toLowerCase());
+ col.setName(ResidueProperties.aa[i].toLowerCase(Locale.ROOT));
col.setRGB(jalview.util.Format.getHexString(colours[i]));
// jbucs.addColour(col);
jbucs.getColour().add(col);
return id;
}
- jalview.schemes.UserColourScheme getUserColourScheme(
- JalviewModel jm, String id)
+ jalview.schemes.UserColourScheme getUserColourScheme(JalviewModel jm,
+ String id)
{
List<UserColours> uc = jm.getUserColours();
UserColours colours = null;
-/*
+ /*
for (int i = 0; i < uc.length; i++)
{
if (uc[i].getId().equals(id))
break;
}
}
-*/
+ */
for (UserColours c : uc)
{
if (c.getId().equals(id))
newColours = new java.awt.Color[23];
for (int i = 0; i < 23; i++)
{
- newColours[i] = new java.awt.Color(Integer.parseInt(
- colours.getUserColourScheme().getColour().get(i + 24)
- .getRGB(),
- 16));
+ newColours[i] = new java.awt.Color(
+ Integer.parseInt(colours.getUserColourScheme().getColour()
+ .get(i + 24).getRGB(), 16));
}
ucs.setLowerCaseColours(newColours);
}
return af;
}
- @SuppressWarnings("unused")
- private jarInputStreamProvider createjarInputStreamProvider(final Object ofile) throws MalformedURLException {
+ @SuppressWarnings("unused")
+ private jarInputStreamProvider createjarInputStreamProvider(
+ final Object ofile) throws MalformedURLException
+ {
- // BH 2018 allow for bytes already attached to File object
- try {
- String file = (ofile instanceof File ? ((File) ofile).getCanonicalPath() : ofile.toString());
+ // BH 2018 allow for bytes already attached to File object
+ try
+ {
+ String file = (ofile instanceof File
+ ? ((File) ofile).getCanonicalPath()
+ : ofile.toString());
byte[] bytes = Platform.isJS() ? Platform.getFileBytes((File) ofile)
: null;
- URL url = null;
- errorMessage = null;
- uniqueSetSuffix = null;
- seqRefIds = null;
- viewportsAdded.clear();
- frefedSequence = null;
-
- if (file.startsWith("http://")) {
- url = new URL(file);
- }
- final URL _url = url;
- return new jarInputStreamProvider() {
-
- @Override
- public JarInputStream getJarInputStream() throws IOException {
- if (bytes != null) {
-// System.out.println("Jalview2XML: opening byte jarInputStream for bytes.length=" + bytes.length);
- return new JarInputStream(new ByteArrayInputStream(bytes));
- }
- if (_url != null) {
-// System.out.println("Jalview2XML: opening url jarInputStream for " + _url);
- return new JarInputStream(_url.openStream());
- } else {
-// System.out.println("Jalview2XML: opening file jarInputStream for " + file);
- return new JarInputStream(new FileInputStream(file));
- }
- }
-
- @Override
- public String getFilename() {
- return file;
- }
- };
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
+ URL url = null;
+ errorMessage = null;
+ uniqueSetSuffix = null;
+ seqRefIds = null;
+ viewportsAdded.clear();
+ frefedSequence = null;
+
+ if (HttpUtils.startsWithHttpOrHttps(file))
+ {
+ url = new URL(file);
+ }
+ final URL _url = url;
+ return new jarInputStreamProvider()
+ {
+
+ @Override
+ public JarInputStream getJarInputStream() throws IOException
+ {
+ if (bytes != null)
+ {
+ // System.out.println("Jalview2XML: opening byte jarInputStream for
+ // bytes.length=" + bytes.length);
+ return new JarInputStream(new ByteArrayInputStream(bytes));
+ }
+ if (_url != null)
+ {
+ // System.out.println("Jalview2XML: opening url jarInputStream for "
+ // + _url);
+ return new JarInputStream(_url.openStream());
+ }
+ else
+ {
+ // System.out.println("Jalview2XML: opening file jarInputStream for
+ // " + file);
+ return new JarInputStream(new FileInputStream(file));
+ }
+ }
+
+ @Override
+ public String getFilename()
+ {
+ return file;
+ }
+ };
+ } catch (IOException e)
+ {
+ e.printStackTrace();
+ return null;
+ }
+ }
/**
* Recover jalview session from a jalview project archive. Caller may
XMLStreamReader streamReader = XMLInputFactory.newInstance()
.createXMLStreamReader(jin);
javax.xml.bind.Unmarshaller um = jc.createUnmarshaller();
- JAXBElement<JalviewModel> jbe = um
- .unmarshal(streamReader, JalviewModel.class);
+ JAXBElement<JalviewModel> jbe = um.unmarshal(streamReader,
+ JalviewModel.class);
JalviewModel object = jbe.getValue();
if (true) // !skipViewport(object))
AlignFrame loadFromObject(JalviewModel jalviewModel, String file,
boolean loadTreesAndStructures, jarInputStreamProvider jprovider)
{
- SequenceSet vamsasSet = jalviewModel.getVamsasModel().getSequenceSet().get(0);
+ SequenceSet vamsasSet = jalviewModel.getVamsasModel().getSequenceSet()
+ .get(0);
List<Sequence> vamsasSeqs = vamsasSet.getSequence();
// JalviewModelSequence jms = object.getJalviewModelSequence();
if (tmpSeq.getStart() != jseq.getStart()
|| tmpSeq.getEnd() != jseq.getEnd())
{
- System.err.println(
- String.format("Warning JAL-2154 regression: updating start/end for sequence %s from %d/%d to %d/%d",
- tmpSeq.getName(), tmpSeq.getStart(),
- tmpSeq.getEnd(), jseq.getStart(),
- jseq.getEnd()));
+ System.err.println(String.format(
+ "Warning JAL-2154 regression: updating start/end for sequence %s from %d/%d to %d/%d",
+ tmpSeq.getName(), tmpSeq.getStart(), tmpSeq.getEnd(),
+ jseq.getStart(), jseq.getEnd()));
}
}
else
else
{
// defer to later
- frefedSequence.add(
- newAlcodMapRef(map.getDnasq(), cf, mapping));
+ frefedSequence
+ .add(newAlcodMapRef(map.getDnasq(), cf, mapping));
}
}
}
jaa.setCalcId(annotation.getCalcId());
if (annotation.getProperty().size() > 0)
{
- for (Annotation.Property prop : annotation
- .getProperty())
+ for (Annotation.Property prop : annotation.getProperty())
{
jaa.setProperty(prop.getName(), prop.getValue());
}
sg.setShowNonconserved(safeBoolean(jGroup.isShowUnconserved()));
sg.thresholdTextColour = safeInt(jGroup.getTextColThreshold());
// attributes with a default in the schema are never null
- sg.setShowConsensusHistogram(jGroup.isShowConsensusHistogram());
- sg.setshowSequenceLogo(jGroup.isShowSequenceLogo());
- sg.setNormaliseSequenceLogo(jGroup.isNormaliseSequenceLogo());
+ sg.setShowConsensusHistogram(jGroup.isShowConsensusHistogram());
+ sg.setshowSequenceLogo(jGroup.isShowSequenceLogo());
+ sg.setNormaliseSequenceLogo(jGroup.isNormaliseSequenceLogo());
sg.setIgnoreGapsConsensus(jGroup.isIgnoreGapsinConsensus());
if (jGroup.getConsThreshold() != null
&& jGroup.getConsThreshold().intValue() != 0)
if (addAnnotSchemeGroup)
{
// reconstruct the annotation colourscheme
- sg.setColourScheme(constructAnnotationColour(
- jGroup.getAnnotationColours(), null, al, jalviewModel, false));
+ sg.setColourScheme(
+ constructAnnotationColour(jGroup.getAnnotationColours(),
+ null, al, jalviewModel, false));
}
}
}
* @param av
* @param ap
*/
- protected void loadTrees(JalviewModel jm, Viewport view,
- AlignFrame af, AlignViewport av, AlignmentPanel ap)
+ protected void loadTrees(JalviewModel jm, Viewport view, AlignFrame af,
+ AlignViewport av, AlignmentPanel ap)
{
// TODO result of automated refactoring - are all these parameters needed?
try
for (int s = 0; s < structureStateCount; s++)
{
// check to see if we haven't already created this structure view
- final StructureState structureState = pdbid
- .getStructureState().get(s);
+ final StructureState structureState = pdbid.getStructureState()
+ .get(s);
String sviewid = (structureState.getViewId() == null) ? null
: structureState.getViewId() + uniqueSetSuffix;
jalview.datamodel.PDBEntry jpdb = new jalview.datamodel.PDBEntry();
colourByViewer &= structureState.isColourByJmol();
jmoldat.setColourByViewer(colourByViewer);
- if (jmoldat.getStateData().length() < structureState
- .getValue()/*Content()*/.length())
+ if (jmoldat.getStateData().length() < structureState.getValue()
+ /*Content()*/.length())
{
jmoldat.setStateData(structureState.getValue());// Content());
}
} catch (IllegalArgumentException | NullPointerException e)
{
// TODO JAL-3619 show error dialog / offer an alternative viewer
- Cache.log.error(
- "Invalid structure viewer type: " + type);
+ Cache.log.error("Invalid structure viewer type: " + type);
}
}
}
AlignFrame loadViewport(String file, List<JSeq> JSEQ,
- List<SequenceI> hiddenSeqs, AlignmentI al,
- JalviewModel jm, Viewport view, String uniqueSeqSetId,
- String viewId, List<JvAnnotRow> autoAlan)
+ List<SequenceI> hiddenSeqs, AlignmentI al, JalviewModel jm,
+ Viewport view, String uniqueSeqSetId, String viewId,
+ List<JvAnnotRow> autoAlan)
{
AlignFrame af = null;
af = new AlignFrame(al, safeInt(view.getWidth()),
- safeInt(view.getHeight()), uniqueSeqSetId, viewId)
-// {
-//
-// @Override
-// protected void processKeyEvent(java.awt.event.KeyEvent e) {
-// System.out.println("Jalview2XML AF " + e);
-// super.processKeyEvent(e);
-//
-// }
-//
-// }
+ safeInt(view.getHeight()), uniqueSeqSetId, viewId)
+ // {
+ //
+ // @Override
+ // protected void processKeyEvent(java.awt.event.KeyEvent e) {
+ // System.out.println("Jalview2XML AF " + e);
+ // super.processKeyEvent(e);
+ //
+ // }
+ //
+ // }
;
af.setFileName(file, FileFormat.Jalview);
viewport.setColourText(safeBoolean(view.isShowColourText()));
- viewport
- .setConservationSelected(
- safeBoolean(view.isConservationSelected()));
+ viewport.setConservationSelected(
+ safeBoolean(view.isConservationSelected()));
viewport.setIncrement(safeInt(view.getConsThreshold()));
viewport.setShowJVSuffix(safeBoolean(view.isShowFullId()));
viewport.setRightAlignIds(safeBoolean(view.isRightAlignIds()));
af.changeColour(cs);
viewport.setColourAppliesToAllGroups(true);
- viewport
- .setShowSequenceFeatures(
- safeBoolean(view.isShowSequenceFeatures()));
+ viewport.setShowSequenceFeatures(
+ safeBoolean(view.isShowSequenceFeatures()));
viewport.setCentreColumnLabels(view.isCentreColumnLabels());
viewport.setIgnoreGapsConsensus(view.isIgnoreGapsinConsensus(), null);
.getFeatureRenderer();
FeaturesDisplayed fdi;
viewport.setFeaturesDisplayed(fdi = new FeaturesDisplayed());
- String[] renderOrder = new String[jm.getFeatureSettings()
- .getSetting().size()];
+ String[] renderOrder = new String[jm.getFeatureSettings().getSetting()
+ .size()];
Map<String, FeatureColourI> featureColours = new Hashtable<>();
Map<String, Float> featureOrder = new Hashtable<>();
- for (int fs = 0; fs < jm.getFeatureSettings()
- .getSetting().size(); fs++)
+ for (int fs = 0; fs < jm.getFeatureSettings().getSetting()
+ .size(); fs++)
{
Setting setting = jm.getFeatureSettings().getSetting().get(fs);
String featureType = setting.getType();
.getMatcherSet();
if (filters != null)
{
- FeatureMatcherSetI filter = Jalview2XML
- .parseFilter(featureType, filters);
+ FeatureMatcherSetI filter = Jalview2XML.parseFilter(featureType,
+ filters);
if (!filter.isEmpty())
{
fr.setFeatureFilter(featureType, filter);
float max = setting.getMax() == null ? 1f
: setting.getMax().floatValue();
FeatureColourI gc = new FeatureColour(maxColour, minColour,
- maxColour,
- noValueColour, min, max);
+ maxColour, noValueColour, min, max);
if (setting.getAttributeName().size() > 0)
{
gc.setAttributeName(setting.getAttributeName().toArray(
}
else
{
- featureColours.put(featureType,
- new FeatureColour(maxColour));
+ featureColours.put(featureType, new FeatureColour(maxColour));
}
renderOrder[fs] = featureType;
if (setting.getOrder() != null)
}
}
}
+
/**
*
* @param vamsasSeq
{
entry.setMap(addMapping(dr.getMapping()));
}
+ entry.setCanonical(dr.isCanonical());
datasetSequence.addDBRef(entry);
}
}
* @param af
* @param jprovider
*/
- protected void createStructureViewer(
- ViewerType viewerType, final Entry<String, StructureViewerModel> viewerData,
+ protected void createStructureViewer(ViewerType viewerType,
+ final Entry<String, StructureViewerModel> viewerData,
AlignFrame af, jarInputStreamProvider jprovider)
{
final StructureViewerModel viewerModel = viewerData.getValue();
{
String viewerJarEntryName = getViewerJarEntryName(
viewerModel.getViewId());
- sessionFilePath = copyJarEntry(jprovider,
- viewerJarEntryName,
+ sessionFilePath = copyJarEntry(jprovider, viewerJarEntryName,
"viewerSession", ".tmp");
}
final String sessionPath = sessionFilePath;
addNewStructureViewer(sview);
} catch (OutOfMemoryError ex)
{
- new OOMWarning("Restoring structure view for "
- + viewerType,
+ new OOMWarning("Restoring structure view for " + viewerType,
(OutOfMemoryError) ex.getCause());
if (sview != null && sview.isVisible())
{
String state = svattrib.getStateData(); // Jalview < 2.9
if (state == null || state.isEmpty()) // Jalview >= 2.9
{
- state = readJarEntry(jprovider,
- getViewerJarEntryName(svattrib.getViewId()));
+ String jarEntryName = getViewerJarEntryName(svattrib.getViewId());
+ state = readJarEntry(jprovider, jarEntryName);
}
// TODO or simpler? for each key in oldFiles,
// replace key.getPath() in state with oldFiles.get(key).getFilePath()
String reformatedOldFilename = oldfilenam.replaceAll("/", "\\\\");
filedat = oldFiles.get(new File(reformatedOldFilename));
}
- rewritten
- .append(Platform.escapeBackslashes(filedat.getFilePath()));
+ rewritten.append(Platform.escapeBackslashes(filedat.getFilePath()));
rewritten.append("\"");
cp = ecp + 1; // advance beyond last \" and set cursor so we can
// look for next file statement.
{
// add pdb files that should be present in the viewer
StructureData filedat = oldFiles.get(id);
- rewritten.append(filedat.getFilePath()).append(" \"")
- .append(filedat.getFilePath()).append("\"");
+ rewritten.append(" \"").append(filedat.getFilePath()).append("\"");
}
rewritten.append(";");
}
* @param fcol
* @return
*/
- public static Colour marshalColour(
- String featureType, FeatureColourI fcol)
+ public static Colour marshalColour(String featureType,
+ FeatureColourI fcol)
{
Colour col = new Colour();
if (fcol.isSimpleColour())
boolean and)
{
jalview.xml.binding.jalview.FeatureMatcherSet result = new jalview.xml.binding.jalview.FeatureMatcherSet();
-
+
if (filters.hasNext())
{
/*
}
result.setMatchCondition(matcherModel);
}
-
+
return result;
}
* @param matcherSetModel
* @return
*/
- public static FeatureMatcherSetI parseFilter(
- String featureType,
+ public static FeatureMatcherSetI parseFilter(String featureType,
jalview.xml.binding.jalview.FeatureMatcherSet matcherSetModel)
{
FeatureMatcherSetI result = new FeatureMatcherSet();
featureType, e.getMessage()));
// return as much as was parsed up to the error
}
-
+
return result;
}
* @throws IllegalStateException
* if AND and OR conditions are mixed
*/
- protected static void parseFilterConditions(
- FeatureMatcherSetI matcherSet,
+ protected static void parseFilterConditions(FeatureMatcherSetI matcherSet,
jalview.xml.binding.jalview.FeatureMatcherSet matcherSetModel,
boolean and)
{
else if (filterBy == FilterBy.BY_SCORE)
{
matchCondition = FeatureMatcher.byScore(cond, pattern);
-
+
}
else if (filterBy == FilterBy.BY_ATTRIBUTE)
{
matchCondition = FeatureMatcher.byAttribute(cond, pattern,
attNames);
}
-
+
/*
* note this throws IllegalStateException if AND-ing to a
* previously OR-ed compound condition, or vice versa
public static FeatureColourI parseColour(Colour colourModel)
{
FeatureColourI colour = null;
-
+
if (colourModel.getMax() != null)
{
Color mincol = null;
Color maxcol = null;
Color noValueColour = null;
-
+
try
{
mincol = new Color(Integer.parseInt(colourModel.getMinRGB(), 16));
{
Cache.log.warn("Couldn't parse out graduated feature color.", e);
}
-
+
NoValueColour noCol = colourModel.getNoValueColour();
if (noCol == NoValueColour.MIN)
{
{
noValueColour = maxcol;
}
-
+
colour = new FeatureColour(maxcol, mincol, maxcol, noValueColour,
safeFloat(colourModel.getMin()),
safeFloat(colourModel.getMax()));
Color color = new Color(Integer.parseInt(colourModel.getRGB(), 16));
colour = new FeatureColour(color);
}
-
+
return colour;
}
}